2017-03-15 36 views
0

根據文檔,我瞭解的是,當我們從託管公司中釋放資金時,如果我們爲Disbursement Exception設置webhook,那麼如果與子商家有任何問題,那麼它將通知我們。 Braintree會通過請求參數打到我們在控制面板中配置的端點url,我想找出引發子商戶問題的事務&。從this doc可以清楚地知道,他們將在請求參數中發送交易ID,但在文檔中的任何地方都沒有明確給出關於子商戶詳細信息的交易ID。Braintree Webhook支付失敗潛入

我試過甚至sample payload,有效載荷不反映實際的請求參數。要知道自己是什麼參數將被布倫特裏時Disbursement Exception發生我創建了沙箱使用PHP SDK子商人與destinationBraintree_Test_MerchantAccount::$bankRejectedUpdateFundingInformation,在那之後我創建幾個銷售數據,其中資金必須從代管釋放到新創建的子商戶發送。從兩天開始,我在等待Braintree將在控制面板中配置終端URL,當它試圖向次級商戶發放資金時,但是Braintee永遠不會終點URL,並且仍然託管狀態爲Release Pending

我的問題在短:如何知道何時布倫特裏網絡掛接打端點URL是發生哪些子商戶支付的例外?

回答

0

全面披露:我在布倫特裏工作。如果您有任何其他問題,請隨時聯繫support

在發生支付異常的情況下,生成的webhook有效內容仍將包含一個disbursement對象。 發放對象有一個merchantAccount參數,其中包含有關其支付失敗,包括id的submerchant的商家帳戶ID的submerchant帳戶信息。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」。