此question和答案表明,有可能让Stripe验证CVC和邮政编码(如果这些是作为单独的元素收集的),但我无法使其正常工作。
我目前正在传递数据,如下所示。我以其他形式收集其他详细信息。
stripe.createPaymentMethod({
type: 'card',
card: cardNumber,
billing_details: {
name: this.form.first_name + ' ' + this.form.last_name,
address: {
city: this.form.city,
country: this.form.country,
line1: this.form.address1,
line2: this.form.address2,
postal_code: this.form.zip,
state: this.form.county
},
email: this.form.email,
},
})
我收到一个有效的paymentMethod响应(因此它可以正常工作),但是所有支票(如下所示)都返回为空
checks:
address_line1_check: null
address_postal_code_check: null
cvc_check: null
我已经将CVC和Expiry元素称为cardExpiry和cardCvc(试图遵循使用stripNumber的条纹文档中给出的约定),但是我看不到如何传递这些字段以进行检查的任何详细信息。
根据文档,我有以下div(CVC示例)。这正在渲染,如果出现错误,则会返回一条消息。
<div id="card-cvc" class="MyCardCvc">
<!-- Elements will create input elements here -->
</div>
先前给出的答案表明Stripe.js应该在后台进行此操作,但是我想知道是否需要某种命名约定才能自动提取字段?
提前致谢。
最佳答案
以防万一其他人偶然发现......
(在irc上与条带交谈后),在首次提交卡详细信息期间似乎未执行这些“检查”。 Stripe确实对卡号和有效期进行了某种意义上的检查,但以下内容仅在尝试完成付款时进行了验证
checks:
address_line1_check: null
address_postal_code_check: null
cvc_check: null