This release is a pre-release and may not be stable for production use.
from garpix_order.models import BaseOrder, BaseOrderItem, BasePayment
class Order(BaseOrder):
pass
class Service(BaseOrderItem):
def pay(self):
pass
class Invoice(BasePayment):
pass
BaseOrder - основной класс заказа.
items - метод для получения связанных OrderItem.
items_amount - метод для получения суммы оплаты.
BaseOrderItem - части заказа. В один заказ можно положить несколько сущностей.
pay - метод вызовет у всех BaseOrderItem, когда оплачивается заказ.
full_amount - метод возвращает полную сумма заказа.
Invoice - Основная модель для отслеживания статуса оплаты (транзакция). Содержит status с типом FSM.
Эквайринг Сбер
BaseSberPayment Абстрактная модель для платежей Сбера. Для работы необходимо создать свою модель-наследник, затем указать путь до нее в settings.py, например:
SBER_PAYMENT_MODEL = 'path.to.your.app.models.SberPaymentModel'
Методы для создания платежа, получение его данных от провайдера и callback находятся в garpix_order.services.sber.SberService.
Логирование ошибок при запросах к эквайрингу (на данный момент поддерживается только в SberService)
Пример добавления логирования в settings.py с использованием библиотеки python-json-logger:
pip install python-json-logger
from garpix_order.logging.filters import PaymentAuthDataFilter
LOGGING = {
"version": 1,
"disable_existing_loggers": False,
"filters": {
"payment_auth_data_filter": {
"()": PaymentAuthDataFilter,
}
},
"formatters": {
"json": {
"format": "%(asctime)s %(levelname)s %(message)s %(module)s",
"datefmt": "%Y-%m-%dT%H:%M:%SZ",
"class": "pythonjsonlogger.jsonlogger.JsonFormatter",
}
},
"handlers": {
"stdout": {
"class": "logging.StreamHandler",
"stream": "ext://sys.stdout",
"formatter": "json",
"filters": ["payment_auth_data_filter"],
}
},
"loggers": {"garpix_order.services.sber": {"handlers": ["stdout"], "level": "INFO", "propagate": False}},
}
Metadata
Release files for garpix-order 1.0.0rc9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| garpix_order-1.0.0rc9.tar.gz | 56.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| garpix_order-1.0.0rc9-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 151.4 kB
Release files / garpix_order-1.0.0rc9.tar.gz
| Download URL | garpix_order-1.0.0rc9.tar.gz |
|---|---|
| Size | 56.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d7f9ec08756df9e86b1cfb5fb39d1064a7473b49f25f3661a4233845b432015a
|
|
BLAKE2b-256 checksum How to use checksums |
6f5efb09c7c3d2b9128867329fbbf9567a6d8cfc48926b942a80d458dd1cccf7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/6.0.0 pkginfo/1.9.6 requests/2.28.2 requests-toolbelt/0.10.1 tqdm/4.64.1 CPython/3.8.19
|
Release files / garpix_order-1.0.0rc9-py3-none-any.whl
| Download URL | garpix_order-1.0.0rc9-py3-none-any.whl |
|---|---|
| Size | 95.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ff40a4186f0bac37041a77791a34090edc121cebe9c05b1b0f608980089ae8c2
|
|
BLAKE2b-256 checksum How to use checksums |
c288a5f1840e3447384702de2fbde5155c7ba843feed7c1be89e1c53e0e95a52
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/6.0.0 pkginfo/1.9.6 requests/2.28.2 requests-toolbelt/0.10.1 tqdm/4.64.1 CPython/3.8.19
|