Braintree上的未知paymentMethodNonce

时间:2016-04-12 07:57:49

标签: javascript php paypal braintree

您好我尝试在我的网站上设置braintree payement但是在创建我的交易销售时出错:未知的paymentMethodNonce。我生成了一个客户端令牌,就像Braintree支持的一个例子(他们用一个例子给我发邮件):

<?php
require_once("../lib/Braintree.php");
$clientToken = Braintree_ClientToken::generate(); ?>
...
<script>
var clientToken = "<?php echo $clientToken; ?>";
braintree.setup(clientToken, "dropin", {
        container: "payment-form"
    });
</script>

在我的结帐页面上:

require_once("../lib/Braintree.php");

$nonce = $_POST["payment_method_nonce"];

$result = Braintree_Transaction::sale([
    'amount' => "100",
    'paymentMethodNonce' => $nonce,
    'options' => [
        'submitForSettlement' => True
    ]
]);

我尝试删除配置热线,这是有效的,但帐户商家不是我的,如果我设置了销售帐户:

    'merchantAccountId' => 'MyAccount',

或之前配置:

Braintree_Configuration::environment('sandbox');
Braintree_Configuration::merchantId('xxx');
Braintree_Configuration::publicKey('xxx');
Braintree_Configuration::privateKey('xxxxx');

但我有一个错误:异常需要抓住。

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

完全披露:我为Braintree工作。

您收到的错误表明payment_method_nonce未到达您的服务器。确保在您的客户端中有这样的表单:

<form id="checkout" method="post" action="/checkout">
  <div id="payment-form"></div>
  <input type="submit" value="Pay $10">
</form>

您需要使用Braintree_Configuration::environmentmerchantIdpublicKeyprivateKey配置您的应用。如果您想使用非默认帐户的商家帐户,则只能使用merchantAccountId传递Braintree_Transaction::sale

如果您仍遇到问题,请继续使用Braintree support