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.
Using pip:
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:: Hash algorithm: SHA-1 Character encoding: UTF-8 Enable JavaScript check on template: Yes Allow usage of static template: Yes
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 thesettings.py
file of your project. In dictVIVEUM_PAYMENT
changeORDER_STANDARD_URL
tohttps://viveum.v-psp.com/ncol/prod/orderstandard_UTF8.asp
- add
- 0.1.0: First release to the public.
- 0.3.2: Can distinguish between return status 5 and 9 and accept both.