我有一个Android Kiosk POS,我将其出售给客户以接受付款。为了接受付款,将USB磁性刷卡读卡器连接到Android Kiosk(它具有USB端口),并且在刷卡时,只要键盘输入输入,监听活动就会对其进行解析并提取所需的卡信息。然后,我们从Stripe获得该卡的令牌,并通过Stripe对其进行收费。自从我们发布以来,它一直运行良好。
但是,出现了新的需求。这就需要接受EMV和Google / Samsung / Apple Pay +将来会发生的任何NFC付款。我刚刚从中国购买了另一个USB读卡器,该读卡器接受芯片+ NFC +刷卡。我知道如何处理滑动部分,这与我目前在现场使用的单一功能读卡器所做的相同。
但是,我不知道如何接受芯片,尤其是NFC付款。我在手机上安装了Google Pay,只要将它放在这个新的读卡器附近,它就会发出蜂鸣声并键入8位数字(即使不是,也可以认为是键盘)。因此,我知道它可以检测到所有这些并生成一些数字,但是我不知道这个数字是什么意思。我以为是应该给我卡号的,并且一路通过磁刷就能给我轨道。 EMV部分也是如此...但是,对于读卡器的EMV部分,它甚至似乎都没有得到任何输入。
我希望有人对使用这种类型的Android设备有经验,可以为我提供指导。
答案 0 :(得分:1)
您在阅读器上收到的号码不是卡号(PAN)-它是代表您的卡的令牌(有时称为DPAN),但与卡号不同。
来自Google Pay Merchant Help - How payments work(重点是我):
当客户在商店付款时,Google Pay不会向商家发送其客户的实际卡号;相反,Google Pay简化了称为令牌化的过程,该过程中,令牌代表客户的实际信用卡和借记卡号。
[...]
要进行购买,客户在销售点终端上轻按其移动设备,或选择使用您的移动应用程序付款。 Google Pay 会以客户的令牌化卡和用作一次性密码的密码进行响应。卡网络验证密码并将令牌与客户的实际卡号匹配。
有效地,这是一项安全功能,可以防止恶意读卡器仅从支持Google Pay,Apple Pay或类似付款方式的电话中读取和存储卡号。
答案 1 :(得分:0)
我已经实现了开源EMV付款框架(https://github.com/vicente-da-silva/dcemv)。这同时实现了EMV非接触式和接触式内核。有各种NFC驱动程序。它可以在Android上运行。您可以将其用于EMV交易,在该交易中,是否需要对PAN进行令牌化,但对于通过HCE进行令牌化的卡,要处理的银行/收款人必须与Samsung / Apple / Google Pay集成,才能将令牌和令牌传递给他们。将其转换回原始PAN。