标签: credit-card

将读卡器中的信用卡信息捕获到不可编辑的文本字段中

我是 Javascript 方面的新手。这是我的问题:

我希望从读卡器捕获信用卡信息,然后对其进行处理。到目前为止,我已经能够在 HTML 文本框字段中捕获虚拟信用卡数据 - 实际上这并不是什么复杂的事情,因为读卡器输入只是在读卡器上刷卡时的一组键盘事件。问题是它仅cursor focus在文本字段上存在时才有效。如果我将文本字段变成只读框,它就不起作用 - 这正是我的要求。我应该能够屏蔽输入,显示几个*s 并且我应该能够使该字段不可编辑。我希望这可以使用div文本框上的透明内容来完成 - 但我不知道如何实现这一点。

我也对其他想法持开放态度。

html javascript credit-card credit-card-track-data

5
推荐指数
1
解决办法
8642
查看次数

信用卡的最后 4 位数字有多独特?

在我们的应用程序中,我们使用商户终端提供的卡类型和最后 4 位数字作为客户的唯一标识符。例如VISA-1234

由于卡号实际上不是随机的(基于lunh 算法),我们真的会得到最后 4 位数字的 10,000 种组合,还是较小的子集?如果是这样,是否可以计算甚至估计这个数字?

credit-card

5
推荐指数
1
解决办法
2万
查看次数

Chrome 信用卡到期自动填充格式

我在我帮助维护的网站上有一张信用卡登记表。后端编码为采用 MM/YY 格式的 2 位数到期月份和 2 位数年份。Chrome 似乎设置为以 MM/YYYY 格式应用信用卡信息,因此如果用户存储的 CC 过期日期为 05/2023,它将自动填充 05/20,并且由于 jquery 输入屏蔽将切断 23 部分。这会导致付款被拒绝,这是任何人都不愿意看到的。

这是表单的基本示例。

<form action="/">
  <h3>Label</h3>
  <div>
    <input name="CardHolderName" placeholder="Cardholder Name" type="text">
  </div>
  <div>
    <input name="CreditCardNumber" placeholder="Credit Card Number" type="tel">
  </div>
  <div>
    <label for="ExpirationDate">Expirion Date</label>
    <input id="ExpirationDate" name="ExpirationDate" placeholder="MM/YY" type="tel">
  </div>
  <div>
    <input name="Cvv2" placeholder="CVC" type="tel">
  </div>
</form>
Run Code Online (Sandbox Code Playgroud)

我扫描了https://wiki.whatwg.org/wiki/Autocomplete_Typeshttps://html.spec.whatwg.org/multipage/form-control-infrastruct.html#autofill并发现 autocomplete="cc-exp",以及一些关于格式的指导。

在已弃用的旧规范中,该格式在某种程度上与 Chrome 的做法相匹配,在 maxlength="7" 时提到了 MM/YYYY 格式。在这种情况下, maxlength="5" 应该给我我想要的,但它并不一致。例如,添加 maxlength="5" 在我的 jsfiddle 中有效,但在我们的网站上不起作用。然而,添加 autocomplete="cc-exp" 和 maxlength="5" 可以在桌面版 Chrome 上运行,但在 Android …

html forms google-chrome credit-card

5
推荐指数
1
解决办法
3259
查看次数

在 Swift 5 上扫描信用卡库

我想在 iOS 应用程序上扫描信用卡。我使用了 CardIO 框架,但它不适用于 ios13

guard let cardIOVC = CardIOPaymentViewController(paymentDelegate: self) else { 
            print("This device is incompatible with CardIO")
            return
        }

        cardIOVC.collectCVV = false
        cardIOVC.modalPresentationStyle = .overCurrentContext
        present(cardIOVC, animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)

所以我想知道在提供 cardInfo 时,在不显示内置预加载视图的情况下实现 CardIO 的最佳方法是什么。

guard let cardIOVC = ScanViewController.createViewController(withDelegate: self) else {
        print("This device is incompatible with CardScan")
        return
    }
    cardIOVC.allowSkip = true
    present(cardIOVC, animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)

因此 cardScan Library 但既不返回到期日期也不返回名片持有人。我不确定我开发的代码块是否错过了配置 creditInfo 回调的东西。

我还测试了 DyScan 框架作为 CardIO API 的更新,但是没有可用的podSpecDyscanIntegrationGuide

iOS 是否为开发者提供任何公共 API …

frameworks credit-card scanning ios swift

5
推荐指数
1
解决办法
2433
查看次数

Chrome 自动完成功能认为我的“名字”字段是信用卡

该问题已在其他地方问过,但没有回答。谷歌浏览器认为我的输入

<input name="firstName" id="firstName" type="text" placeholder="John" font-size="16" class="sc-fznKkj XyZMK">

是一张信用卡,如自动完成字段检查器(实验标志 thingy)和提供已保存信用卡的自动完成所示。

它也在 lastName 字段和另一个数字类型字段以另一种形式执行此操作。

我不明白的是,它只是在我们的开发环境中按预期工作,并且只在暂存中变得疯狂(两者几乎都是相同的部署过程,相同的 s3 + cloudfront 托管,相同构建的相同代码)。

有什么线索吗?

它变得更奇怪:将name字段更改为first-name而不是firstName修复它。我不需要更改两个输入名称,只有第一个更改。但是我应该可以随意命名我的领域,不是吗?

html google-chrome credit-card autosuggest reactjs

5
推荐指数
1
解决办法
2116
查看次数

Stripe.Customers.listSources 不返回任何内容

我创建了以下代码来为我的客户获取所有卡片:

return stripe.customers.listSources(customerId, {
    object: "card",
    limit: 10
}).then(cards => {
    if (cards) {
        res.status(200).send({
            cards: cards.data
        });
        return;
    }
    res
        .status(500)
        .send({ error: "error getting cards" });

})
    .catch(error => {
        console.log(error);
        res.status(500).send({ error: "error getting cards" });
    });
Run Code Online (Sandbox Code Playgroud)

遵循本文档:

https://stripe.com/docs/api/cards/list

我还向我的客户添加了测试卡,这些测试卡在仪表板中可见:

在此输入图像描述

但 API 总是返回以下结果:

{
  object: 'list',
  data: [],
  has_more: false,
  url: '/v1/customers/<my_cus_id>/sources'
}
Run Code Online (Sandbox Code Playgroud)

javascript credit-card node.js stripe-payments

5
推荐指数
1
解决办法
819
查看次数

如何以编程方式启动 Google 自动填充的“扫描新卡”意图

我想从我的 Android 应用程序启动“扫描新卡”活动。此功能由 Google 提供,用于扫描并填写信用卡/借记卡号,EditText是 GMS 自动填充服务的一部分。

我的目的是提供一个按钮来启动此意图,而不是使用自动填充弹出窗口/Ime 选项中显示的现有选项。

我需要开发类似 Google Play 商店的添加付款方式和 Google 自动填充的添加付款方式的屏幕截图的内容。

Google Play 商店的添加付款方式 Google 自动填充的添加付款方式 通过自动填充扫描新卡 IME 选项
Google Play 商店的添加付款方式 Google 自动填充的添加付款方式 通过自动填充扫描新卡 IME 选项

我尝试过的:

  1. 我已尝试使用传统方法添加autofillHint="creditCardNumber"EditText从而显示使用自动填充服务启动的选项,但是,如果由于某种原因自动填充服务被禁用或未设置为“Google”,则“扫描”的自动填充选项新卡”没有出现。

  2. 我尝试使用从 中找到的活动和包名称直接启动意图Logcat,但是Permission Denied: Activity not exported抛出了 a 。

我的发现:

单击 Google 自动填充服务提供的“扫描新卡”选项时的 Logcat 输出:

START u0 {act=SCAN_PAYMENT_CARD cmp=com.google.android.gms/.autofill.ui.AutofillActivity (has extras)} from uid 10102
START u0 {act=com.google.android.gms.ocr.ACTION_CREDIT_CARD_OCR pkg=com.google.android.gms cmp=com.google.android.gms/.ocr.SecuredCreditCardOcrActivity (has extras)} from uid 10102
Run Code Online (Sandbox Code Playgroud)

直接使用 Activity 和 Package 名称启动上述 Intent 时的 Logcat 输出:

Permission Denial: starting …
Run Code Online (Sandbox Code Playgroud)

ocr android credit-card autofill google-play-services

5
推荐指数
0
解决办法
495
查看次数

处理敏感信息的最佳做法是什么?

我目前正在为客户创建一个应用程序,允许他们自动向客户收取信用卡账单.

我很好奇什么是安全存储和访问信用卡信息的最佳做法,以及任何其他敏感信息,如社会安全号码,帐号等.

假设将使用某种类型的加密,但在我深入挖掘之前,我想看看其他人如何处理这些类型的要求.

这并不重要,但我们正在使用Microsoft SQL Server为数据库设计软件,并使用C#和ASP.NET.

security credit-card

4
推荐指数
1
解决办法
961
查看次数

用于信用卡号的ruby字符串操作

在rails项目上工作,其中有一个订单确认字符串,其中包含除最后四位数之外的所有信用卡号码.做字符串替换的正确方法是什么?

得到这个的操作是什么?

credit_card_number = "1111111111111111"
Run Code Online (Sandbox Code Playgroud)

这个?

credit_card_number = "************1111"
Run Code Online (Sandbox Code Playgroud)

谢谢,

贤治

ruby string ruby-on-rails credit-card activemerchant

4
推荐指数
2
解决办法
5451
查看次数

使用Braintree识别信用卡/借记卡的原产国?

我知道卡号的前6位代表卡的发卡行识别网络(IIN),而这些信息应该反过来标识原产国.

在处理交易之前,Braintree是否提供任何API来解码此信息?我目前还不知道有任何服务.我想知道在完成交易之前卡片的来源,因为这可能对我的特定用例中的交易费用,佣金等有重大影响.

同样,我希望能够区分借记卡和信用卡,尽管通过考虑IIN似乎并不是严格可行的.

credit-card braintree

4
推荐指数
1
解决办法
1332
查看次数