Thursday, 30 July 2015

Braintree Marketplace - Split payment between website owner and seller


Braintree Marketplace - Split payment between website owner and seller


Question: What is Braintree Marketplace?
Braintree Marketplace is platform where it enables you to split payments from customers between your marketplace and your sellers or providers.


Question: Is split payments free in Braintree Marketplace?
Yes, Braintree does not charge extra for split payment.


Question: What is Transaction cost?
2.9% + $0.30 per transaction.


Question: Is there any monthly fees?
No, There is no monthly fees. Also there is no hidden cost.


Question: In which country market place is available?
Currently Its available in USA only.


Question: What Compatibility should be for Marketplace?
Merchant accounts need to be approved by Braintree for use with Marketplace.
Master merchant and sub-merchants must be domiciled in the US and receive funding in USD.


Question: What are useful terminology for Marketplace?
Master merchant: The Marketplace owner
Sub-merchant: Sellers who will receive money along with marketplace owner.
Service fee: Amount getting by sellers.
Escrow: An option that allows you to hold funds through our banking partner until you decide to disburse them; at disbursement.
Webhooks: Notifications sent to your server that indicate whether a merchant was successfully onboarded OR there was a problem disbursing funds.


Question: What information do I need to get from Seller OR Sub-merchant?
You need to get the billing/account information along with basic details.
Following are information which you need to pass in API to create sub-merchant on the behalf of main merchant.
$result = Braintree_MerchantAccount::create(
  [
    'individual' => [
      'firstName' => 'Jane',
      'lastName' => 'Doe',
      'email' => 'jane@14ladders.com',
      'phone' => '5553334444',
      'dateOfBirth' => '1981-11-19',
      'ssn' => '456-45-4567',
      'address' => [
        'streetAddress' => '111 Main St',
        'locality' => 'Chicago',
        'region' => 'IL',
        'postalCode' => '60622'
      ]
    ],
    'business' => [
      'legalName' => 'Jane Ladders',
      'dbaName' => 'Jane Ladders',
      'taxId' => '98-7654321',
      'address' => [
        'streetAddress' => '111 Main St',
        'locality' => 'Chicago',
        'region' => 'IL',
        'postalCode' => '60622'
      ]
    ],
    'funding' => [
      'descriptor' => 'Blue Ladders',
      'destination' => Braintree_MerchantAccount::FUNDING_DESTINATION_BANK,
      'email' => 'funding@blueladders.com',
      'mobilePhone' => '5555555555',
      'accountNumber' => '1123581321',
      'routingNumber' => '071101307'
    ],
    'tosAccepted' => true,
    'masterMerchantAccountId' => "master_merchant_account_id",
    'id' => "blue_ladders_store"
  ]
);

Response of above code:
Braintree_Result_Successful Object
(
    [success] => 1
    [_returnObjectNames:Braintree_Result_Successful:private] => Array
        (
            [0] => merchantAccount
        )

    [_attributes] => Array
        (
        )

    [merchantAccount] => Braintree_MerchantAccount Object
        (
            [_attributes] => Array
                (
                    [status] => pending
                    [id] => arun_kumar
                    [masterMerchantAccount] => Braintree_MerchantAccount Object
                        (
                            [_attributes] => Array
                                (
                                    [status] => active
                                    [id] => zz62xd782mdfhrzb
                                    [currencyIsoCode] => USD
                                    [subMerchantAccount] => 
                                )

                        )

                    [currencyIsoCode] => USD
                    [subMerchantAccount] => 1
                )

        )

)



Question: How to send money to sub-merchant when customer pay?
$result = Braintree_Transaction::sale([
    'merchantAccountId' => 'submerchant_account_id',
    'amount' => '10.00',
    'paymentMethodNonce' => nonceFromTheClient,
    'serviceFeeAmount' => "1.00" //this amt will be transfered to main merchnat 
]);



Question: What is maximum limit for transaction?
Its more than $80K monthly. But if you are doing much more transaction, you need to contact braintree.


Question: What is Chargeback?
Customer paid for the item and money is deduct from his bank.
After some time customer disputes a transaction to get deducted money, because he get issue is delivered product or becuase of any issue  know as chargeback.