Stripe为年度订阅增加免费天数

时间:2020-11-05 20:10:52

标签: php stripe-payments

注意:我已经审查过this stackoverflow post,但并没有帮助解决我的问题。

使用Stripe,我将客户从每月订阅升级为每年订阅,并且一点也不难。但是,通常,客户在每月订购时会剩下一些天数。目前有哪些不同的方法可以使他在不退款的情况下获得信誉?通过使用以下this page in the stripe docs中的示例代码,我可以从每月更改为每年:

\Stripe\Stripe::setApiKey('sk_test_5TTqs8H');

$subscription = \Stripe\Subscription::retrieve('sub_49ty4767H20z6a');
\Stripe\Subscription::update('sub_49ty4767H20z6a', [
  'cancel_at_period_end' => false,
  'proration_behavior' => 'none',
  'items' => [
    [
      'id' => $subscription->items->data[0]->id,
      'price' => 'price_CBb6IXqvTLXp3f',
    ],
  ],
]);

以上结果导致我现在要收费。现在假设他当前的帐单周期还剩15天。我如何才能将他的下一份帐单再延迟15天,而不是给他15天的信用额度。 Stripe文档建议将trial_end设置为下次计费之前的15天。但是,必须有更好的方法,因为用户status将在下一年零15天试用。这与我的应用程序的其他部分弄乱了,后者依赖于了解用户是否为试用用户。

尽管如此,Stripe建议这样做:

$new_anchor = 1605830400;
\Stripe\Subscription::update('sub_49ty4767H20z6a', [
    'trial_end' => $new_anchor
]); 

同样,这似乎是一种黑客行为,因为它会在用户未试用时将其标记为试用。只是想知道其他人如何完成此升级。同样,现在尝试向客户收费,不按比例分配,也不尝试使用Stripe正在使用的试用建议。

0 个答案:

没有答案