服务器端有一项功能可以删除付款方式(result = Braintree::PaymentMethod.delete("the_token")
),但需要付款方式令牌。我如何从客户端获取付款方式令牌和临时数字?Braintree,如何从客户端删除具有现时的用户信用卡?
编辑:我没有使用UI的下降。我有一个用户拥有的信用卡自定义列表(使用Javascript v3 SDK)。我想要一个按钮来删除卡片。 JS SDK dosnt提供信用卡令牌,只是一个随机数。将可用于客户端的数据转换为我可以用来删除服务器上的卡的过程是什么?
edit2:clent端的信用卡列表使用JavaScript v3 SDK中的VaultManager。它返回fetchPaymentMethodsPayload。
这是客户端代码:
_loadPaymentMethods() {
this.paymentService.getBraintreeToken().then(token => {
this.braintreeClient.create({
authorization: token
}, (clientErr, clientInstance) => {
if (clientErr) {
// Handle error in client creation
return;
}
var options = {
client: clientInstance,
};
this.vaultManager.create(options, (err, vaultInstance) => {
if (err) {
console.log(err);
return;
}
vaultInstance.fetchPaymentMethods({ defaultFirst: true }, (err, paymentMethods) => {
paymentMethods.forEach(paymentMethod => {
if(paymentMethod.type == 'CreditCard') {
this.cards.push(paymentMethod);
if(paymentMethod.default) {
this.card = paymentMethod;
}
}
});
});
});
});
});
}
[付款方式随机数](https://developers.braintreepayments.com/start/overview#payment-method-nonce)通常不对应于有库存的[付款方式](https://developers.braintreepayments。 COM /参考/响应/支付方法)。随机数表示临时支付信息将被消耗。这种情况的主要例外是,如果您使用Drop-in UI并在客户端令牌中包含['customer_id'](https://developers.braintreepayments.com/guides/drop-in/javascript/#customer- ID)。你可以编辑你的问题来说明你是否在使用Drop-in UI的自动存储功能吗? – zepp
假设您通过查找[客户对象](https://developers.braintreepayments.com/reference/response/customer)来生成用户信用卡的自定义列表,则可以访问[支付方法标记](https ://developers.braintreepayments.com/reference/response/payment-method)通过[客户的付款方式属性](https://developers.braintreepayments.com/reference/response/customer/#payment_methods)。如果您没有以这种方式填充付款方式,您是否可以添加生成用户信用卡列表的代码? –