Braintree Marketplace
Creating Transactions with Service Fees
As the master merchant, once you have successfully onboarded a sub-merchant, you can begin to leverage several transaction features:
- Creating transactions with service fees
- Holding funds in escrow
- Releasing escrowed funds
Creating transactions without escrow
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:
- Ruby
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.
Holding funds in escrow
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.
Refunds
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.
Verifications
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.
Other charges and fees
We deduct the following from the master merchant account:
- transaction processing fees
- chargebacks
- chargeback fees
- refunds (if you are not holding funds in escrow)
For more information, see our support article on Braintree Marketplace processing.
See also
- 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
Next Page: Updating Sub-Merchants →