Php 调用未定义的方法Stripe\Subscription::retrieve()
我在CodeIgniter中使用Stripe,下面是我如何设置它的: 在我的条带控制器中,我通过以下方式调用库: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
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
}