我正在尝试取消我在Stripe API中创建的任何订阅。 我有创建时间表订阅的计划ID。 如何取消PHP中的时间表订阅? 我尝试调用取消功能。
\Stripe\SubscriptionSchedule::cancel
但是我面临以下错误:
Deprecated: Non-static method Stripe\SubscriptionSchedule::cancel() should not be called statically
您能告诉我应该调用什么函数以及我应该使用什么参数?
分析解答
stripe-php库在7.33.0中添加了对客户和服务的支持。这是在详细信息这里中记录的。如果您在该版本之后使用,则可以直接调用服务上的cancel()
方法,这是API参考显示这里:
$stripe = new \Stripe\StripeClient('sk_test_123');
$stripe->subscriptionSchedules->cancel('sub_sched_ABC');
另一方面,如果您有库的较旧版本,则需要通过资源使用旧方法。在这种情况下,没有静态cancel()
方法(服务基础架构的优势之一)。因此,您必须先检索时间表,然后取消时间表:
\Stripe\Stripe::setApiKey('sk_test_123');
$schedule = \Stripe\SubscriptionSchedule::retrieve('sub_sched_ABC');
$schedule->cancel();