django-multisafepay
Payment gateway integration for MultiSafepay. MultiSafepay is a large payment gateway based in The Netherlands that supports many international payment methods.
MultiSafepay offers two methods for payments, see https://www.multisafepay.com/en/Payment-services/:
Fast checkout requires customers to create a MultiSafePay account. You only have to pay a transaction fee, but the account system is not very user-friendly.
Connect provides direct payments. As a merchant, you have to pay a monthly subscription.
Installation
Install via pip:
pip install django-multisafepay
Configuration
In the MultiSafepay merchant site settings, add a new website. Use those settings to configure the application:
- MULTISAFEPAY_ACCOUNT_ID
The account ID, provided by MultiSafepay.
- MULTISAFEPAY_SITE_ID
The site ID, found in the MultiSafepay website settings panel.
- MULTISAFEPAY_SITE_CODE
The site security code, found in the MultiSafepay website settings panel.
- MULTISAFEPAY_TESTING
Whether or not to run in testing mode. Defaults to True.
Add to urls.py:
urlpatterns += patterns('',
url(r'^api/multisafepay/', include('django_multisafepay.urls')),
)
As recommendation, temporary log all events from this package as well:
LOGGING = {
# ...
'handlers': {
# ...
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
},
},
'loggers': {
# ...
'django_multisafepay': {
'handlers': ['console'],
'level': 'DEBUG',
'propagate': True,
},
},
}
Usage
Creating a new payment transaction:
from django_multisafepay.client import MultiSafepayClient
from django_multisafepay.data import Transaction, Customer
from django.shortcuts import redirect
def pay(request):
client = MultiSafepayClient()
reply = client.start_checkout(
transaction = Transaction(
),
customer = Customer(
)
)
return redirect(reply.payment_url)
For the Fast Checkout, use the start_checkout() method.
For the Connect method, use the redirect_transaction() method.
Both methods return an URL to redirect the user to.
Fetching status:
client = MultiSafepayClient() statusreply = client.status(self.transaction_id)
TODO
Integrate nicely in django-merchant or django-getpaid.
Not all XML features are implemented, e.g.:
checkout-shopping-cart
custom-fields
shipping
iDEAL issuers request (simple to add)
Release files for django-multisafepay 1.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| django-multisafepay-1.1.1.tar.gz | 17.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| django_multisafepay-1.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 39.9 kB
Release files / django-multisafepay-1.1.1.tar.gz
| Download URL | django-multisafepay-1.1.1.tar.gz |
|---|---|
| Size | 17.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
31fcda10cdcbbaf119235a30ffa43c100136bee77ccaad148299be0ee3deb2ed
|
|
BLAKE2b-256 checksum How to use checksums |
56c753fca41392e98a0907a111d8555991eab0670d16a40b896cfa1d47d3dcf6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/38.5.2 requests-toolbelt/0.8.0 tqdm/4.19.6 CPython/3.6.1
|
Release files / django_multisafepay-1.1.1-py3-none-any.whl
| Download URL | django_multisafepay-1.1.1-py3-none-any.whl |
|---|---|
| Size | 22.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
61cbe8afdd1028d2e62fc9ef14e2652d0a0e4b46395652e10981aa6e15a19c30
|
|
BLAKE2b-256 checksum How to use checksums |
3e73c738d1af6f2a43999138985ac3e722716080a2541fe24491ab4f641b7f72
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/38.5.2 requests-toolbelt/0.8.0 tqdm/4.19.6 CPython/3.6.1
|