【问题标题】:Can't cancel the subscription on stripe in cakephp无法取消 cakephp 中的条带订阅
【发布时间】:2016-10-21 19:58:01
【问题描述】:

我正在使用这个 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()

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

【问题讨论】:

    标签: cakephp-2.0 stripe-payments


    【解决方案1】:

    将此函数称为

        Stripe_Subscription::retrieve('SUBSCRIPTION_ID')
    

    【讨论】:

    • 我试过但得到这个错误Fatal error: Call to undefined method Stripe\Subscription::retrieve()
    【解决方案2】:

    我在谷歌上搜索了太多这个问题,但我只得到了一些类似的结果

    • 将 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 相关的订阅将被取消。

    【讨论】:

      猜你喜欢
      • 2020-03-22
      • 2015-09-24
      • 1970-01-01
      • 2012-01-26
      • 1970-01-01
      • 1970-01-01
      • 2012-06-30
      • 1970-01-01
      • 2020-01-12
      相关资源
      最近更新 更多