Javascript 使用react本机Braintree dropin ui的Braintree Vault Manager

Javascript 使用react本机Braintree dropin ui的Braintree Vault Manager,javascript,react-native,braintree,braintree-vault,Javascript,React Native,Braintree,Braintree Vault,我想让用户删除他保存的支付卡我正在使用这个软件包 "react-native-braintree-payments-drop-in": "^1.2.0"` 代码: BraintreeDropIn.show({ clientToken:this.state.clientToken, //我也添加了这个,但它并没有在dropin中显示编辑选项 保险经理:是的 })。然后(结果=>{。。。 我缺少什么吗?您必须创建一个“braintree客户”,然后将braintree.customer.id存储

我想让用户删除他保存的支付卡我正在使用这个软件包

"react-native-braintree-payments-drop-in": "^1.2.0"`
代码:

BraintreeDropIn.show({
clientToken:this.state.clientToken,
//我也添加了这个,但它并没有在dropin中显示编辑选项
保险经理:是的
})。然后(结果=>{。。。
我缺少什么吗?

您必须创建一个“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));