我们的用户流程是这样的:
- 用户将通过 Apple Pay 请求服务 (PKPaymentSummaryItemTypePending)
- Stripe 将提供 Apple Pay 代币
- 我们将提供服务
- 我们将向用户收取服务费
我们有一个雷达规则来阻止预付卡。不幸的是,如果您使用预付卡使用 Apple Pay,它将通过第 1-3 步,然后在第 4 步被阻止。
因此,用户将免费获得该服务。
目标是在第 2 步阻止它们。
我们如何在第 3 步之前验证卡?
我们的用户流程是这样的:
我们有一个雷达规则来阻止预付卡。不幸的是,如果您使用预付卡使用 Apple Pay,它将通过第 1-3 步,然后在第 4 步被阻止。
因此,用户将免费获得该服务。
目标是在第 2 步阻止它们。
我们如何在第 3 步之前验证卡?
从条纹:
参考1
当您在 Stripe 帐户上设置了 Radar 规则时,它实际上不会在标记化阶段运行规则。相反,它会在进行收费尝试时运行,这就是为什么当您第一次标记 Apple Pay 卡时它没有发生。当您对卡片进行标记并将其附加到客户对象时,我们会执行 $0 或 $1 授权以确保卡片详细信息有效。但是,这不会在卡上运行任何类似 Radar 规则的东西。这只是确保我们理论上可以从卡上收费的一步。
如果您希望能够在尝试收费之前在标记化阶段“阻止”预付卡,则需要进行一些自定义开发,因为您用于阻止预付卡的 Radar 规则仅在收费阶段有效. 为了防止预付卡通过令牌阶段,您可以做的是在您的终端上放置一些代码,在您创建令牌后查看卡令牌的“资金”。这会告诉您它是什么类型的卡,例如借记卡、信用卡或预付卡。
https://stripe.com/docs/api#token_object-card-funding
如果您的代码确认它是预付卡,您只需在此处停止收费过程,而是选择向您的客户显示不接受预付卡,并使用普通借记卡或信用卡
参考文献 2
将令牌附加到客户后,Stripe 将自动尝试 $0 / $1 授权。授权将在客户创建后发生,或者如果他们正在使用 Checkout。这是一个包含更多信息的链接:
该授权不使用令牌,它是发生在我们这边的后端事件。