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
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
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:
SHA-OUT pass phrase: (as above)
Test the Configuration
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.
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.
Use these settings in your shop Configuration
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.
TODO: Brief introduction on what you do with files - including link to relevant help section.