As part of the sub-merchant onboarding process for Braintree Marketplace, you can confirm the creation of a merchant account as either approved or declined via a webhook. The webhook is triggered after the sub-merchant's information has been verified with several third-party services.
Webhooks allow Braintree to push messages to your servers when you configure a webhook endpoint URL. If you are not using webhooks already, you will need to follow the webhooks guide to get started.
Once you have webhooks configured, you can listen for a
SubMerchantAccountApproved webhook that looks like this:
$notification = $gateway->webhookNotification()->parse( $btSignature, $btPayload ); $notification->kind == Braintree_WebhookNotification::SUB_MERCHANT_ACCOUNT_APPROVED; // true $notification->merchantAccount->status; // "active" $notification->merchantAccount->id; // "blue_ladders_store" $notification->merchantAccount->masterMerchantAccount->id; // "14ladders_marketplace" $notification->merchantAccount->masterMerchantAccount->status; // "active"
Once you've confirmed that the new sub-merchant has been successfully onboarded, you can start to run transactions on their account.
You can also listen for a
SubMerchantAccountDeclined webhook that looks like this:
$notification = $gateway->webhookNotification()->parse( $bt_signature, $bt_payload ); $notification->kind == Braintree_WebhookNotification::SUB_MERCHANT_ACCOUNT_DECLINED; // true $notification->message; // "Credit score is too low" $notification->errors; // Braintree_Error_ValidationErrorCollection Object ( . . . )
If it is
Declined, the webhook will contain validation errors indicating why the sub-merchant was declined. There are several reasons this can occur:
- Failed OFAC
- Failed Mastercard MATCH
- Failed KYC
- SSN invalid
- SSN matches deceased person
See merchant account validations for specific errors.
In this case, we'll need to gather more information about the sub-merchant in order to approve them. Please email our Accounts team with the sub-merchant's first and last name and we’ll be happy to assist.