【问题标题】:Braintree Webhook for Payment failure to Submerchant针对 Submerchant 付款失败的 Braintree Webhook
【发布时间】:2017-08-05 17:05:16
【问题描述】:

根据我所理解的文档,当我们从托管中释放资金时,如果我们为Disbursement Exception 设置网络挂钩,则如果子商户有任何问题,则会通知我们。 Braintree 将使用请求参数访问我们在控制面板中配置的端点 url,我想查找引发了哪些交易和子商户问题。从this doc 可以清楚地看到他们将在请求参数中发送的交易ID,但在文档中的任何地方都没有明确给出子商户的详细信息。

我什至尝试了sample payload,有效负载不反映实际的请求参数。为了了解自己在Disbursement Exception 发生时Braintree 将发送哪些参数,我使用PHP SDKdestination 作为Braintree_Test_MerchantAccount::$bankRejectedUpdateFundingInformation 在沙箱中创建了一个子商家,之后我创建了一些销售交易,其中资金必须从托管中释放新建子商户。从两天开始,我一直在等待 Braintree 将点击我在控制面板中配置的端点 url,当它尝试向子商户释放资金时,但 Braintee 从未点击过端点 url,并且托管状态仍然是 Release Pending

我的问题简而言之:当braintree webhook命中端点url时,如何知道发生了哪个子商户支付异常?

【问题讨论】:

    标签: php webhooks braintree braintree-sandbox


    【解决方案1】:

    全面披露:我在 Braintree 工作。如果您还有任何问题,请随时联系support

    在支付异常的情况下,生成的 webhook 有效负载仍将包含 disbursement 对象。 支付对象会有一个merchantAccount参数,其中包含支付失败的子商户账户信息,包括id,子商户的商户ID。 Here's the relevant page in the Braintree dev docs

    在代码中,如下所示:一旦你已经 parsed the webhook notification 并确认 $webhookNotification->kindBraintree_WebhookNotification::DISBURSEMENT_EXCEPTION,那么你可以使用

    $webhookNotification->disbursement->merchantAccount->id

    获取ID。在支付对象上,您还可以通过exceptionMessage获取失败的原因,通过transactionIds获取失败支付中的交易列表,并通过followUpAction获取建议的下一步。

    如果您使用的是最新版本的 Braintree PHP SDK(当前为 3.22.0),那么在示例通知中,$webhookNotification->disbursement->merchantAccount->id 将设置为“merchant_account_token”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-20
      • 2023-04-02
      • 2017-05-11
      • 2020-01-03
      • 2017-11-18
      • 1970-01-01
      • 2021-09-10
      • 2016-08-06
      相关资源
      最近更新 更多