Вебхуки оплаты ЮKassa, IP-check, event log, idempotency и аварийный capture

Платежный код обычно выглядит ровным ровно до первого реального сбоя. Пока платежи идут по ожидаемому сценарию, кажется, что достаточно создать оплату, дождаться вебхука и обновить локальный статус. Но как только вебхук приходит повторно, приходит позже нужного, прилетает от не того IP, или удаленный платеж уже живет в одном статусе, а локальная база в другом, становится ясно, что платежный контур без защит почти всегда врет. Проблема в том, что вебхук нельзя считать истиной без проверки, нельзя применять без журнала событий, нельзя подтверждать capture случайным ключом, и нельзя оставлять систему без аварийного пути, если автоматический сценарий где-то разошелся. В одном из проектов этот узел был собран так, первый платеж создается с capture=False , входящий webhook проверяется по IP, каждое событие сначала пишется в журнал, потом маршрутизируется в обработчик, capture подтверждается стабильным idempotence key, успешный платеж валидируется по сумме, валюте и metadata, а на случай расхождения остается отдельный ручной confirm, который умеет дочитать фактический статус из ЮKassa и синхронизировать локальную базу. То есть задача тут не просто принять webhook, а построить платежный контур, которому можно верить.

https://habr.com/ru/articles/1044796/

#Django #Python #YooKassa #Webhooks #Idempotency #Payments #Recurring_Payments #API #Fullstack #Backend

Вебхуки оплаты ЮKassa, IP-check, event log, idempotency и аварийный capture

Платежный код обычно выглядит ровным ровно до первого реального сбоя. Пока платежи идут по ожидаемому сценарию, кажется, что достаточно создать оплату, дождаться вебхука и обновить локальный статус....

Хабр

Проснулся 1-го января и переписал библиотеку: релиз async_yookassa 1.0.0

Всем привет! Вчера я выпустил крупное обновление 1.0.0 для своей библиотеки async_yookassa — неофициального клиента для асинхронного взаимодействия с API ЮKassa. О том, что изменилось, зачем я вообще взялся её писать и почему официальный SDK может "убить" вашего бота — в этой статье.

https://habr.com/ru/articles/985434/

#async #юкасса #юkassa #yookassa #библиотека #релиз #платёжные_системы

Проснулся 1-го января и переписал библиотеку: релиз async_yookassa 1.0.0

Всем привет! Вчера я выпустил крупное обновление 1.0.0 для своей библиотеки async_yookassa — неофициального клиента для асинхронного взаимодействия с API ЮKassa. О том, что изменилось, зачем я вообще...

Хабр
ЮKassa для Phoca Cart

Плагин оплаты ЮKassa для Phoca Cart с поддержкой 54-ФЗ: отправка данных чека в ЮKassa для соответствия новым требованиям....