Skip to main content

No project description provided

Project description

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}},
}

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

garpix_order-1.0.0rc9.tar.gz (56.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

garpix_order-1.0.0rc9-py3-none-any.whl (95.4 kB view details)

Uploaded Python 3

File details

Details for the file garpix_order-1.0.0rc9.tar.gz.

File metadata

  • Download URL: garpix_order-1.0.0rc9.tar.gz
  • Upload date:
  • Size: 56.0 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for garpix_order-1.0.0rc9.tar.gz
Algorithm Hash digest
SHA256 d7f9ec08756df9e86b1cfb5fb39d1064a7473b49f25f3661a4233845b432015a
MD5 36ccde16d255329e8ed6c96d155409f2
BLAKE2b-256 6f5efb09c7c3d2b9128867329fbbf9567a6d8cfc48926b942a80d458dd1cccf7

See more details on using hashes here.

File details

Details for the file garpix_order-1.0.0rc9-py3-none-any.whl.

File metadata

  • Download URL: garpix_order-1.0.0rc9-py3-none-any.whl
  • Upload date:
  • Size: 95.4 kB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for garpix_order-1.0.0rc9-py3-none-any.whl
Algorithm Hash digest
SHA256 ff40a4186f0bac37041a77791a34090edc121cebe9c05b1b0f608980089ae8c2
MD5 35e26c27f709600ac82b05682dbfdc4b
BLAKE2b-256 c288a5f1840e3447384702de2fbde5155c7ba843feed7c1be89e1c53e0e95a52

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page