Транзакции с подпиской Braintree, как определить, был ли пропущен биллинг?
Я использую Braintree Java SDK для подписок.
У меня есть объект подписки, я хотел бы получить список всех транзакций для этой подписки.
Я знаю, что есть метод с именем getTransactions()
но это не возвращает все транзакции, которые появляются в моем хранилище Braintree.
Может кто-нибудь сказать мне, как я могу получить список транзакций, включая пропущенные транзакции, где сумма была 0,0?
При просмотре подписки в хранилище Braintree вы можете увидеть статус "Пропущен биллинг", как я могу создать подобный список в моем собственном приложении с использованием Java? Как брейнтри это делает?
Список транзакций производится в хранилище Брейнтри
Спасибо за вашу помощь.
1 ответ
Полное раскрытие: я работаю в Braintree. Если у вас есть какие-либо дополнительные вопросы, не стесняйтесь обращаться в службу поддержки.
Если вы хотите отслеживать пропущенные платежные события через API Braintree, вы не сможете напрямую запросить объект подписки. Объекты подписки содержат массив связанных транзакций, однако это не будет сообщать о пропущенных событиях выставления счетов. Пропущенные при выставлении счетов события, которые вы видите на панели управления, являются артефактами, которые существуют только на панели управления и не доступны напрямую через API. API Braintree не разрешает транзакцию с нулевой суммой, поэтому в API нет средства для доставки этого события через объект транзакции.
Если вы хотите реализовать средство для определения того, когда подписка создает пропущенное событие выставления счетов полностью внутри API, мы рекомендуем использовать веб-зацепки Braintree и специально настроить синтаксический анализ для обнаружения webhook subscription_charged_successfully. Этот веб-крючок будет отправлен на URL вашего сервера для успешных транзакций, а также для выставления счетов за пропущенные события. Этот веб-крючок будет содержать метку времени, вид и объект подписки, для которого он был отправлен. Лучший способ использовать это для обнаружения пропущенного платежного события - сравнить временную метку от веб-крюка с первой транзакцией из массива транзакций объекта подписки (первая транзакция в массиве всегда будет самой последней транзакцией) и посмотреть на отметка времени созданной транзакции. Если даты не совпадают, вы узнаете, что этот веб-крючок был отправлен в результате пропущенного платежа.