Stripe似乎在使用Stripe Elements API时错误地处理了ZIP /邮政编码。仅当元素被拆分为部分(例如卡号,ZIP和CVC)时才会出现此问题,而不是使用它们提供的一体化解决方案。
如果您转到此处的条带元素示例页面: https://stripe.com/elements/examples
看看示例2(带有黄色付款按钮的那个),条纹强制用户输入邮政编码,即使与信用卡绑定的国家不使用(例如香港) )。
您可以使用Stripe自己的国际测试卡号码轻松测试。
如果您尝试单击“付款”按钮而不输入zip,则会收到错误
您的邮政编码不完整。
这是不正确的。
许多国家/地区根本不需要邮政编码 - 因此,这会使条纹页面上的示例对于不需要邮政编码的任何国家/地区都无用。
他们的内部代码似乎能够确定卡的国际化,因为这个案例中的一体化示例隐藏了zip字段。
有人看到这种错误的方法吗?
更新11/2/2017
他们已修复此错误,并且在不需要邮政编码的国家/地区不再需要邮政编码。谢谢你的帮助!
答案 0 :(得分:2)
要创建没有JS邮政编码的卡片元素,请执行以下操作:
let stripe = Stripe(yourStripeKey);
let elements = stripe.elements({
// your options here...
});
let creditCard = elements.create('card', {
hidePostalCode : true
});
creditCard.mount("#creditCard");
答案 1 :(得分:1)
CardElement接受here定义的所有选项
<div className='p-3' style={{ backgroundColor: '#F5F6FA' }}>
<CardElement hidePostalCode={true} />
</div>