为什么这个条带请求没有将客户的描述设置为null?

时间:2017-06-12 21:12:25

标签: php laravel stripe-payments

我正在尝试使用PHP将Stripe中的客户描述设置为null,但目前无法使用。

Stripe的description

API文档
  

可以通过将值更新为null然后保存来取消设置。

我正在尝试使用Laravel的tinker来执行此操作。

>>> $customer = Customer::retrieve('cus_AgcMLZIYr2XIZm');
=> Stripe\Customer {#891}
>>> $customer->description;
=> "Test"
>>> Customer::update('cus_AgcMLZIYr2XIZm', ['description' => null]);
=> Stripe\Customer {#888}
>>> $customer = Customer::retrieve('cus_AgcMLZIYr2XIZm');
=> Stripe\Customer {#852}
>>> $customer->description;
=> "Test"
>>>

为什么客户的描述没有设置为null?我期待它,但当我再次检索它时,它仍然设置。如果我传递字符串,客户的描述更改。

Stripe的文档是否错误(看起来很荒谬,但我希望这可行)?

1 个答案:

答案 0 :(得分:2)

这是因为图书馆无法区分null与未设置的值之间的区别。如果您为描述传递空字符串''而不是null,或者您执行以下操作,这将按预期工作:

 $customer = Customer::retrieve("cus_AgcMLZIYr2XIZm");
 $customer->description = null;
 $customer->save();