条带元素强制邮政编码

时间:2017-10-13 20:13:26

标签: javascript stripe-payments

Stripe似乎在使用Stripe Elements API时错误地处理了ZIP /邮政编码。仅当元素被拆分为部分(例如卡号,ZIP和CVC)时才会出现此问题,而不是使用它们提供的一体化解决方案。

如果您转到此处的条带元素示例页面: https://stripe.com/elements/examples

看看示例2(带有黄色付款按钮的那个),条纹强制用户输入邮政编码,即使与信用卡绑定的国家不使用(例如香港) )。

您可以使用Stripe自己的国际测试卡号码轻松测试。

如果您尝试单击“付款”按钮而不输入zip,则会收到错误

  

您的邮政编码不完整。

这是不正确的。

You can see that in this image here

许多国家/地区根本不需要邮政编码 - 因此,这会使条纹页面上的示例对于不需要邮政编码的任何国家/地区都无用。

他们的内部代码似乎能够确定卡的国际化,因为这个案例中的一体化示例隐藏了zip字段。

有人看到这种错误的方法吗?

更新11/2/2017

他们已修复此错误,并且在不需要邮政编码的国家/地区不再需要邮政编码。谢谢你的帮助!

2 个答案:

答案 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>