我试图实现托管资金使用braintree在php。我已经从这里下载了库。我的代码如下:-
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);它正在为直接付款而工作。但这并不适用于代管。请检查我的密码。
错误是:-
"message: Transaction could not be held in escrow."我已经得到了这里的代码
发布于 2015-07-07 05:45:06
最后,我从Braintree那里得到了实际的答案。我不得不再加两个参数。一个是merchantAccountId,另一个是serviceFeeAmount。在这里,merchantAccountId id实际上是子商人merchantAccountId。你会从Braintree那里得到merchantAccountId。登录后,转到settings->Processing.在页面的底部,您将得到查看所有商人帐户。在这里,您将得到merchantAccountId。不要使用默认的merchantAccountId,它将无法工作。
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);发布于 2014-09-05 20:53:43
我认为你需要两件事:
发布于 2015-05-08 09:00:20
我认为你在代码中犯了一个错误:
'options' => array(
'submitForSettlement' => true,
'holdInEscrow' => true,
)应:
'holdInEscrow' => true在'holdInEscrow' => true之后不应该有逗号
https://stackoverflow.com/questions/25643520
复制相似问题