Bik Bik - 22 days ago 11
PHP Question

Braintree payments Escrow Funding

I am trying to implement escrow funding using braintree in php. I have downloaded library from here. My code is below:-

require_once "../braintree/lib/Braintree.php";

Braintree_Configuration::environment("sandbox");
Braintree_Configuration::merchantId("was4zgn5x6vt99h");
Braintree_Configuration::publicKey("ydjrasdwyw9npkvnw4");
Braintree_Configuration::privateKey("f197ac5a66a1fsad37d3950890b2cbda9");

$result = Braintree_Transaction::sale(
array(
'amount' => "100.00",

'creditCard' => array(
'number' => "4111111111111111",
'expirationDate' => "12/2014",
),
'options' => array(
'submitForSettlement' => true,
'holdInEscrow' => true,
)

)
);
echo "<pre>";
print_r("\n message: " . $result->message);


It is working for direct payment. But It is not working for escrow. Please check my code.

Error is:-

"message: Transaction could not be held in escrow."


I have got the code from here

Bik Bik
Answer

At last i got the actual answer from braintree. I had to add two more parameters. One merchantAccountId and other is serviceFeeAmount. Here merchantAccountId id is actually sub marchent merchantAccountId. You will get merchantAccountId from braintree. After login go to settings->Processing. At the buttom of the page you will get "View All Marchant Account". Here you will get merchantAccountId. Don't use default merchantAccountId it will not work.

require_once "../braintree/lib/Braintree.php";
Braintree_Configuration::environment("sandbox");
Braintree_Configuration::merchantId("was4zgn5x6vt99h");
Braintree_Configuration::publicKey("ydjrasdwyw9npkvnw4");
Braintree_Configuration::privateKey("f197ac5a66a1fsad37d3950890b2cbda9");

$result = Braintree_Transaction::sale(
  array(
'amount' => "100.00",
'merchantAccountId' => 'test_user_instant_5vcgn574',
'creditCard' => array(
  'number' => "4111111111111111",
  'expirationDate' => "12/2014",
),
'options' => array(
  'submitForSettlement' => true,
  'holdInEscrow' => true,
),
'serviceFeeAmount' =>'1'

  )
);
echo "<pre>";
print_r("\n  message: " . $result->message);