【发布时间】:2016-09-02 21:22:00
【问题描述】:
我在 CodeIgniter 中使用 Stripe,我是这样设置的:
在我的 Stripe 控制器中,我通过以下方式调用库:
require_once(APPPATH.'libraries/stripe/init.php');
这是Stripe - PHP Fatal error: Class 'Stripe\Charge' not found
失败的函数是:
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
【问题讨论】:
-
$sub_id没问题? -
不,我确实验证了返回的 sub_id 在我的条带帐户中有效。但我认为它实际上并没有做到那么远,由于某种原因它无法识别 Subscription 类......或者至少我是这么认为的。
-
print_r(get_class_methods('\Stripe\Subscription'))是做什么的?不确定它是否返回静态方法! -
我更新了结果。奇怪的是它有结果,而且没有一个是 Retrieve...
标签: php stripe-payments