2016-04-12 52 views
0

您好,我嘗試在我的網站上設置braintree payement,但創建我的交易出售時出現錯誤:Unknown paymentMethodNonce。我生成客戶端令牌就像從布倫特裏支持的例子(他們沙子我用一個例子郵件):未知paymentMethodNonce on 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

全面披露:我布倫特裏的工作。

您正在收到的錯誤表明payment_method_nonce未到達您的服務器。請確保你有一個這樣的形式在客戶端:

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

您需要配置與Braintree_Configuration::environmentmerchantIdpublicKey,並privateKey您的應用程序。如果您想使用不是您的默認帳戶的商戶帳戶,則只能通過merchantAccountId,並使用Braintree_Transaction::sale

如果仍有問題,請繼續使用Braintree support