通过 stripe-php SDK 使用结帐,我的网站拥有标准年度会员资格,每年费用为 100 美元。如果我在 2024 年 3 月 26 日注册,它将按预期在 2025 年 3 月 26 日自动续订。
我需要将计费时间表更改为日历年,即1月1日至12月31日。
我知道我可以将
billing_cycle_anchor
设置为 2025 年 1 月 31 日。但是,这引入了 proration_behavior
,即 always
或 none
。
Always - 按比例分配,因此,如果我在 3 月 26 日注册,它将向我收取 77 美元,并于 2025 年 1 月 31 日按全额发票向我开具发票。 无 - 今天的价格为 0 美元,并且在 2025 年 1 月 31 日之前无需付款,因此几乎一整年的无意免费会员资格。
$nextYear = date('Y') + 1;
$checkout_params = [
'line_items' => [
[
'price' => $prices->data[0]->id,
'quantity' => 1,
],
],
'mode' => 'subscription',
'success_url' => $success_url . '?success=true&session_id={CHECKOUT_SESSION_ID}',
'cancel_url' => $return_url,
'customer_email' => $email,
'subscription_data' => [
'billing_cycle_anchor' => strtotime("{$nextYear}-01-01"),
'proration_behaviour' => 'none',
]
];
$checkout_session = \Stripe\Checkout\Session::create($checkout_params);
我不想按比例分配,如果有人今天(3 月 26 日)注册,我希望向他们收取 100 美元(年度订阅的全部费用)。然后再谈计费周期。这在 Stripe 中可能吗?
您可以使用
payment
模式结帐会话向您的客户收取 100 美元的临时会员资格(请记住设置 setup_future_usage 以保存此付款中使用的付款方式),并创建 订阅计划 来开始订阅明年1月1日。