This module is a pip package for implement API's payment service of Telr. in order to use this module you have to install it by pip command or through setup.
pip install telr_paymentImport package into your project by:
from telr_payment.api import Telrin order to use the module please consider looking at examples and documentations.
For easy implementations i have provided two simple examples, one for creating the transaction and one for checking which is like this
# order_sample.py
from telr_payment.api import Telr
from pprint import pprint
# if you dont want it to run in test mode change the test option according to docs
telr = Telr(auth_key = "YOUR_AUTH_KEY",store_id = "YOUR_STORE_ID",test=1)
order_response = telr.order(
order_id = "ORDER_ID_TOKEN",
amount=54.5,
return_url= "http://domain.com/path/to/url",
return_decl= "http://domain.com/path/to/url",
return_can= "http://domain.com/path/to/url",
description="testing"
)
pprint(order_response)# check_sample.py
from telr_payment.api import Telr
from pprint import pprint
# if you dont want it to run in test mode change the test option according to docs
telr = Telr(auth_key = "YOUR_AUTH_KEY",store_id = "YOUR_STORE_ID",test=1)
status_response = telr.status(
order_reference = "ORDER_REF_TOKEN"
)
pprint(status_response)The table of status of checking transaction
| Order Status | Description |
|---|---|
| 1 | Pending |
| 2 | Authorised (Transaction not captured, such as an AUTH transaction or a SALE transaction which has been placed on hold) |
| 3 | Paid (Transaction captured, SALE transaction, not placed on hold) |
| -1 | Expired |
| -2 | Cancelled |
| -3 | Declined |
| Card number | Type | CVV | MPI |
|---|---|---|---|
| 4000 0000 0000 0002 | Visa | 123 | No |
| 4111 1111 1111 1111 | Visa | 123 | Yes |
| 4444 3333 2222 1111 | Visa | 123 | Yes |
| 4444 4244 4444 4440 | Visa | 123 | Yes |
| 4444 4444 4444 4448 | Visa | 123 | Yes |
| 4012 8888 8888 1881 | Visa | 123 | Yes |
| 5105 1051 0510 5100 | Mastercard | 123 | No |
| 5454 5454 5454 5454 | Mastercard | 123 | Yes |
| 5555 5555 5555 4444 | Mastercard | 123 | Yes |
| 5555 5555 5555 5557 | Mastercard | 123 | Yes |
| 5581 5822 2222 2229 | Mastercard | 123 | Yes |
| 5641 8209 0009 7002 | Maestro UK | 123 | Yes |
| 6767 0957 4000 0005 | Solo | 123 | No |
| 3434 343434 34343 | American Express | 1234 | No |
| 3566 0020 2014 0006 | JCB | 123 | No |
| 3111 1111 1111 1111 | MADA | 123 | No |
The card security code (CVV) to use with the test cards is 123 (except for American Express, which should be 1234) for an authorised response, other codes will be declined.
Cards which show ‘Yes’ in the MPI column will use a simulated 3D Secure authentication page, allowing you to test the transaction flow when Verified by Visa or MasterCard SecureCode is used.
{'method': 'create',
'order': {'ref': 'ORDER_REF_TOKEN',
'url': 'https://secure.telr.com/gateway/process.html?o=ORDER_REF_TOKEN'},
'trace': 'xxxx/xxxx/xxxxxxxx'}{
"method":"create",
"error":{
"message":"Exx: Error Name",
"note":"Message according to error"
}
} {'method': 'check',
'order': {'amount': '4.50',
'card': {'country': 'AE',
'expiry': {'month': x, 'year': xxxx},
'first6': 'xxxxxx',
'last4': 'xxxx',
'type': 'Visa Credit'},
'cartid': 'ORDER_ID_TOKEN',
'currency': 'AED',
'customer': {'address': {'city': 'xxxxx',
'country': 'AE',
'line1': 'xxxx,xxx,xxx',
'mobile': '1234567890'},
'email': '[email protected]',
'name': {'forenames': 'FIRST_NAME', 'surname': 'LAST_NAME'}},
'description': 'testing',
'paymethod': 'Card',
'ref': 'ORDER_REF_TOKEN',
'status': {'code': 3, 'text': 'Paid'},
'test': 1,
'transaction': {'class': 'ECom',
'code': '924861',
'date': '04 Aug 2022 12:56 GST',
'message': 'Authorised',
'ref': 'REF_TOKEN',
'status': 'A',
'type': 'sale'}},
'trace': 'xxxx/xxxx/xxxxxxxx'}{'method': 'check',
'order': {'amount': '54.50',
'cartid': 'ORDER_ID_TOKEN',
'currency': 'AED',
'description': 'TRANSACTION_DESCRIPTION',
'ref': 'ORDER_REF_TOKEN',
'status': {'code': 1, 'text': 'Pending'},
'test': 1,
'url': 'https://secure.telr.com/gateway/process.html?o=ORDER_REF_TOKEN'},
'trace': 'xxxx/xxxx/xxxxxxxx'}{'method': 'check',
'order': {'amount': '54.50',
'cartid': 'ORDER_ID_TOKEN',
'currency': 'AED',
'description': 'TRANSACTION_DESCRIPTION',
'ref': 'ORDER_REF_TOKEN',
'status': {'code': -2, 'text': 'Cancelled'},
'test': 1},
'trace': 'xxxx/xxxx/xxxxxxxx'}