1

我一直在 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.

我通过选择美国作为国家创建了沙盒帐户。任何人都可以帮助我如何在braintree付款期间获得托管资金以及我在代码中做错了什么。

我已经从以下链接的代码成功创建了子商户。

入驻子商户

4

1 回答 1

0

全面披露:我在布伦特里工作。如果您还有其他问题,请随时联系 支持人员

我能够找到您的 Sandbox 帐户,并且您似乎注册了 Sandbox 帐户并指出印度是您的业务所在地,这就是您收到这些验证错误的原因,因为 Marketplace 与以外的任何国家/地区都不兼容美国的。

为了测试 Marketplace 功能,您需要注册一个新的 Sandbox 帐户,确保选择美国作为您的国家/地区值。

于 2017-10-09T16:55:34.940 回答