As the master merchant, once you have successfully onboarded a sub-merchant, you can begin to leverage several transaction features:
Because many sub-merchants will be nested under your master merchant account, it's critical that you specify the correct
merchant_account_id for each transaction, as this defines to which sub-merchant the transaction is attributed.
Collect device data from the client and include the
device_data_from_the_client in the transaction.
Here's an example of creating a sub-merchant transaction with a service fee:
result = gateway.transaction.sale( :merchant_account_id => "provider_sub_merchant_account", :amount => "10.00", :payment_method_nonce => nonce_from_the_client, :device_data => device_data_from_the_client, :service_fee_amount => "1.00" )
service_fee_amount is a required field and can be any value from zero up to the total transaction amount. It can't be empty. This fee will be subtracted from the final amount disbursed to the sub-merchant and sent to the master merchant instead. Transactions created with service fees support dynamic descriptors.
Although Braintree does not escrow funds, as a master merchant you have an option within Braintree Marketplace to hold a sub-merchant's transaction funds until you make an additional call to release them. You can choose to hold funds on or after transaction creation. See more details in our support article on Braintree Marketplace processing.
If a transaction is refunded in full while its funds are being held in escrow, then the full amount of the transaction will be pulled from escrow and returned to the customer. Partial refunds are not supported until the funds are released from escrow.
When verifying credit cards, you must use your master merchant account or a merchant-of-record account. If you specify a sub-merchant account in the verification_merchant_account_id field, you'll receive a validation error.
We deduct the following from the master merchant account:
- transaction processing fees
- chargeback fees
- refunds (if you are not holding funds in escrow)
- Merchant account result handling
- Dynamic descriptors for Braintree Marketplace transactions
- Transaction statuses, escrow statuses, and escrow results
- Hold in escrow after creation
- Releasing funds from escrow
- Canceling an escrow release
- Braintree Marketplace processing