无法在cakephp中取消对条带的订阅

Can't cancel the subscription on stripe in cakephp

我正在使用这个 Cakephp StripeComponent 插件:https://github.com/chronon/CakePHP-StripeComponent-Plugin

一切正常,但我无法使用此插件取消订阅。

我试过这个https://stripe.com/docs/api#cancel_subscription,但没有成功。

如其所说retrieve订阅然后cancel()但是这个插件没有任何retrieve subscription功能。

当我尝试这个时,

$sub = \Stripe\Subscription::retrieve('SUBSCRIPTION_ID');
$sub->cancel();

我遇到错误 Fatal error: Call to undefined method Stripe\Subscription::retrieve()

我卡住了..请帮我解决这个问题。

调用此函数为

    Stripe_Subscription::retrieve('SUBSCRIPTION_ID')

我在 google 上搜索了太多这个问题,但我只得到了一些结果,比如

  • 将 Stripe 库更新到 3.13.0。

  • 添加自定义函数....等等

最后我自己解决了这个问题..

StripeComponent.php中写这个函数:

public function subscriptionCancel($cust_id) {
    Stripe::setApiKey($this->key);
    $customer = false;
    try {
        $customer = Stripe_Customer::retrieve($cust_id);
        $customer->cancelSubscription();
    } catch (Exception $e) {
        return false;
    }
    return $customer;
}

并在您的控制器中将此 function subscriptionCancel() 命名为:

$subscription = $this->Stripe->subscriptionCancel($cust_id);

因此与特定 $cust_id 相关的订阅将被取消。