Skip to main content
Help us improve PyPI by participating in user testing. All experience levels needed!

TrustPay payments integration library.

Project description

TrustPay payment solution integration helpers.


$ pip install trustpaylib


Form approach

First merge payment request with environment variables, validate it and sign. trustpaylib.TrustPay.finalize_request returns prepared payment request. As form action use trustpay_client.environment.api_url.

>>> pay_request = trustpay_client.finalize_request(pay_request)
>>> trustpay_client.initial_data(pay_request)
{'AID': '9876543210', 'REF': u'1234567890', 'AMT': u'123.45', 'SIG': 'DF174E635DABBFF7897A82822521DD739AE8CC2F83D65F6448DD2FF991481EA3', 'CUR': u'EUR'}
>>> trustpay_client.environment.api_url

Redirects handling

There’s not much you can (or should) do with redirect.


Official TrustPay documentation: DO NOT PERFORM ANY ACTION ON THIS REDIRECT. Data is not signed and therefore cannot beconsidered as a verified payment result, such as the signed results sent to Notification URL or NotificationEmail.

But at least you can check the result code.

>>> # data received as get params to redirect
... redirect_data = {"REF": "1234567890", "RES": 3, "PID": "1212321"}
>>> redirect = trustpaylib.build_redirect(**redirect_data)
>>> trustpay_client.get_result_desc_from_redirect(redirect).short
>>> trustpay_client.get_result_desc_from_redirect(redirect).long
'Payment was successfully authorized. Another notification (with result code 0 - success) will be sent when TrustPay receives and processes payment from 3rd party.'

Notifications handling

For received notification, first check signature.

>>> notification_data = {
...     "AID": "1234567890",
...     "TYP": "CRDT",
...     "AMT": "123.45",
...     "CUR": "EUR",
...     "REF": "9876543210",
...     "RES": "0",
...     "TID": "11111",
...     "OID": "1122334455",
...     "TSS": "Y",
...     "SIG": (
...         "97C92D7A0C0AD99CE5DE55C3597D5ADA"
...         "0D423991E2D01938BC0F684244814A37"
...     ),
... }
>>> notification = trustpaylib.build_notification(**notification_data)
>>> assert trustpay_client.check_notification_signature(notification)

Then check result code.

>>> trustpay_client.get_result_desc_from_notification(notification).short
>>> trustpay_client.get_result_desc_from_notification(notification).long
'Payment was successfully processed.'

Project details

Release history Release notifications

This version
History Node


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
trustpaylib-0.0.1.tar.gz (8.7 kB) Copy SHA256 hash SHA256 Source None Jul 24, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page