Stripe 集成订阅

问题描述 投票:0回答:1

如何在您的应用程序中集成Stripe订阅?这样流量好吗?

从前端我直接调用 this.stripe.createPaymentMethod 并将卡详细信息传递给 stripe。

比我调用 BE 路线“/create-subscription”并向其传递 PaymentMethodID、价格、订阅间隔等以及有关客户的详细信息。

然后 Be 将为他创建客户和子项目。

价格是动态的,根据用户在系统中定义的价格进行计算。我不能在 stripe 中设置固定价格,只需将一些 PriceID 传递给 stripe 即可。我需要从 FE 价格转到 BE 价格。但我想这不太好?

您对整个流程有何看法?

重要的是形式应该被嵌入。

我是 FE 开发人员,我需要找到处理此集成的最佳方法。他们对我有这样的期望。

angular stripe-payments subscription
1个回答
0
投票

我个人并不同意这个流程,主要是因为它没有针对 3DSecure 身份验证进行优化。

createPaymentMethod
方法不会验证卡。当您在后端使用付款方式 ID 创建订阅时,如果订阅的首次付款需要 3DSecure 身份验证,您该怎么办?唯一的方法是返回 FE 并使用
confirmCardPayment
方法确认付款。

考虑到这一点,有两种方法可以使用自定义表单来实现订阅:

您可能不喜欢这样 - 许多用户不愿意创建订阅,直到他们知道自己收集了付款方式。

  • 在这种情况下,请先通过设置意图收集付款方式(如果需要,它将处理 3DS)
    https://docs.stripe.com/ payments/save-and-reuse?platform=web&ui=elements
    然后使用
    setup_intent.payment_method
    创建您的订阅。确保在订阅创建中设置
    off_session=true
    ,以便 Stripe 知道订阅的第一笔付款不是在会话中进行的,因此应该免除身份验证。

关于可变定价,您可以使用

price_data
数组创建与订阅创建调用内联的价格(无需单独创建价格)。
Stripe 似乎已经删除了有关此订阅数组的所有指南文档,但您可以在此处看到它用于 Stripe Checkout:
https://docs.stripe.com/ payments/accept-a- payment?platform=web&ui=stripe-hosted#redirect-customers
请注意,对于订阅,不支持
product_data
数组 - 您仍然需要一个 Product 对象。

© www.soinside.com 2019 - 2024. All rights reserved.