Что касается документации, то я понял, что когда мы освобождаем средства от условного депонирования, возникают ли какие-либо проблемы с суб-торговцем, если мы настраиваем веб-крючок для Disbursement Exception
тогда это будет сообщено нам. Braintree получит URL конечной точки, который мы настроили в панели управления с параметрами запроса, я хочу найти, для каких транзакций & вопрос субторговца поднят. От этот ясно, что идентификаторы транзакций они будут отправлять в параметрах запроса, но неясно указаны детали суб-мерчанта в любом месте документа.
Я пытался даже полезная нагрузка образца, полезная нагрузка не отражает фактические параметры запроса. Чтобы узнать, какие параметры будут отправлены Braintree, когда Disbursement Exception
происходит, я создал суб-торговца в песочнице, используя PHP SDK
с destination
как Braintree_Test_MerchantAccount::$bankRejectedUpdateFundingInformation
После этого я создал несколько сделок купли-продажи, по которым средства должны были быть переведены с условного депонирования, чтобы вновь создать суб-торговца Через два дня я ожидаю, что Braintree получит URL-адрес конечной точки, который я настроил в панели управления, когда он пытается высвободить средства для суб-мерчанта, но Braintee никогда не нажимает URL-адрес конечной точки и все еще находится в состоянии условного депонирования. Release Pending
,
Вкратце мой вопрос: Как узнать, для какого исключения выплаты суб-торговца происходит, когда веб-крючок Braintree достигает URL-адреса конечной точки?
Полное раскрытие: я работаю в Braintree. Если у вас есть дополнительные вопросы, не стесняйтесь обращаться служба поддержки.
В случае исключения выплаты итоговая полезная нагрузка webhook будет по-прежнему содержать disbursement
объект. Объект выплаты будет иметь merchantAccount
параметр, который содержит информацию о счете суб-продавца, для которого не удалось осуществить выплату, в том числе id
, идентификатор торгового счета субмаринта. Вот соответствующая страница в документации Braintree Dev.
В коде вот как это выглядит: проанализировал уведомление webhook и подтвердил, что $webhookNotification->kind
является Braintree_WebhookNotification::DISBURSEMENT_EXCEPTION
тогда вы можете использовать
$webhookNotification->disbursement->merchantAccount->id
чтобы получить удостоверение личности. На объекте выплаты вы также можете получить причину сбоя с помощью exceptionMessage
, список транзакций при неудавшейся выплате с transactionIds
и предлагаемый следующий шаг с followUpAction
,
Если вы используете последнюю версию Braintree PHP SDK (в настоящее время 3.22.0), то в примере уведомления $webhookNotification->disbursement->merchantAccount->id
будет установлен в «merchant_account_token».
Других решений пока нет …