Stripe 时间表创建 90 天(当前日期 + 90 天)

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

我在通过条带会话创建 90 天的条带计划(当前日期 + 90 天)时遇到问题。在我的页面上选择套餐后,它将重定向到 Stripe UI,客户可以在其中输入付款详细信息。

const line_items = [
      [
        {
          price: "price_1PM8z7P7ZWYXRvciYRvdPmPc", // subscription fee /month interval
          quantity: 1,
        },
        {
          price: "price_1PH2ayP7ZWYXRvcioelaTBhc", // media budget fee /month interval
          quantity: 1,
        },
      ],
    ];

    let subscription_data = {
      description: "Subscription description Loc L1, Loc L2",
    };

  
      subscription_data = {
        ...subscription_data,
        billing_cycle_anchor: 1732905000, // Sat Nov 30 2024 00:00:00
        proration_behavior: "none",
      };
    

    /* subscription_data = {
      ...subscription_data,
      trial_end: 1738348200,
    }; */

    const session = await stripe.checkout.sessions.create({
      ui_mode: "embedded",
      mode: "subscription",
      customer: customer,
      line_items: line_items[price_set],
      subscription_data: subscription_data,
      metadata: {
        Loc1Id: "Loc1 description",
        Loc2Id: "Loc2 description",
      },
      return_url: `http://localhost:3000/success?success=true&session_id={CHECKOUT_SESSION_ID}`,

    });

    res.json({
      id: session.id,
      url: session.url,
      client_secret: session?.client_secret,
      session,
    });

它给我错误“billing_cycle_anchor 不能晚于下一个自然计费日期。”

我也尝试在条纹上找到解决方案 enter image description here

但这不是我的问题的解决方案,我需要一些解决方法。

我需要这个问题的解决方案或解决方法。

node.js stripe-payments stripes
1个回答
0
投票

billing_cycle_anchor
billing_cycle_anchor_config
不会帮助您,他们不允许设置超出价格循环周期的日期(我认为这里是一个月)。

在单个会话创建调用中执行此操作的唯一方法是使用试用期:

subscription_data:{
  trial_period_days:90
}

这可能不适合,因为您可能想在第一天向客户收费,在这种情况下,解决方案是为第一天添加一次性价格:

line_items:[
  {
    price_data: {
      currency: currency,
      product_data: {
        name: 'product name',
      },
      unit_amount: amount,
    },
    quantity: 1,
  }

如果会话中的设置外观仍然不适合您,下一个方法是进行两次调用:
-以 90 天的价格创建您的会话
- 使用 30 天价格更新订阅:

items: [
  {
    id: subscription.items[0].id,
    price: 30_day_price,
  },
],
proration_behavior: 'none'

第一个 90 天期限结束后,订阅将自动更新为 30 天价格,无需按比例分配。

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