条纹:在保存的卡上创建 30 天试用订阅费用,但允许用户升级并立即开始收费?

Posted

技术标签:

【中文标题】条纹:在保存的卡上创建 30 天试用订阅费用,但允许用户升级并立即开始收费?【英文标题】:stripe: Create a 30-day trial subscription charge on a saved card but allow user to upgrade and start charging immediately? 【发布时间】:2020-03-20 08:45:02 【问题描述】:

因此,在用户创建帐户之前,我想保存他们的信用卡以通过 30 天试用期收取订阅费用,并且能够在用户需要时立即从卡中收取订阅费用。

所以我的逻辑是

1) 创建客户

2) 为客户添加付款详情

3) 使用 30 天试用创建订阅

4) 在用户升级操作时激活订阅

我不清楚 4) 是如何实现的。我在 3) 上得到了这个,30 天后,他们订阅了。但如果客户想在试用期结束前立即开始使用完整版,我该如何为订阅收费?

const stripe = require('stripe')('sk_test_asdfasdf');
(async () => 
  // Create a Customer:
stripe.customers.create(
  email: 'jenny.rosen@example.com',
  payment_method: 'pm_1FWS6ZClCIKljWvsVCvkdyWg',
  invoice_settings: 
    default_payment_method: 'pm_1FWS6ZClCIKljWvsVCvkdyWg',
  ,
, function(err, customer) 
  // asynchronously called
);

//create subscription
stripe.subscriptions.create(
  customer: 'cus_4fdAW5ftNQow1a',
  items: [
    
      plan: 'plan_CBXbz9i7AIOTzr',
    ,
  ],
  expand: ['latest_invoice.payment_intent'],
, function(err, subscription) 
    // asynchronously called
  
);

)();

【问题讨论】:

【参考方案1】:

我会很快插话,希望能帮助您找到正确的方向;这听起来像是设置意图的一个案例。您可以收集付款详细信息,并打算在以后收取费用。由于审判一开始不会产生任何费用,所以一切都很好。但是,您制定了将订阅从试用状态切换到活动状态的逻辑,您需要更新订阅结束日期以结束试用。

这里很好地总结了这一点,大部分情况下,除了更新订阅和设置trial_end 参数:

https://stripe.com/docs/payments/save-and-reuse

关于更新订阅的 API 文档条目:

https://stripe.com/docs/api/subscriptions/update#update_subscription-trial_end

试用结束后,无论是“自然”还是通过明确设置结束时间戳,都应发送发票或收取默认付款方式,具体取决于您的设置。关于用户体验,在这里以良好的流程工作不会有什么坏处;例如,在实际启动之前,有一个确认步骤让客户知道他们将被收取 X 金额。

以下是其他有用的文档:

https://stripe.com/docs/saving-cards https://stripe.com/docs/payments/setup-intents https://stripe.com/docs/billing/subscriptions/trials https://stripe.com/docs/billing/subscriptions/payment#handling-trial https://stripe.com/docs/api/subscriptions/update

【讨论】:

以上是关于条纹:在保存的卡上创建 30 天试用订阅费用,但允许用户升级并立即开始收费?的主要内容,如果未能解决你的问题,请参考以下文章

条纹创建帐户并收取卡

Woocommerce 订阅:自动创建续订订单并暂停有效订阅

使用 REST API 创建 PayPal 订阅计划,试用期为 7 天

带有订阅和试用期的条纹支付元素

条纹复制客户

带有试用和失败付款通知的计费协议