0
假设我有一位已经注册过的客户,他已经提供了他的信用卡数据,并且我不希望他在下一次购物时再次输入,我该怎么做?现在我正在使用托管字段,每次测试时都必须输入信用卡数据。braintree每次都没有输入信用卡数据
假设我有一位已经注册过的客户,他已经提供了他的信用卡数据,并且我不希望他在下一次购物时再次输入,我该怎么做?现在我正在使用托管字段,每次测试时都必须输入信用卡数据。braintree每次都没有输入信用卡数据
确保客户的信息(包括付款方式信息)存储在Braintree Vault中。
您可以自行创建客户,使用付款方式或使用带有帐单地址的信用卡。客户创建的例子;
result = braintree.Customer.create({
"first_name": "Charity",
"last_name": "Smith",
"payment_method_nonce": nonce_from_the_client
})
result.is_success
# True
result.customer.id
# e.g 160923
result.customer.payment_methods[0].token
# e.g f28w39
如果您打算创建的同时为客户交易时,您可能需要使用Transaction.sale()与任options.store_in_vault_on_success或options.store_in_vault options。例如:
result = braintree.Transaction.sale({
"amount": "10.00",
"payment_method_nonce": nonce_from_the_client,
"customer": {
"id": "a_customer_id"
},
"options": {
"store_in_vault_on_success": True,
}
})
一旦他们的信息被存储在库中,您可以通过自己的付款方式令牌交易API调用,而不是一个随机数。
非常感谢回答这个问题 –
嗨再次@ThinkAboutIt另一个问题,我想知道订阅,我检查了braintree源代码,并找不到任何他们做“store_in_vault_on_success”:真的,当涉及到订阅。订阅时会自动启用吗? –
顺便说一下,我查看了文档,并注意到他们使用'storeInVaultOnSuccess'而不是“store_in_vault_on_success”,这是正确的? –