我的设置是:
- Laravel 4.2
- Braintreepayments JS + PHP
- Laravel Braintree
我尝试添加一个新客户,按照教程操作,一切正常。但当我尝试使用 JavaScript SDK 提供的代码从前端添加付款方式时,出现了问题。我使用了 Drop-In-UI,它生成了一个付款方法 Nonce,这也是我的问题所在。
我使用沙盒凭据配置了 PHP 后端,并粘贴了文档中提供的示例代码。
当我尝试创建用户时,一切正常:
$result = Braintree_Customer::create(array(
'id' => Auth::id(),
'firstName' => 'Mike',
'lastName' => 'Jones',
'company' => 'Jones Co.',
'email' => 'mike.jones@example.com',
'phone' => '281.330.8004',
'fax' => '419.555.1235',
'website' => 'http://example.com'
));
一旦涉及到支付随机数,所有功能都无法正常运作:
$result = Braintree_Transaction::sale(array(
'amount' => '10.00',
'paymentMethodNonce' => Input::get('payment_method_nonce'),
'customer' => array(
'id' => Auth::id()
),
'options' => array(
'storeInVaultOnSuccess' => true,
)
));
服务器一直提示“93108:未知的paymentMethodNonce”。这对我来说有点令人困惑和奇怪,因为“Input::get('payment_method_nonce')”代表一个有效的字符串。