银行卡号如何与 Apple Pay 和 Google Pay 配合使用?什么是 dynamic_last4?

当客户将其银行卡添加到 Apple 或 Google Pay 后,Apple 和 Google 将自动生成一个新的卡号,称为 DPAN(设备 PAN),随附新的有效期。DPAN 与真实卡号完全不同:

发卡行通常为每个 PAN BIN 使用配对的 "DPAN BIN"(具有相同的资金类型,长度通常为 8 位),但这不能保证一致。

这一切都是在幕后进行的,并未明确地向持卡人公开。每当客户使用 Apple 或 Google Pay 付款时,系统都会将此 DPAN 发送给商家/处理商,确保他们绝对不会看到真实的卡号或真实的有效期。

但是,该流程存在的一个问题在于,商家可以显示的有关购买相关银行卡的信息不同于客户的真实卡号,因为商家会引用 DPAN 的最后 4 位数字。

Apple 和 Google 将真实卡号的最后 4 位数字连同 DPAN 发送给处理商,以解决这个问题。这意味着我们将从 DPAN 扣款,但会在 API 的 last4 属性中显示真实卡号的最后 4 位数字。这使商家更容易报告有关所使用银行卡的详细信息。另外,我们也会将 DPAN 的最后 4 位数字放在 dynamic_last4 属性中,以便商家可以确认我们从中扣款的 DPAN 的详细信息。请注意,对于添加到 Apple Pay 的 Apple Cards,Apple 不会显示真实卡号的最后 4 位数字。在这种情况下,last4dynamic_last4 两者都是指 DPAN 的最后 4 位数字。这是一种特例,目的是将 Apple Cards 与 Apple Pay 配合使用这是一个独特的案例。

由于我们没有真实的卡号,因此将根据 DPAN 而不是真实的卡号来计算 fingerprint 。这意味着,如果将同一张银行卡添加到两个不同的设备,则同一张银行卡会指向两个不同的 DPAN,并会导致 API 或管理平台中出现两个不同的指纹。

在测试模式下,银行卡的 last4 属性仍将匹配原始银行卡的最后 4 位数字。但是,对于 Apple Pay,我们会忽略 DPAN 并自动使用测试银行卡号 4242424242424242。由于测试银行卡号 4242 属于 Visa 卡,这意味着,管理平台和 API 中反映的银行卡品牌和资金类型分别为 Visa 和信用卡,即使实际使用的银行卡来自不同的品牌或具有不同的资金类型。 对于 Google Pay,Google 将 DPAN 替换为其测试套件中的测试银行卡号之一,这会存在与实际使用的银行卡不匹配的问题。