将confirmCardSetup与支付方式的自定义卡数据进行条带化


stripe.confirmCardSetup(clientSecret,
{
payment_method: {
card: {
number: this.state.form.values.number,
exp_month: this.state.form.values.expiry.substring(0,2),
exp_year: this.state.form.values.expiry.substring(3,5),
cvc: this.state.form.values.cvc,
},
billing_details: {
name: name,
},
},
}
).then(function(result) {...})

我试图创建一种付款方式,客户稍后可以通过stripe的confirmCardSetup使用,不使用stripe元素,而是在付款方式字段中输入卡信息(编号、cvc、到期日(。它没有起作用,我想知道我是否可以做这种性质的事情?(我们使用的是react native,不想使用tipsi条纹(

我想好了如何实现这一点。以下是解决方案,以防其他人遇到同样的问题:

var paymentMethod = {
payment_method: {
card: this.cardNumberElement,
billing_details: {
name: this.billingNameText.getValue()
}
}
};
stripe.confirmCardSetup(setupIntentSecret, paymentMethod)
.then(function(result) { ... });

如果将属性card分配给使用以下代码创建的cardElement对象,则此操作有效:

this.elements = this.stripe.elements();
this.cardNumberElement = this.elements.create('cardNumber');
this.cardNumberElement.mount('#card-number');
this.cardExpiryElement = this.elements.create('cardExpiry');
this.cardExpiryElement.mount('#card-expiry');
this.cardCvcElement = this.elements.create('cardCvc');
this.cardCvcElement.mount('#card-cvc');

关键是必须从同一个elements对象创建所有组件。这将所有组件关联在一起,并将所有对象的所有信息发送到Stripe API。

最新更新