Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 调用未定义的方法Stripe\Subscription::retrieve()_Php_Stripe Payments - Fatal编程技术网

Php 调用未定义的方法Stripe\Subscription::retrieve()

Php 调用未定义的方法Stripe\Subscription::retrieve(),php,stripe-payments,Php,Stripe Payments,我在CodeIgniter中使用Stripe,下面是我如何设置它的: 在我的条带控制器中,我通过以下方式调用库: require_once(APPPATH.'libraries/stripe/init.php'); 这是per 失败的功能是: function cancelSubscription($stripeaccount){ $customer = \Stripe\Customer::retrieve($stripeaccount); $sub_id = $custom

我在CodeIgniter中使用Stripe,下面是我如何设置它的:

在我的条带控制器中,我通过以下方式调用库:

require_once(APPPATH.'libraries/stripe/init.php');
这是per

失败的功能是:

function cancelSubscription($stripeaccount){

    $customer = \Stripe\Customer::retrieve($stripeaccount);
    $sub_id = $customer->subscriptions->data[0]->id;    
    echo $sub_id;
    $subscription = \Stripe\Subscription::retrieve($sub_id);
    $subscription->cancel();

}
我已通过echo确认,第一行的\Stripe\Customer呼叫实际上正在工作,并且正在撤回订阅ID。但是,当我尝试使用以下命令在第四行检索订阅时失败:

Fatal error: Call to undefined method Stripe\Subscription::retrieve()
Stripe的文档提供了以下示例:

$sub = \Stripe\Subscription::retrieve("sub_8PVEGdSaepQU26");
$sub->cancel();
正如你所看到的,除了我的变量名,它是一样的。我在这件事上一无所获,任何帮助都将不胜感激

结果:

打印(获取类方法('\Stripe\Subscription')


\Stripe\Subscription::retrieve api非常新,需要最新版本的Stripe php库(3.13.0),您应该尝试更新Stripe库。

如果不想更新Stripe,只需使用此函数取消
订阅

function cancelSubscription($stripeaccount){
      //$stripeaccount will be customer_id
    $customer = \Stripe\Customer::retrieve($stripeaccount);
    $sub_id->cancelSubscription(); 
      // cancelSubscription() is a function in Stripe_Customer Class,
      // So without getting subscription detail direct cancel the subscription 

 }

有关更多说明,请查看此处:

没有问题,
$sub\u id
?没有,我确实验证了返回的sub\u id在我的stripe帐户中是否有效。但我不认为它真的走得那么远,因为某种原因,它只是无法识别Subscription类。。。至少我是这么想的。
print\r(get\u class\u方法('\Stripe\Subscription'))
做什么?但不确定它是否返回静态方法!我更新了结果。奇怪的是,它有结果,但没有一个被检索到……将库更新为3.13.0,它的工作方式很有魅力。谢谢
function cancelSubscription($stripeaccount){
      //$stripeaccount will be customer_id
    $customer = \Stripe\Customer::retrieve($stripeaccount);
    $sub_id->cancelSubscription(); 
      // cancelSubscription() is a function in Stripe_Customer Class,
      // So without getting subscription detail direct cancel the subscription 

 }