我正在尝试取消我在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();