【发布时间】:2021-01-05 12:19:38
【问题描述】:
当我将现有订阅的用户引导到 Stripe 支付页面时,Stripe 会在客户提交付款时自动创建新订阅。
让我告诉 Stripe 我想扩展现有订阅而不是创建新订阅的工作流程是什么?
我向 Stripe 支持人员提出了这个问题,这就是我得到的答案:
要回答您的问题,如果您使用第三方平台来创建此选项,这将取决于您的集成,但是对于 Stripe,这只能使用我们提供的参考手动完成,这意味着您必须无需客户先付款即可延长订阅。
关于第三方平台,我不明白为什么 API 对他们和我的工作方式不同。这是否意味着 Stripe 有一个秘密 API,我必须购买第三方产品才能有效使用该服务?
这意味着您必须在不要求客户先付款的情况下延长订阅。
这是让我感到悲伤的部分。这似乎是一个非常困难的工作流程。我在什么时候延长订阅?如果客户从不付款怎么办?是什么触发我取消扩展它?我怎样才能可靠地向客户报告他们的订阅结束日期?扩展订阅似乎是一项基本的、平凡的任务。真的有这么难吗?
编辑每个请求发布的代码:
SessionCreateOptions options = new SessionCreateOptions
{
PaymentMethodTypes = new List<string> { "card" },
LineItems = new List<SessionLineItemOptions>
{
new SessionLineItemOptions { Price = order.PaymentProviderPlanID, Quantity = 1 }
},
Customer = order.CustomerID,
CustomerEmail = string.IsNullOrEmpty(order.CustomerID)? order.UserEmail : null,
Mode = "subscription",
SuccessUrl = hostURL + "/Subscription/CreateSubscription?session_id={CHECKOUT_SESSION_ID}",
CancelUrl = hostURL + "/SubActivationFailure",
};
【问题讨论】:
-
你能解释一下“延长订阅”是什么意思吗?是设置在某个日期取消,还是已经取消?
-
@NolanH 我的意思是续订。是的,如果客户不续订,它将被设置为在订阅期结束时取消。我想它可能会过期或取消。它很可能仍处于活动状态,但即将到期。
-
我怀疑这里需要更多信息来理解工作流程,您可能没有意识到这很重要。除非您另有说明,否则订阅将无限期继续。例如,如果您已将订阅设置为在期末取消,您可以通过将
cancel_at_period_end=false发送到订阅更新端点来撤消该操作。 stripe.com/docs/billing/subscriptions/… -
您无需使用第 3 方服务来完成此操作,但如果您分享有关如何创建这些订阅并将其设置为取消的详细信息会有所帮助。
-
我没有手动创建订阅。当客户付款并且我不碰它时,Stripe 会这样做。我可以查看门户并查看当前期间结束日期是否根据定价项目的计费周期正确设置。请参阅更新的代码问题。
标签: stripe-payments