您好我尝试在我的网站上设置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');
但我有一个错误:异常需要抓住。
感谢您的帮助
答案 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::environment
,merchantId
,publicKey
和privateKey
配置您的应用。如果您想使用非默认帐户的商家帐户,则只能使用merchantAccountId
传递Braintree_Transaction::sale
。
如果您仍遇到问题,请继续使用Braintree support。