This module is a payment backend module for django-SHOP (https://github.com/divio/django-shop), using Viveum (https://viveum.v-psp.com) as the shops payment service provider. It can be used for credit card and other kind of payments.
Currently only payment methods are implemented, which do not require a PCI DSS certification (https://www.pcisecuritystandards.org/) for your shop. This means that your shop never "sees" the credit card numbers, and thus can not store and in consequence abuse them.
pip install django-shop-viveum
Get in touch with Viveum and ask for a test account. They will send you an identifier and a password. Use the given values and log into https://viveum.v-psp.com/ncol/test/admin_viveum.asp this will bring you into an admin backend. All the relevant settings required to configure this module can be fetched from the menu item Configuration > Technical information > Global security parameters:
Generate a 16 digit SHA-IN and a 12 digit SHA-OUT random pass phrase (base64 and /dev/urandom are your friends) and copy them into the given fields at Configuration > Technical information > Data and origin verification > SHA-IN pass phrase:
**Configuration > Technical information > Transaction feedback**::
YES, I would like to receive transaction feedback parameters on the redirection URLs. YES, I would like VIVEUM to display a short text to the customer on the secure payment page Timing of the request: Always online Request method: GET Dynamic e-Commerce parameters Selected:ACCEPTANCE AMOUNT BRAND CARDNO CN CURRENCY IP NCERROR ORDERID PAYID STATUS
SHA-OUT pass phrase: (as above)
In order to run the unit tests, you must install an additional Python package, which is not required for normal operation:
pip install requests
Unfortunately there might be an unresolved issue with SSL on requests. Please read docs/ssl-problem.rst for details.
Run ./runtests.sh. If everything worked fine, you should receive two emails, one for a successful, and one for a declined payment. If there is an error, check the error log at the Viveum admin interface.
During manual testing, you may not want to use a real credit card number. Here are a few official credit card numbers for testing:
- VISA: 4111111111111111 with any expiry date in the future and any 3 digit security code.
- A number of a "stolen" card: 4111113333333333 – payment shall be refused.
If all tests work fine, use these tested settings for your production environment.
In Viveums admin interface, transfer your test account settings to production.
In your project setting.py * add viveum, to INSTALLED_APPS. * add synthesa.payment.backends.ViveumPaymentBackend to SHOP_PAYMENT_BACKENDS. * copy the content of tests/viveum_settings.py into the settings.py file of
your project. In dict VIVEUM_PAYMENT change ORDER_STANDARD_URL to https://viveum.v-psp.com/ncol/prod/orderstandard_UTF8.asp
- 0.1.0: First release to the public.
- 0.3.2: Can distinguish between return status 5 and 9 and accept both.