【问题标题】:Braintree VaultManager using react-native-braintree-dropin-uiBraintree VaultManager 使用 react-native-braintree-dropin-ui
【发布时间】:2020-06-05 05:20:44
【问题描述】:
我想让用户删除他保存的支付卡我正在使用这个包
"react-native-braintree-payments-drop-in": "^1.2.0"`
代码:
BraintreeDropIn.show({
clientToken: this.state.clientToken,
// I also add this but it is not showing me edit option in dropin
vaultManager: true
}).then(result => { ...
我有什么遗漏吗?
【问题讨论】:
标签:
javascript
react-native
braintree
braintree-vault
【解决方案1】:
您必须创建一个“braintree 客户”,然后将 Braintree.customer.id 存储到您的用户对象中。
然后如果你有一个braintree客户id,你可以像我一样生成一个自定义的客户令牌。在您的后端调用它以生成一个,然后在您的 Drop-in show({clientToken}) 选项字段中使用它
if(!req.user.brainTreeCustomerId){
gateway.customer.create({
firstName: req.user.name.first,
lastName: req.user.name.last,
email: req.user.email
}, function (err, result) {
if(err) return error(res, 500, "Something went wrong while creating customer payment profile");
if(result.success){
req.user.brainTreeCustomerId = result.customer.id;
req.user.save();
}
});
}
return gateway.clientToken.generate({
customerId: req.user.brainTreeCustomerId
})
.then(response => {
console.log(response);
return result(res, 200, response.clientToken);
}).catch(error(res));