我一直在PHP中实施braintree + escrow资金。
我一直在使用Braintree PHP代码。
代码非常完美,我可以在braintree沙盒仪表板中查看交易。
但提前一步我想整合不起作用的托管资金。下面是代码示例。
require_once "braintree-php/lib/Braintree.php";
Braintree_Configuration::environment("sandbox");
Braintree_Configuration::merchantId("merchantID");
Braintree_Configuration::publicKey("public-key");
Braintree_Configuration::privateKey("private-key");
$result = Braintree_Transaction::sale(
[
'amount' => '100.00',
'merchantAccountId' => 'abc',
'creditCard' => [
'number' => '378282246310005',
'expirationDate' => '12/18'
],
'options' => [
'submitForSettlement' => true,
'holdInEscrow' => true,
],
'serviceFeeAmount' => "10.00"
]
);
if ($result->success) {
echo '<pre>';
print_r("success!: " . $result->transaction->id);
print_r("success!: " . $result->transaction->escrowStatus);
print_r($result->transaction->serviceFeeAmount);
$escow = Braintree_Transaction::holdInEscrow($result->transaction->id);
} else if ($result->transaction) {
print_r("Error processing transaction:");
print_r("\n code: " . $result->transaction->processorResponseCode);
print_r("\n text: " . $result->transaction->processorResponseText);
} else {
echo '<pre>';
print_r("Validation errors: \n");
print_r($result->errors->deepAll());
}
这给了我以下错误。
1) Service fee not supported on master merchant account.
2) Transaction could not be held in escrow.
我已选择USA作为国家/地区创建了沙箱帐户。任何人都可以帮助我如何在braintree支付期间获得托管资金以及我在我的代码中做错了什么。
我已从以下链接的代码中成功创建了子商家。
答案 0 :(得分:0)
完全披露:我在Braintree工作。如果您有任何其他问题,请随时联系 support 子>
我找到了您的Sandbox帐户,看来您注册了一个Sandbox帐户并指出印度是您商家的位置,这就是您收到这些验证错误的原因,因为Marketplace不兼容美国以外的任何国家。
为了测试市场功能you'll need to sign up for a new Sandbox account,确保您选择美国作为您的国家/地区价值。