使用相机通过 React Native 扫描信用卡

Bea*_*est 6 android ios react-native

我正在为 iOS 和 Android 创建一个 react native(版本 0.62.2)应用程序,我希望用户能够使用手机上的摄像头扫描他们的信用卡/借记卡以用于付款。我使用的是react-native-awesome-card-io库,我使用了该库的 Github readme here 中的简单示例。我在 iPhone XR (iOS 13) 上运行了该应用程序,一切似乎都运行良好,只是它似乎无法从卡中获取信息(即信用卡号、到期日期、姓名)。我无法在 Android 上进行测试,因为我没有 Android 设备(并且它在模拟器上不起作用)。

如图书馆的自述文件所述,扫描卡片有三个选项:

  • IMAGE_AND_NUMBER (CardIODetectionModeCardImageAndNumber) - 扫描仪必须成功识别卡号。
  • IMAGE (CardIODetectionModeCardImageOnly) - 不扫描卡片,只检测信用卡形状的卡片。
  • AUTOMATIC (CardIODetectionModeAutomatic) - 以 CardIODetectionModeCardImageAndNumber 开始,但如果在合理时间内扫描未成功,则回退到 CardIODetectionModeCardImageOnly。

只使用 IMAGE 可以正常工作,但是如果我使用 IMAGE_AND_NUMBER,它就会停止,如果我使用 AUTOMATIC,它会在一段时间后默认为 IMAGE。换句话说,它可以检测卡片并对其拍照,但它似乎无法实际读取卡片上的任何信息。

似乎这个问题可能与 react-native-awesome-card-io 无关,而是与该库作为包装器的 SDK 有关。不幸的是,iOS card.io SDKAndroid card.io SDK都已存档。一年多以前,card.io-iOS-SDK 上存在一个问题,似乎提出了与我相同的问题,但没有任何回应。react-native-awesome-card-io上也有类似的未解决问题,但没有解决方案。

还有一些其他 react-native 库包装了 card.io SDK,但除了过去两年有任何维护的 react-native-awesome-card-io 之外,我找不到任何其他库。我怀疑我的问题是 card.io SDK 的问题,因此会影响这些组件的所有包装器。

有没有人知道任何潜在的修复方法,或者更好的是,除了 card.io 之外的另一个(当前维护的)选项,用于使用带有 React Native 的相机扫描信用卡?