Confirming Sub-merchant Onboarding
Availability
If you're a new merchant looking for a marketplace solution,
contact our Sales team.
Note
The
{{ formatVariable "bt_signature" serverSdk.name }} and
{{ formatVariable "bt_payload" serverSdk.name }} variables in the code snippets below
represent parameters received from the webhook POST request. For more information, read the
documentation on parsing webhooks.
Sub-merchant approved
Once you have webhooks configured, you can listen for a
SubMerchantAccountApproved webhook that looks like this:
- Java
WebhookNotification notification = gateway.webhookNotification().parse(btSignature, btPayload);
notification.getKind() == WebhookNotification.Kind.SUB_MERCHANT_ACCOUNT_APPROVED; // true
notification.getMerchantAccount().getStatus(); // "active"
notification.getMerchantAccount().getId(); // "blue_ladders_store"
notification.getMerchantAccount().getMasterMerchantAccount().getId(); // "14ladders_marketplace"
notification.getMerchantAccount().getMasterMerchantAccount().getStatus(); // "active"Sub-merchant declined
You can also listen for a SubMerchantAccountDeclined webhook that looks like this:
- Java
WebhookNotification notification = gateway.webhookNotification().parse(btSignature, btPayload);
notification.getKind() == WebhookNotification.Kind.SUB_MERCHANT_ACCOUNT_DECLINED; // true
ValidationErrors errors = notification.getErrors();
for (ValidationError error : errors.getAllDeepValidationErrors()) {
System.out.println(error.getMessage()); // "Credit score is too low"
}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 contact our Customer Success team with the sub-merchant's first and last name and we'll be happy to assist.