如何使用Stripe PHP API删除客户?调用delete方法传参报错如何解决?
错误原因
该报错是Stripe PHP SDK版本不匹配导致的:你参考的写法对应旧版SDK的调用规则,而你本地项目安装的是较新版本的Stripe PHP SDK,新版SDK对静态方法的传参规则做了统一调整,要求所有操作的第一个入参必须为数组。
解决方法
直接调整delete方法的传参格式,把客户ID放到数组中作为id字段传递即可,无需额外传空数组作为第二个参数,修改后的代码如下:
public function remove_member() //DELETES MEMBER ACCOUNT { $this->api_error = ''; $this->CI =& get_instance(); $this->CI->load->config('stripe'); require APPPATH .'third_party/stripe-php/init.php'; // 引入Stripe PHP依赖库 \Stripe\Stripe::setApiKey($this->CI->config->item('stripe_api_key')); // 设置API密钥 // 调整传参格式,注意把stripeCustomerID替换为实际存储的对应客户真实ID $customer = \Stripe\Customer::delete([ 'id' => 'stripeCustomerID' ]); }
如果需要沿用原来的传参写法,将项目中的Stripe PHP SDK降级到对应旧版本即可。
内容的提问来源于stack exchange,提问作者Kevin K
相关产品推荐
相关产品推荐

