繁体   English   中英

使用一种托管形式生成多种Braintree付款方式随机数

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM