问题描述
我将 Stripe.js 元素用于:cardNumber
cardExpiry
cardCVC
实际上一切正常,当我使用 card.io 扫描卡片时,我最终得到 2 个值: 卡号,有效期。
从那里,我想将这些值设置到我的条纹元素中,有没有办法这样做?我在 the documentation
中找不到任何内容我的 HTML :
<div class="group">
<label>
<span>N° Carte</span>
<div id="card-number" class="field"></div>
</label>
<label>
<span>Expiration</span>
<div id="card-expiry" class="field"></div>
</label>
<label>
<span>CVC</span>
<div id="card-cvc" class="field"></div>
</label>
</div>
我的JS:
this.cardNumber = elements.create('cardNumber',{style: style,showIcon: true});
this.cardNumber.mount('#card-number');
var cardExpiry: any = elements.create('cardExpiry',{style: style});
cardExpiry.mount('#card-expiry');
var cardCvc: any = elements.create('cardCvc',{style: style});
cardCvc.mount('#card-cvc');
解决方法
您不能使用 Elements 这样做(用原始卡号预填充它们),不。如果您拥有原始卡号而不是 PCI 范围,因为您直接接触高度敏感的细节。 https://stripe.com/docs/security/guide#validating-pci-compliance
我建议依靠浏览器的本机卡片扫描(例如,Android 上的 Chrome 具有“扫描新卡片”功能,可与 Elements 配合使用),只需让用户正常将其卡片详细信息输入 Elements。
据我所知,Card.io 是无人维护的,而且我也很困惑,因为它是一个原生库,你真的不能在网页中使用它吗?如果您正在构建本机应用程序,Stripe 的 iOS 库有一个卡片扫描测试版,可能会有所帮助https://github.com/stripe/stripe-ios#card-scanning-beta