【问题标题】:Stripe recurring payments for 3DS sourceStripe 3DS 源的定期付款
【发布时间】:2017-09-12 19:45:50
【问题描述】:

我想使用 Stripe 每 30 天以浮动的金额定期向卡收费。

从我得到的文档中,如果卡有可能需要 3DS,我们应该使用 Sources,所以我切换到 Sources ;)

从stripe.js 检索的源对象中,我查看three_d_secure 参数来决定是否创建需要3DS 或普通卡充电的源对象。

流程:

使用 JS,我得到了将 three_d_secure 设置为 optional 或 required 的源对象。 当我使用source = Stripe::Source.retrieve(source_id) 检索源后将其设置为 可选 时,它看起来像这样:

"status": "chargeable",
"type": "card",
"usage": "reusable",
"card":{"exp_month":12,"exp_year":2032,"brand":"Visa",...

给顾客安装,收费。我猜usage: reusable的意思是我可以稍后再充卡……

当three_d_secure=='required' 我创建一个新的source 调用这个:

source = Stripe::Source.create({
    amount: amount,
    currency: currency,
    type: 'three_d_secure',
    three_d_secure: {
      card: source_id, #src_xcvxcvxcvc
    },
    redirect: {
      return_url: return_url
    },
})

我将用户重定向到 Stripe 提供的 URL,用户输入他的 3DS PIN 并返回到我的return_url。当 Stripe 将用户重定向回我的 return_url 时,我再次检索源并得到如下内容:

"status": "chargeable", "type": "three_d_secure", "usage": "single_use", "three_d_secure": {"card":"src_1B1JzQHopXUl9h9Iwk05JV1z","authenticated":true,"customer":null}

我希望在通过 3DS 之后,源可以重复使用和收费,直到到期日期左右:|

我的问题是:

1 为什么 3DS 源是单一用途的?是只在sanbox环境下还是在我用来测试的卡上这样?

2 受 3DS 保护的卡可以再次充电吗?

3 附加到可反复收费的客户来源(3DS 或普通)的正确方法是什么?

谢谢!

【问题讨论】:

    标签: stripe-payments


    【解决方案1】:
    1. 因为它是source payment token,而不是source card token。它在到期日或消耗时到期。您可以使用reusable 令牌创建single_use 令牌。 reusable 一个代表card source token

    2. 如果 3ds 是 optional 或 not_supported 是,如果是 required,则不是。如果required,那么每次付款都需要完成一个3ds。

    3. 步骤:

      • 为卡片创建 src_card_token 或使用已保存的卡片 (reusable)

      • 用来自src_card_token的src创建一个customer object

      • 使用客户保存的一张卡片(作为令牌)为客户创建src_payment_token

      • 如果需要,完成 3ds 重定向过程。

      • 创建费用

    【讨论】:

    • 谢谢@sebastian。我到家后试试你的步骤!干杯
    • 在西班牙,如果金额超过 x €,大多数银行都需要 3DS 流量。这是否意味着对于那些用户,我根本无法选择每月创建新费用,而他们必须通过返回他们的个人资料手动完成?谢谢
    • @luigi7up 这不是正确的方法。您需要使用订阅而不是标准付款。 stripe.com/docs/subscriptions 和 stripe.com/docs/sources/three-d-secure/subscriptions
    • 我查看了订阅,它们似乎可以工作,但我更喜欢能够在需要时手动为源收费的选项:\ 我通过对 three_d_secure 源收费并附加卡源随附给客户以供以后收费。看起来一切都很好,但是...... :) 在客户来源下的仪表板中,我将卡列为收费广告作为默认方法。当我尝试再次收费时,我收到“您的卡被银行拒绝”:\
    • 您不能以这种方式对卡进行收费,这违反了法律和 PCI 合规性规则。您唯一的方法是使用订阅进行定期付款。
    猜你喜欢
    • 2018-12-23
    • 2022-12-16
    • 2017-04-16
    • 2015-08-23
    • 2019-06-20
    • 2015-06-13
    • 2018-12-05
    • 1970-01-01
    • 2020-08-16
    相关资源
    最近更新 更多