Braintree:搜索交易以进行订阅

时间:2019-04-05 19:35:54

标签: braintree

我目前正在后端执行Braintree付款。

首先,我犯了一个错误,并开始实现从Webhooks到现在的一切。我的意思是,只要起作用,一切都会起作用。在那种情况下,我的后端将无法从某些情况下恢复。一个简单的例子:缺少一个Webhook来确认付款,这会触发我的计费程序。

无论如何,我目前(部分)从头开始。我希望我的后端始终能够从丢失的Webhook中恢复。只要您愿意,就不会触发故障安全,只要在Webhooks期间什么都没有中断或者我的服务器停机超过24小时即可。

为此,我需要能够同步Subscription状态以及提取所有Transactions。为了能够正确地向我的客户收费,这是必须的。

我正在计划要查看订阅的status的作业,假设它是null且创建于24小时前,我的服务器将询问BT该订阅有什么问题并更新结果。

到目前为止还不错,但是我正在努力寻找一种可靠地同步过去交易的方法。

我的想法是将last_transaction_date存储在我的subscription表中,并进行另一个(预定的)工作与paid_throuth_date进行比较。如果last_transaction_datepaid_through_date之前,我想获取受影响的订阅的丢失交易。

这部分的问题是,我似乎无法搜索特定订阅的交易:

TransactionSearchRequest transactionSearchRequest = new TransactionSearchRequest()
        //.subscriptionId(subscriptionId) <-- Non existent?
        .createdAt()
        .greaterThanOrEqualTo(lastTransactionDate);

那么去这里的路是什么?

我认为仅依靠网络钩子不是一个好主意-请告诉我我是否对此太担心,但是恕我直言,您永远都不知道服务器是否会停机24小时以上。

  

信息:Braintree将尝试在多长时间内到达您的服务器并获得HTTP 200响应。之后,它将停止sendind进一步的webhooks。

0 个答案:

没有答案