A payment backend module for django-SHOP, using IPayment (https://ipayment.de) from the 1und1 company in Germany.
Project description
========================
django-shop-ipayment
========================
This module is a payment backend module for django-SHOP, using IPayment (https://ipayment.de)
from the 1und1 company in Germany. It can be used for credit card and other kind of payments.
Currently only IPayment's silent CGI mode is implemented, which does not require a PCI DSS
certification (https://www.pcisecuritystandards.org/) for your shop, because your software never
"sees" the credit card numbers. With this module your customer never visibly "leaves" your shop to
enter his credit card numbers. You are therefore in full control over all design aspects of the
payment process, something which for instance is not possible with PayPal.
Installation
=============
Clone this module from github::
git clone git@github.com:jrief/django-shop-ipayment.git
and move the sub-directory 'ipayment' into your projects path.
Configuration
=============
In settings.py
- add ‘ipayment’ to INSTALLED_APPS.
- add 'ipayment.offsite_backend.OffsiteIPaymentBackend' to SHOP_PAYMENT_BACKENDS.
- add the IPAYMENT configuration dictionary, see below.
With this configuration, all sensible data is passed to IPayment within the submission form as
hidden fields, but visible to the customer. In order to detect data manipulations a check-sum is
built using some of the sensible fields (trxUserId, trxPassword and more) together with the given
‘securityKey’.
IPAYMENT = {
'accountId': 99999,
'trxUserId': 99998,
'trxType': 'preauth', # details in ipayment_Technik-Handbuch_2010-03.pdf (Seite 13-15)
'trxPassword': '0',
'trxCurrency': 'EUR',
'trxPaymentType': 'cc', # payment type credit card
'adminActionPassword': '5cfgRT34xsdedtFLdfHxj7tfwx24fe',
'useSessionId': False,
'securityKey': 'testtest',
'invoiceText': 'Example-Shop Invoice: %s', # The text shown on the customers credit card roll
}
With this configuration, all sensible data (trxUserId, trxPassword and more) are passed to IPayment
using a separate SOAP call, invoked from the shop's web-application. This method requires that your
shop can speak HTTP to the outside world. Whenever possible, use this configuration, because it is
safer.
IPAYMENT = {
'accountId': 99999,
'trxUserId': 99999,
'trxType': 'preauth', # details in ipayment_Technik-Handbuch_2010-03.pdf (Seite 13-15)
'trxPassword': '0',
'trxCurrency': 'EUR',
'trxPaymentType': 'cc', # payment type credit card
'adminActionPassword': '5cfgRT34xsdedtFLdfHxj7tfwx24fe',
'useSessionId': True,
'invoiceText': 'Example-Shop Invoice: %s', # The text shown on the customers credit card roll
}
All the given values from these sample configurations work on the IPayment's sandbox. Thus these
values are immediately suitable to check functionality without the need of setting up an account at
IPayment. If you register for IPayment, you get access to a configuration interface and other values
will be assigned to your shop.
Implementation
=============
Note that IPayment contacts your web-server in order to confirm payments. Therefore during testing
make sure, that your django-SHOP is reachable from the Internet with a name resolvable by DNS.
TODO
=============
Unit tests have to be written.
IPayment offers a lot of different payment options, some of which require a PCI DSS certification
and communicate using SOAP. Currently I have no plans to support these.
CHANGES
=============
0.0.3
django-shop-ipayment is able to pass sensible data to IPayment and gets a session key on return.
This key then is used in the customers payment form, instead of passing sensible data.
Contributing
=============
Feel free to post any comment or suggestion for this project on the django-shop
mailing list at https://groups.google.com/forum/#!forum/django-shop
Have fun!
Jacob
django-shop-ipayment
========================
This module is a payment backend module for django-SHOP, using IPayment (https://ipayment.de)
from the 1und1 company in Germany. It can be used for credit card and other kind of payments.
Currently only IPayment's silent CGI mode is implemented, which does not require a PCI DSS
certification (https://www.pcisecuritystandards.org/) for your shop, because your software never
"sees" the credit card numbers. With this module your customer never visibly "leaves" your shop to
enter his credit card numbers. You are therefore in full control over all design aspects of the
payment process, something which for instance is not possible with PayPal.
Installation
=============
Clone this module from github::
git clone git@github.com:jrief/django-shop-ipayment.git
and move the sub-directory 'ipayment' into your projects path.
Configuration
=============
In settings.py
- add ‘ipayment’ to INSTALLED_APPS.
- add 'ipayment.offsite_backend.OffsiteIPaymentBackend' to SHOP_PAYMENT_BACKENDS.
- add the IPAYMENT configuration dictionary, see below.
With this configuration, all sensible data is passed to IPayment within the submission form as
hidden fields, but visible to the customer. In order to detect data manipulations a check-sum is
built using some of the sensible fields (trxUserId, trxPassword and more) together with the given
‘securityKey’.
IPAYMENT = {
'accountId': 99999,
'trxUserId': 99998,
'trxType': 'preauth', # details in ipayment_Technik-Handbuch_2010-03.pdf (Seite 13-15)
'trxPassword': '0',
'trxCurrency': 'EUR',
'trxPaymentType': 'cc', # payment type credit card
'adminActionPassword': '5cfgRT34xsdedtFLdfHxj7tfwx24fe',
'useSessionId': False,
'securityKey': 'testtest',
'invoiceText': 'Example-Shop Invoice: %s', # The text shown on the customers credit card roll
}
With this configuration, all sensible data (trxUserId, trxPassword and more) are passed to IPayment
using a separate SOAP call, invoked from the shop's web-application. This method requires that your
shop can speak HTTP to the outside world. Whenever possible, use this configuration, because it is
safer.
IPAYMENT = {
'accountId': 99999,
'trxUserId': 99999,
'trxType': 'preauth', # details in ipayment_Technik-Handbuch_2010-03.pdf (Seite 13-15)
'trxPassword': '0',
'trxCurrency': 'EUR',
'trxPaymentType': 'cc', # payment type credit card
'adminActionPassword': '5cfgRT34xsdedtFLdfHxj7tfwx24fe',
'useSessionId': True,
'invoiceText': 'Example-Shop Invoice: %s', # The text shown on the customers credit card roll
}
All the given values from these sample configurations work on the IPayment's sandbox. Thus these
values are immediately suitable to check functionality without the need of setting up an account at
IPayment. If you register for IPayment, you get access to a configuration interface and other values
will be assigned to your shop.
Implementation
=============
Note that IPayment contacts your web-server in order to confirm payments. Therefore during testing
make sure, that your django-SHOP is reachable from the Internet with a name resolvable by DNS.
TODO
=============
Unit tests have to be written.
IPayment offers a lot of different payment options, some of which require a PCI DSS certification
and communicate using SOAP. Currently I have no plans to support these.
CHANGES
=============
0.0.3
django-shop-ipayment is able to pass sensible data to IPayment and gets a session key on return.
This key then is used in the customers payment form, instead of passing sensible data.
Contributing
=============
Feel free to post any comment or suggestion for this project on the django-shop
mailing list at https://groups.google.com/forum/#!forum/django-shop
Have fun!
Jacob
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file django-shop-ipayment-0.0.3.tar.gz
.
File metadata
- Download URL: django-shop-ipayment-0.0.3.tar.gz
- Upload date:
- Size: 11.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8830cc0b2c12548e6b42db34c159ff5f959757be0f7477f2912330fc6ecf1974 |
|
MD5 | 2f20bd61c80508df65193ac6d65fe004 |
|
BLAKE2b-256 | ee9dd09bb4b1540d80fa1ffd4222b46c95315dd0063318dbad43d2ff662acbe1 |