0

我正在使用braintree java sdk进行订阅。如何检测帐单是否被跳过?

我有一个订阅对象,我想获得此订阅的所有交易列表。

我知道有一个名为getTransactions()的方法,但是这不会返回出现在我的braintree库中的所有事务。

任何人都可以告诉我如何获得交易清单,包括金额为0.0的跳过交易吗?

当在braintree库中查看子脚本时,您可以看到状态“Billing Skipped”,如何在我自己的应用程序中使用java产生像这样的列表? braintree如何做到这一点?

Transactions List Produced In Braintree Vault

感谢您的帮助。

回答

0

完全披露:我在布伦特里工作。如果您有任何其他问题,请随时联系support

如果您想通过Braintree的API跟踪跳过的结算事件,您将无法直接为它查询订阅对象。订阅对象确实包含关联事务的数组,但是这不会报告跳过的计费事件。您在控制面板中看到的结算跳过事件是仅存在于控制面板中的工件,并且无法直接通过API访问。 Braintree的API不允许zero amount transaction,所以没有办法通过API中的事务对象传递此事件。

如果您希望实施一种方法来检测订阅是否在API中完全创建了跳过的结算事件,我们建议您使用Braintree webhooks,并专门设置解析来检测subscription_charged_successfully webhook。这个webhook将被发送到您的服务器的URL,以便成功的交易以及计费跳过的事件。这个webhook本身将包含一个时间戳,种类和它被发送的订阅对象。使用这种方法检测结算跳过事件的最好方法是比较webhook的时间戳和订阅对象的事务数组中的第一个事务的时间戳(数组中的第一个事务将始终是最新事务),然后查看事务的created_at时间戳。如果日期不匹配,那么您就会知道该webhook是由于结算跳过事件而发送的。