Description
Should work with all i**2XX device equipped with Telium Manager app. Feel free to repport issue if your device isn't compatible with this package.
pyTeliumManager alternatives and similar packages
Based on the "Hardware" category.
Alternatively, view pyTeliumManager alternatives based on common mentions on social networks and blogs.
-
PyUserInput
A module for cross-platform control of the mouse and keyboard in python that is simple to install and use. -
BusyLight For Humans™
DISCONTINUED. Control USB connected presence lights from multiple vendors via the command-line or web API.
CodeRabbit: AI Code Reviews for Developers

* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of pyTeliumManager or a related project?
README
Welcome to Ingenico for Human 👋
One of the few library that help you use this kind of hardware
Python library to manipulate Ingenico mobile payment device equipped with Telium Manager. RS232/USB. Please note that every payment device with Telium Manager should, in theory, work with this.
PyPi
Python 2.7 support has been added to master branch since v2.3.0
pip install pyTeliumManager --upgrade
How to start using pyTeliumManager
# Import telium package
from telium import *
# Open device
my_device = Telium('/dev/ttyACM0')
# Construct our payment infos
my_payment = TeliumAsk.new_payment(
12.5,
payment_mode='debit', # other mode: credit or refund.
target_currency='EUR',
wait_for_transaction_to_end=True, # If you need valid transaction status
collect_payment_source_info=True, # If you need to identify payment source
force_bank_verification=False
)
# Send payment infos to device
try:
if not my_device.ask(my_payment):
print('Your device just refused your transaction. Try again.')
exit(1)
except TerminalInitializationFailedException as e:
print(format(e))
exit(2)
# Wait for terminal to answer
my_answer = my_device.verify(my_payment)
if my_answer is not None:
# Convert answered data to dict.
print(my_answer.__dict__)
# > {
# '_pos_number': '01',
# '_payment_mode': '1',
# '_currency_numeric': '978',
# '_amount': 12.5,
# '_private': '0000000000',
# 'has_succeeded': True,
# 'transaction_id': '0000000000',
# '_transaction_result': 0,
# '_repport': '4711690463168807000000000000000000000000000000000000000',
# '_card_type':
# {
# '_name': 'VISA',
# '_regex': '^4[0-9]{12}(?:[0-9]{3})?$',
# '_numbers': '4711690463168807',
# '_masked_numbers': 'XXXXXXXXXXXX8807'
# }
# }
if my_answer.has_succeeded:
print("Your payment has been processed using a {0} card. Id: {1}".format(my_answer.card_type.name, my_answer.card_type.numbers))
else:
print("Your payment was rejected. Try again if you wish to.")
How to enable computer liaison with Ingenico device
- Press "F" button
- Press 0 - Telium Manager
- Press 5 - Init
- Press 1 - Param
- Select - Checkout
- Select "Enable"
- Choose your preferred interface (USB, COM1, COM2)
Tested devices:
- Ingenico iWL250
- Ingenico iCT220
- Ingenico iCT250
Should work with all i**2XX device equipped with Telium Manager app. Feel free to repport issue if your device isn't compatible with this package.
Won't work
- All direct PinPad liaison, also known as iPP3XX. (see issue #2)
Q-A
Will this package cause loss of money in any way ?
- You shouldn't worry about that, I've deployed it for a different store in 2015. No loss has been reported yet.
- If you hesitate on how to use this package, feel free to ask me before using it.
My device isn't working with this package.
- Make sure you've followed How to enable computer liaison with Ingenico device steps above beforehand.
- If you're on Windows, make sure you've installed the correct driver.
- Try every COM port, one by one.
- On Linux it should be located at /dev/ttyACM0, if not run
ls -l /dev/tty* | grep ACM
to locate it.
Contributions
Feel free to propose pull requests. This project may be improved in many ways.
*Note that all licence references and agreements mentioned in the pyTeliumManager README section above
are relevant to that project's source code only.