Transactions Braintree订阅事务,如何检测是否跳过了计费?

Transactions Braintree订阅事务,如何检测是否跳过了计费?,transactions,braintree,subscriptions,braintree-data,braintree-sandbox,Transactions,Braintree,Subscriptions,Braintree Data,Braintree Sandbox,我正在使用braintree java sdk进行订阅 我有一个订阅对象,我想获取此订阅的所有事务的列表 我知道有一个名为getTransactions()的方法,但它不会返回braintree vault中显示的所有事务 谁能告诉我如何获得交易列表,包括金额为0.0的跳过交易 在braintree vault中查看订阅时,您可以看到状态“Billing Skipped”,我如何使用java在自己的应用程序中生成这样的列表?braintree是如何做到这一点的 谢谢你的帮助。完全披露:我在Br

我正在使用braintree java sdk进行订阅

我有一个订阅对象,我想获取此订阅的所有事务的列表

我知道有一个名为
getTransactions()
的方法,但它不会返回braintree vault中显示的所有事务

谁能告诉我如何获得交易列表,包括金额为0.0的跳过交易

在braintree vault中查看订阅时,您可以看到状态“Billing Skipped”,我如何使用java在自己的应用程序中生成这样的列表?braintree是如何做到这一点的

谢谢你的帮助。

完全披露:我在Braintree工作。如果您有任何进一步的问题,请随时联系

如果您想通过Braintree的API跟踪跳过的计费事件,您将无法直接查询订阅对象。订阅对象确实包含关联事务的数组,但是这不会报告跳过的计费事件。您在控制面板中看到的计费跳过事件是仅存在于控制面板中的工件,不能通过API直接使用。Braintree的API不允许,因此没有通过API中的事务对象传递此事件的方法


如果您想实现一种方法来检测订阅何时完全在API中创建跳过的计费事件,我们建议使用Braintree webhook并专门设置解析来检测订阅\u收费\u webhook。此webhook将被发送到服务器的URL,以获得成功的事务以及计费跳过的事件。这个webhook本身将包含一个时间戳、种类和它所发送的订阅对象。使用此方法检测计费跳过事件的最佳方法是将webhook中的时间戳与订阅对象的事务数组中的第一个事务进行比较(数组中的第一个事务始终是最新的事务),并查看事务在时间戳处创建的\u。如果日期不匹配,则您将知道此webhook是由于计费跳过事件而发送的

如果我错了,请纠正我。您应该将订阅的更新的_at字段与最新事务的创建的_at字段进行比较。我在沙盒环境中的测试为我提供了时间戳为2018-08-23T13:01:26Z的webhook,最新的事务创建时间为2018-08-23T13:01:25Z,这不是完全匹配的。