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:
WebhookNotification notification = gateway.WebhookNotification.Parse( btSignature, btPayload ); notification.kind == WebhookKind.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:
WebhookNotification notification = gateway.WebhookNotification.Parse( btSignature, btPayload ); notification.kind == WebhookKind.SUB_MERCHANT_ACCOUNT_DECLINED; // true notification.Message; // "Credit score is too low" notification.Errors; // ValidationErrors
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.
Still have questions?
If you can’t find an answer, contact us