脑树错误代码91565:未知的paymentMethodNonce

时间:2015-03-03 06:07:10

标签: php braintree

我做错了什么?根据文档,这应该工作!但我得到了91565!

数组([payment_method_nonce] => a7f99043-febb-44f7-90bc-89a766860706)91565:未知的paymentMethodNonce。



if($_POST){
  print_r($_POST);	
  $nonce = $_POST["payment_method_nonce"];	
  $result = Braintree_Transaction::sale(
    array(
      'paymentMethodNonce' => $nonce,
      'amount' => '100.00'
    )
  );
  if ($result->success) {
    echo($result->customer->id);
    echo($result->customer->creditCards[0]->token);
  } else {
    foreach($result->errors->deepAll() AS $error) {
      echo($error->code . ": " . $error->message . "\n");
    }
  }
}




3 个答案:

答案 0 :(得分:3)

代码是正确的。问题是nonce是由我们的演示商生成的,你试图用它为不同的商家创建一个交易。

付款方式nonces不包含任何数据 - 它们是我们为该商家存储的付款详细信息的商家特定标识符。因此,他们无法被其他商家使用。

这些文档将向您展示如何创建自己的客户端v.zero集成: https://developers.braintreepayments.com/javascript+php/start/overview

欢迎联系support@braintreepayments.com的Braintree支持。

答案 1 :(得分:1)

我遇到了同样的问题 - 在我的实例中,我更新了我的信用卡表单和js脚本,并忘记将客户端令牌传递给javascript。我在Laravel工作,所以首先我生成了clientToken:

$clientToken = Braintree_ClientToken::generate();

然后在javaScript中我编写了clientToken用于授权:

braintree.client.create({
  authorization: 'sandbox_g42y39zw_348pk9cgf3bgyw2b'

为:

braintree.client.create({
  authorization: '{{ $clientToken }}'

等...

答案 2 :(得分:0)

每当发布付款捕获请求时,您都需要生成New Nonce代码。