Python interface to (French) bank online credit card processing services
Go to file
Frédéric Péters 2ee8b2e5fd adapt for python3 compatibility 2018-07-25 10:13:27 +02:00
debian Add 'debian/' from commit '50ea90445844f6d1e4180dad992e31be997a5463' 2015-04-02 19:32:22 +02:00
eopayment ogone: mark status 95 as success (#24287) 2018-06-05 13:45:04 +02:00
tests introduce a new "WAITING" status and use it for ogone (#19358) 2017-10-11 10:15:08 +02:00
.coveragerc add .coveragerc 2016-02-01 18:41:31 +01:00
.gitignore gitignore update (#7496) 2015-07-16 14:19:28 +02:00 distribute request & response 2015-07-17 10:52:51 +02:00
README.txt release 1.8 2016-04-20 17:20:54 +02:00 jenkins: install latest pylint 2016-08-23 08:00:52 +02:00 adapt for python3 compatibility 2018-07-25 10:13:27 +02:00
tox.ini refactor tests around py.test 2016-02-01 18:40:46 +01:00


Interface with French's bank online credit card processing services

Services supported are:
- ATOS/SIPS used by:
  - BNP under the name Mercanet,
  - Banque Populaire (before 2010/2011) under the name Cyberplus,
  - CCF under the name Elysnet,
  - HSBC under the name Elysnet,
  - Crédit Agricole under the name e-Transactions,
  - La Banque Postale under the name ScelliusNet,
  - LCL under the name Sherlocks,
  - Société Générale under the name Sogenactif
  - and Crédit du Nord under the name Webaffaires,
- SystemPay by Banque Populaire (since 2010/2011) and Caisse d'Épargne
- Ogone
- Paybox
- SPPlus by Caisse d'épargne (obsolete)
- Payzen

You can emit payment request under a simple API which takes as input a
dictionnary as configuration and an amount to pay. You get back a
transaction_id. Another unique API allows to handle the notifications coming
from those services, reporting whether the transaction was successful and which
one it was. The full content (which is specific to the service) is also
reported for logging purpose.

The spplus and paybox module also depend upon the python Crypto library for DES
decoding of the merchant key and RSA signature validation on the responses.

Some backends allow to specify the order and transaction ids in different
fields, in order to allow to match them in payment system backoffice. They are:
- Payzen
- SystemPay

For other backends, the order and transaction ids, separated by '!' are sent in
order id field, so they can be matched in backoffice.


- fix UTF-8 character in non unicode log message

- check responses and raise ResponseError when theyr are malformed

- fix payzen service_url
- rationalize Payment object constructors

- uniformize constructors
- fix service_url in the payzen backend

- add sips2 backend to conform with version 2.3 of their interface

- add payzen backend