我们的用户流程是这样的:
- 用户将使用苹果支付请求服务 (PKPaymentSummaryItemTypePending(
- Stripe将提供Apple Pay令牌
- 我们将提供服务
- 我们将向用户收取服务费用
我们有一个雷达规则来阻止预付卡。不幸的是,如果您将Apple Pay与预付卡一起使用,它将通过步骤1 - 3,然后在步骤4被阻止。
因此,用户将免费获得服务。
目标是在步骤 2 中阻止它们。
我们如何在步骤 3 之前验证卡?
- 创建Apple Pay令牌后,请检查卡的"资金",如果它是预付的,则阻止它
- 不要只向 apple pay 代币收费,而是将其附加到客户对象,然后稍后向客户收费。
从条纹:
参考文献 1
当您的 Stripe 账户上设置了雷达规则时,它不会 实际上在标记化阶段运行规则。相反,它运行 当进行充电尝试时,这就是它没有发生的原因 当您第一次标记该Apple Pay卡时。当您标记卡片时 并将其附加到客户对象,我们执行 $0 或 $1 授权 确保卡详细信息有效。这不会运行任何类似 然而,卡上的雷达规则。这只是确保我们能够 理论上给卡充电。
如果您希望能够在 尝试收费之前的标记化阶段,这需要一些 自定义开发,作为您设置的雷达规则来阻止 预付卡仅在充值阶段有效。防止预付 卡从通过令牌阶段,你能做的就是拥有 您的终端有一些代码,用于查看卡的"资金" 创建令牌后的令牌。这告诉您它是什么类型的卡 是,例如借记卡、信用卡或预付卡。
https://stripe.com/docs/api#token_object-card-funding
如果您的代码确认它是预付卡,您只需停止 在这里收费流程,而是选择向您的客户展示 不接受预付卡,不接受普通借记卡或信用卡 卡
参考文献 2
一旦您,Stripe 将自动尝试 $0/$1 授权 将令牌附加到客户。授权将发生一次 客户已创建,或者他们使用的是结账。这是一个带有 更多信息:
https://support.stripe.com/questions/why-does-my-customer-see-an-extra-1-00-charge-on-their-statement
该授权不使用令牌,它是一个后端事件 发生在我们这边。