有一个可以免费试用或不免费试用的客户订阅计划

时间:2020-04-22 10:47:05

标签: php paypal paypal-subscriptions

假设我确实有一个青铜计划,该计划为用户提供1个月的[免费试用]。

当用户取消他们的青铜计划时,这是他们第二次购买青铜计划时,它应该不再具有[免费试用]。

另一种情况是,当用户升级到黄金计划时,由于他们已经使用过一次试用版,因此它们不再适用于[免费试用]。

有什么解决办法吗?

我正在努力避免创建重复的计划。

就像为一个拥有免费试用版的青铜计划和一个没有免费试用版的青铜计划创建一个计划。

我总共有6个计划,如果我确实创建了一个重复计划而没有嵌入免费试用版,那么它将有12个计划,这会使事情变得复杂。

不确定这是否有帮助,但是我正在使用Paypal按钮JS SDK创建订阅。

paypal.Buttons({
    createSubscription: function(paypal_data, actions) {
        return actions.subscription.create({
            "plan_id": data.plan_id
        });
    } //And so on...
}).render('#paypal-button-container');

我的目标是就像我们处理Stripe订阅功能一样。我可以自由选择是否要进行30天的免费试用。

return Subscription::create([
    'customer' => $customer_id,
    'items' => [
        [
            'plan' => $plan_id
        ]
    ],
    'trial_period_days' => 30,
    'expand' => ['latest_invoice.payment_intent']
]);

API参考链接:

https://developer.paypal.com/docs/api/subscriptions/v1/

https://developer.paypal.com/docs/api/subscriptions/v1/#plans

1 个答案:

答案 0 :(得分:0)

我已发送了有关Paypal技术支持的票证,并收到了有关此问题的回复。

引自我收到的部分电子邮件

根据您的描述,您要动态设置免费 试用已创建的计划,对吧?

但不幸的是,我们当前的订阅付款产品没有 计划制定后,支持动态更改试用信息 已创建。

因此,根据我的建议,目前最好的解决方案是准备2 每个计划的版本(试用开/关),共有12个计划 也提到了。这是开展业务的唯一方法 要求。

简而言之,目前没有一种计划可以在创建计划后动态更改试用信息。