Интеграция платежных систем для Django
Установите DjangoPay2:
pip install django_pay2
Добавьте приложение в INSTALLED_APPS:
INSTALLED_APPS = (
...
'django_pay2',
...
)
Добавьте Django Pay's URLы в urlpatterns:
urlpatterns = [
...
path('payments/', include('django_pay2.urls')),
...
]
Любой платеж создается методом create_<название-платежной-системы>_payment. Метод возвращает объект типа PaymentMethod. Существует два типа PaymentMethod — PaymentForm и RedirectMethod. Первый должен сериализовываться и отправляться на front. Второй можно либо также сериализовать и отправить на фронт, либо возвратить редирект.
Так же метод создает объект типа Payment. Эта модель отвечает за сохранение информации о платеже, а так же об объекте-инициаторе платежа. После успешной оплаты он отправляет сигнал payment_received привязанному объекту.
- [*] Сериализаторы для PaymentForm и RedirectMethod
- [ ] Интеграция с free_kassa
- [ ] handle_form_debug проверяет, что ему пришла валидная форма
- [*] Переписывание тестов на pytest
- [ ] Инструкция по написанию собственных провайдеров
- [ ] Инструкция по добавлению и настройке каждого провайдера
- [ ] Более подробная инструкция по использованию
- [*] Инструкция по увеличению версии
Установка development зависимостей
- ::
- pip install -r requirements_dev.txt
Запуск тестов
- ::
- tox
- Установить новую версию в pyproject.toml' и `__init__.py файлах
- poetry publish --build