Django integration for API "https://bw.gitbooks.io/api-oc/content/pay.html".
Project description
Simple django integration for API “Оплата Частями в Интернете”: Схема взаимодействия №1 (Создание платежа по сервису Оплата частями/Мгновенная рассрочка).
Installation
Install with pip:
$ pip install django-ok-payparts
Update INSTALLED_APPS:
INSTALLED_APPS = [
...
'payparts',
...
]
Add payparts.urls to your project urlpatterns:
urlpatterns = [
...
path('', include('payparts.urls')),
...
]
Make migrations:
$ python manage.py migrate
Available settings
PAYPARTS_API_PASSWORD - Password of your store.
PAYPARTS_API_STORE_ID - Your store’s ID.
PAYPARTS_API_URL - Url for creation of a payment. By default: https://payparts2.privatbank.ua/ipp/v2/.
PAYPARTS_API_REDIRECT_URL - Url to redirect after a success payment. By default: https://payparts2.privatbank.ua/ipp/v2/payment.
Usage
How to create a payment
Prepare your order’s data:
data = {
"order_id": f"order-123",
"amount": 400.00,
"parts_count": 2, # optional, default value is '2'
"merchant_type": "II", # optional, default value is 'II'
"products": [
{
"name": "Телевизор",
"count": 2,
"price": 100.00
},
{
"name": "Микроволновка",
"count": 1,
"price": 200.00
}
],
# also optional fields (can be set in your cabinet):
"response_url": "http://shop.com/response",
"redirect_url": "http://shop.com/redirect",
}
Get your redirect url:
from payparts.use_cases import GetRedirectUrlUseCase
redirect_url = GetRedirectUrlUseCase().execute(data)
Redirect a user to the url.
How to process a callback
Whenever a callback is processed a signal will be sent with the result of the transaction.
There are two signals (payparts.signals):
pay_parts_success_callback - if signature is valid.
pay_parts_invalid_callback - if signature is not valid.
Connect the signals to actions to perform the needed operations when a successful payment is received:
from payparts.signals import pay_parts_success_callback, pay_parts_invalid_callback
from orders.models import Order
def success_callback(sender, log, request, **kwargs):
# ensure success state
if log.is_success:
order = Order.objects.get(pk=log.order_id)
order.set_success_payment_state()
pay_parts_success_callback.connect(success_callback)
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
Built Distribution
File details
Details for the file django-ok-payparts-0.4.tar.gz
.
File metadata
- Download URL: django-ok-payparts-0.4.tar.gz
- Upload date:
- Size: 13.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.8.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 48cc6e4a858880a617cd464148049739c754ff4ced946c7a7a6e6ed9b59f0947 |
|
MD5 | e069c9f258f2699464110628bd06e744 |
|
BLAKE2b-256 | ad716e1d8af65a37fccbbaa374df51daefdb3c24a9b6a3c8233d774e76c39ed0 |
File details
Details for the file django_ok_payparts-0.4-py3-none-any.whl
.
File metadata
- Download URL: django_ok_payparts-0.4-py3-none-any.whl
- Upload date:
- Size: 19.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.8.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 589e99175e4220bb3a3b4425d869298f298a74d9cce8287d2ea932cdd4c33e35 |
|
MD5 | 1aa9e971c20939da31a5f3d7c270e762 |
|
BLAKE2b-256 | 12d2b941fa45e6cb4dbe1e7b42f566f631c7655b6114bfa55c147f26f862d928 |