![](/img/trans.png)
[英]Braintree Subscription Payment Method Update Using Nonce From DropIn UI - 404 Not Found Error
[英]Generating multiple Braintree payment method nonce using one hosted form
我的应用程序正在使用Braintree来收集我的应用程序的付款。 我想在付款表格上有一个复选框,可以勾选该复选框以将信用卡详细信息存储到braintree客户记录中
但是,我无法重用所产生的相同现时付款(我收到错误消息,说我不能多次使用同一现时)。
这就是我想要做的:
...
$paymentMethodNonce = $this->input->post("payment_method_nonce");
//make payment
Braintree_Transaction::sale(['paymentMethodNonce' => $paymentMethodNonce,
'orderId' => $orderId,
'merchantAccountId' => $merchantAccountId,
'amount' => $amount,
"options" => ["submitForSettlement" => true]
]);
//create card for existing customer
Braintree_PaymentMethod::create(['paymentMethodNonce' => $paymentMethodNonce,
'customerId' => $customerId,
'options' => ['verifyCard' => true]
]);
...
我不想强迫用户再次输入他们的信用卡详细信息以保存它。
Braintree中是否有一种方法可以为一种托管形式生成多个nonce? 还是有比保存复选框更好的方法来保存卡?
非常感谢
全面披露:我在Braintree工作。 如果您还有其他疑问,请随时与支持小组联系。
如果您使用的是Braintree的javascript SDK的版本3 ,则可以通过多次调用hostedFieldsInstance.tokenize()
从相同的信用卡信息创建多个hostedFieldsInstance.tokenize()
。 每次进行tokenize
调用都会根据付款表格中显示的信息创建一个新的现时数。
如果您使用的是Drop-In表单或javascript SDK的版本2 ,则无法从同一组信用卡信息中创建多个随机数。 但是,您仍然可以使用一个随机数为客户创建信用卡并创建交易。 为此,请在Braintree Vault中为拥有随机数的客户创建一个信用卡记录。 随机数被该操作占用,因此您不能再次使用它来创建事务。 而是使用您刚创建的付款方式创建交易。 请注意,您也可以将此工作流与从JS SDK版本3生成的单个随机数一起使用。
$paymentMethodResult = Braintree_PaymentMethod::create([
'paymentMethodNonce' => $paymentMethodNonce,
'customerId' => $customerId,
'options' => ['verifyCard' => true]
]);
// now use the payment method you just created to run the transaction
$newPaymentMethodToken = $paymentMethodresult->paymentMethod->token;
$transactionResult = Braintree_Transaction::create([
'paymentMethodToken' = $newPaymentMethodToken,
'amount' = '20.00',
'options' => ['submitForSettlement' => true]
]);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.