问题标签 [credit-card-track-data]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
21848 浏览

stripe-payments - 如何开始使用磁条卡?

我是磁条卡领域的新手。但如果我对这类卡片的结构一无所知,我也无法为它们开发软件。

搜索了很多,只给了我这个信息:

这张卡的黑条上有 3 个不同的轨道,分别命名为Track-1Track-2Track-3。每个 Track 上的数据密度也不同。

我的问题:

  1. 磁条读卡器和写卡器有什么区别吗?还是像智能卡读卡器一样,读卡器也写字?

  2. 默认情况下,所有读者[/writers] 是否都可以从[/write on] 读取所有三个轨道,并且我们选择哪个轨道是我们在程序上的目标?或者一些读者 [/writers] 用于Track-1,其他一些用于Track-2,其他一些用于Track-3?换句话说,设备是否需要三个不同的磁头(它是磁头吗?)来处理不同的轨道,还是一个磁头用于所有三个轨道?

  3. 这三个 Track 是否既可读又可写,或者有些仅可读?

  4. 我们是否需要新的卡片来在上面写入数据,或者我们可以清除已经使用过的卡片并在其轨道上重写新数据?

  5. 磁条卡的设备列表中有一个名为编码器的设备。这个编码器是干什么用的?Encoder 和 Reader 或 Writer 有什么区别?

  6. 为什么不同轨道的数据密度和数据类型(字母或数字)不同?

  7. 任何工具、文档、规范、标准、库或入门教程?

0 投票
0 回答
240 浏览

api - 查看信用卡交易

我想构建一个应用程序来跟踪用户访问的经常光顾的供应商,并向信用卡收费。

是否有任何 API/服务允许跟踪用户信用卡交易(显然已被所述用户批准)?

用例:

用户注册一个帐户并添加他们的信用卡信息。然后用那张信用卡支付的费用将存储在我构建的系统中。

0 投票
1 回答
757 浏览

encryption - MSR DUKPT 的 MAC 变体?

目前我正在研究 ChipCard EMV 设备解密。下面是我使用交易后的相关数据(TLV格式作为标签长度值):

我知道这个设备的 BDK 是0123456789ABCDEFFEDCBA9876543210. 根据解密指令,它提到 DFDF59 包含以下标签:

每条指令都提到了“ MSR DUKPT 的 MAC 变体”,其中 MAC 代表消息验证码,以及“通过 TLV 格式解析数据。对于加密的数据标签,使用 TDES_Decrypt_CBC 对其进行解密”。

我尝试通过 KSN、BDK 和加密数据 DFDF59 使用 3DES DUKPT。它行不通。解密领域的任何人都可以给我一些建议吗?我们的供应商非常不愿意分享他们的知识......

我不知道 MAC 如何在解密中真正发挥作用....我认为 MAC 只是一个完整性检查....我正在使用从 KSN 和 BDK 生成的 3DES DUKPT 会话密钥。这适用于该设备中的其他解密,但不能解决 DFDF59(芯片卡 EMV 解密)......这就是为什么我开始怀疑我是否使用了正确的会话密钥......随意只是把想法扔在那里。谢谢!

0 投票
1 回答
155 浏览

ruby-on-rails - ruby/rails 检测金融跟踪数据并返回 nil/empty 字符串

我通读了类似的 stackoverflow 问题以了解财务跟踪卡数据。

我认为我面临的问题可能略有不同,或者我在正则表达式方面真的很弱。

现在我们有一个服务会意外返回跟踪数据而不是客人姓名。

我的目标是每次收到跟踪数据时都显示“”空字符串,否则返回客人姓名。(这是一个临时解决方案,直到我们解决根本原因)

这就是我的正则表达式,但看起来它没有检测到轨道数据。

(不是真实数据)

现在,查看 wiki 中的跟踪数据信息,我想涵盖大多数情况,如果不是全部的话:

https://en.wikipedia.org/wiki/Magnetic_stripe_card#Financial_cards

可以对我的正则表达式有所帮助。这就是我所拥有的:

/[(%[bB])(;)]\d{3,}.{9,}[(^.+^)(=)].+\?.{,2}/

曲目 1,格式 B:

开始哨兵——一个字符(通常是'%')

Format code="B" — 一个字符(仅限字母)

主帐号 (PAN) — 最多 19 个字符。通常,但并非总是如此,与印在卡正面的信用卡号相匹配。

字段分隔符- 一个字符(通常为 '^')

名称- 2 到 26 个字符

字段分隔符- 一个字符(通常为 '^')

到期日期— YYMM 格式的四个字符。

服务代码——三个字符

任意数据— 可能包括密码验证密钥指示符(PVKI,1 个字符)、密码验证值(PVV,4 个字符)、卡验证值或卡验证码(CVV 或 CVC,3 个字符)

End sentinel - 一个字符(通常是“?”)

纵向冗余校验 (LRC) — 它是一个字符和一个有效字符,由轨道上的其他数据计算得出。

Track 2:这种格式是由银行业 (ABA) 开发的。该磁道采用 5 位方案(4 个数据位 + 1 个奇偶校验位)写入,它允许 16 个可能的字符,即数字 0-9,加上六个字符:< = > ? . 六个标点符号的选择可能看起来很奇怪,但实际上这十六个代码只是映射到 ASCII 范围 0x30 到 0x3f,它定义了十位数字字符加上这六个符号。数据格式如下:

开始哨兵——一个字符(通常是';')

主帐号 (PAN) — 最多 19 个字符。通常,但并非总是如此,与印在卡正面的信用卡号相匹配。

分隔符- 一个字符(通常为 '=')

到期日期— YYMM 格式的四个字符。

服务代码— 三位数。第一位指定交换规则,第二位指定授权处理,第三位指定服务范围

自由裁量数据——如第一轨

End sentinel - 一个字符(通常是“?”)

纵向冗余校验 (LRC) — 它是一个字符和一个有效字符,由轨道上的其他数据计算得出。大多数读卡器设备在刷卡到表示层时不会返回此值,并且仅使用它来验证读卡器内部的输入。

0 投票
2 回答
1798 浏览

java - card io没有在android中扫描信用卡

我正在尝试在我的应用程序中实现 Card.io,我按照Card.io网站上的说明进行操作,当我进入我的应用程序并启动它时。当我单击按钮时,我调用 CardIOActivity 并且无法打开相机。单击按钮时出现此屏幕在此处输入图像描述

这是我的清单代码:

这是我的java代码

}

我从来没有使用过card.io,我不知道出了什么问题。如何使用 Card.io 扫描我的签证或其他卡。如果有人知道解决方案,请帮助我。

0 投票
2 回答
718 浏览

iso8583 - 如何在我的应用程序中实时获取 BASE24 消息

如果银行授予我访问权限以分析这些消息,那么通过 BASE24 系统外部的任何应用程序实时获取特定银行网络的 BASE24 消息(用于信用卡/借记卡交易等)的方法是什么。

0 投票
3 回答
383 浏览

payment-gateway - 实体信用卡读卡器可以识别名字和姓氏吗?

我正在研究实体信用卡读卡器的工作原理,就像杂货店里的读卡器一样。他们能否识别出谁在付款,例如印在信用卡上的名字和姓氏?他们得到什么样的数据?物理读卡器是否获得信用卡号或只是一些令牌?

0 投票
1 回答
513 浏览

security - ATM CVV1 + 服务代码,POS 安全漏洞?

我是这个话题的新手,我发现所有支付系统当前的工作方式非常有趣。老实说,他们在阻止信用卡欺诈活动方面做得还不够。

据我了解,每张卡都有一个使用加密数据的智能芯片,这是为了克服磁条明文。

每张卡仍然有一个磁条以防 EMV 不起作用的问题(商家不想失去客户)。

当 POS 无法读取芯片时,它会回退到磁条。犯罪分子正在做的是克隆带有空白/不可读芯片的磁卡上的磁道 1//2,这将导致 POS 回退到磁条交易……在这种情况下,整个 EMV 是无关紧要的。

我认为这是非常危险的,并在我自己的卡片(201 / Chip and Pin)上进行了检查,结果如下:

我在空白磁条卡上克隆了我自己的 CC(201 / 芯片)并前往 ATM .. 输入 PIN 后,我得到了提款屏幕,按下最低金额,然后 ATM 显示“此卡无法提供服务”。

然后我做了一些研究,发现了这个: https ://github.com/samyk/magspoof/pull/3

我知道在更改服务代码时,CVV1 也会更改(PAN 的 DES 加密、Exp Date 和服务代码 = CVV1)。但我改变了它,看看会发生什么。

太奇怪了,我自己 CC 的克隆卡只在 1 台 ATM 上工作。我什至尝试将 CVV1 更改为随机数,但它仍在那个特定的 ATM 上工作(我的银行甚至没有检查 CVV1 ????)

有谁知道发生了什么事?为什么在更改服务代码时它适用于 1 款自动柜员机?为什么我的银行不验证 CVV1 值?

有人可以解释为什么我自己的克隆卡在使用 201 作为服务代码时不起作用?POS 应该做回退交易,因为他无法读取芯片。

真是令人困惑和可怕,这个简单的技巧(将 201 更改为 101)如何让 POS 继续交易,然后银行甚至没有验证 CVV1(我什至输入了 000 然后是随机数仍然有效)。

我应该向我的银行/POS 公司报告吗?

0 投票
1 回答
40 浏览

payment - QA 环境中是否应接受虚拟 VISA 信用卡?

我正在使用虚拟 Visa 卡(卡号:4929804357275739 / 到期日期:08/22 / CVV:249)进行 QA 测试。我可以用虚拟卡付款,并且交易被授权。在生产环境中,这不是因为它使用 RapidConnection 进行支付验证。交易是否也应该得到 QA 方的未经授权?或者这种验证机制只有在真实环境中进行测试才有意义,用于生产?

谢谢