调用未定义的方法 Stripe\Subscription::retrieve()
Call to undefined method Stripe\Subscription::retrieve()
我在 CodeIgniter 中使用 Stripe,我是这样设置它的:
在我的 Stripe 控制器中,我通过以下方式调用库:
require_once(APPPATH.'libraries/stripe/init.php');
这是根据
失败的函数是:
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();
}
我已经通过回显确认,第一行的 \Stripe\Customer 调用实际上正在工作并撤回订阅 ID。但是,当我尝试在第 4 行检索订阅时失败:
Fatal error: Call to undefined method Stripe\Subscription::retrieve()
Stripe 的文档给出了以下示例:
$sub = \Stripe\Subscription::retrieve("sub_8PVEGdSaepQU26");
$sub->cancel();
如您所见,除了我的变量名外,其他都是一样的。我对此一无所知,任何帮助将不胜感激。
结果:
print_r(get_class_methods('\Stripe\Subscription'));
[0] => instanceUrl [1] => cancel [2] => save [3] => deleteDiscount [4] => baseUrl [5] => refresh [6] => className [7] => classUrl [8] => init [9] => __construct [10] => __set [11] => __isset [12] => __unset [13] => __get [14] => offsetSet [15] => offsetExists [16] => offsetUnset [17] => offsetGet [18] => keys [19] => constructFrom [20] => refreshFrom [21] => serializeParameters [22] => __toJSON [23] => __toString [24] => __toArray
\Stripe\Subscription::retrieve api 非常新,需要最新版本的 stripe-php 库 (3.13.0),您应该尝试更新您的 Stripe 库.
如果不想更新条带,只需使用此函数即可 cancel
subscription
:
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
}
更多解释,请看这里:
我在 CodeIgniter 中使用 Stripe,我是这样设置它的:
在我的 Stripe 控制器中,我通过以下方式调用库:
require_once(APPPATH.'libraries/stripe/init.php');
这是根据
失败的函数是:
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();
}
我已经通过回显确认,第一行的 \Stripe\Customer 调用实际上正在工作并撤回订阅 ID。但是,当我尝试在第 4 行检索订阅时失败:
Fatal error: Call to undefined method Stripe\Subscription::retrieve()
Stripe 的文档给出了以下示例:
$sub = \Stripe\Subscription::retrieve("sub_8PVEGdSaepQU26");
$sub->cancel();
如您所见,除了我的变量名外,其他都是一样的。我对此一无所知,任何帮助将不胜感激。
结果:
print_r(get_class_methods('\Stripe\Subscription'));
[0] => instanceUrl [1] => cancel [2] => save [3] => deleteDiscount [4] => baseUrl [5] => refresh [6] => className [7] => classUrl [8] => init [9] => __construct [10] => __set [11] => __isset [12] => __unset [13] => __get [14] => offsetSet [15] => offsetExists [16] => offsetUnset [17] => offsetGet [18] => keys [19] => constructFrom [20] => refreshFrom [21] => serializeParameters [22] => __toJSON [23] => __toString [24] => __toArray
\Stripe\Subscription::retrieve api 非常新,需要最新版本的 stripe-php 库 (3.13.0),您应该尝试更新您的 Stripe 库.
如果不想更新条带,只需使用此函数即可 cancel
subscription
:
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
}
更多解释,请看这里: