你做错了,但它实际上比两个提议的解决方案描述的要简单得多。
首先,你永远不会得到一张完整的卡片类型列表。多年来,我一直在创建信用卡处理软件,最好的处理器可以为您提供每个处理器的通用列表。他们提供的列表通常仅将卡分类为消费者级别 1 卡或 2 级或 3 级卡的变体(舰队、P 卡等)。因此,除非您正在处理发送带有结算的行项目详细信息,否则您不需要处理此问题。(相信我,你不想处理它......这是纯粹的混乱。)
您需要做的是有一个流程,您可以在传递信息时对资金进行授权保留。这会减去持卡人可以在卡上消费的金额,并将其保留供您领取。当您持有该款项时,您不太可能在收款时遇到问题。这不是预授权;预授权只能让您大致了解该卡是有效的,但不会保留资金供您以后收取。
然后,您可以通过两种方式收款:
- 使用执行主机捕获的处理器。这意味着在一天中的某个时间,您所有未完成的授权将自动结算。如果您在授权时提供电子信息,这听起来很适合您。
- 拥有自己的日常流程,将交易提交给处理器进行结算(也称为终端捕获)。使用这种方式,如果购买的物品的交付可能有一些延迟,您可以决定何时收款。(例如,也许您必须制造购买的物品。)
无论哪种方式,您的客户都可以使用他们想要的任何卡类型,并且只有在他们的购买交付后才会收取费用。他们甚至可以在购买后立即取消他们的卡,但他们将无法绕过您存入他们资金的 OTB(开放购买)的预订。因此,即使他们使用了虚拟卡或现金卡,他们也只能提取减去您预订金额的资金。
而且,与流行的看法相反,您可以存储信用卡号。这只是意味着您有更高的标准来实现 PCI 合规性。在您的情况下,标记化解决方案可能会降低此标准。有几个处理器提供此功能,但这是另一个线程的冗长讨论。