如何为已经有计划的客户升级Stripe计划,但突然想要升级到新计划?
Stripe::setApiKey(Yii::app()->params['secret_key']);
$cus = Stripe_Customer::retrieve("cus_7SR4oHy8NwS1DE");
$subscription = $cus->subscriptions->retrieve("sub_7SR4kA30QUQTE9");
$subscription->plan = sliver;
$subscription->save();
使用上面的代码, 当客户已经获得白银计划订阅时,它工作正常,但当我更改为黄金计划时,它会显示以下错误。
Can't combine currencies on a single customer. This customer has had a subscription, coupon, or invoice item with currency usd
当用户升级计划时,我可以更新subscriptions_current_period_end和subscriptions_current_period_start吗?
答案 0 :(得分:1)
不幸的是,一旦为客户创建了订阅或发票,他们就会被锁定"进入那种货币。无法创建新订阅或更新现有订阅以切换到该客户使用不同货币的计划。
此处唯一简单的解决方案是再次向您的客户询问他的卡详情并create a new customer object,以便您可以使用其他货币订阅他们的计划。
还有其他options involving Connect platform,但它们可能需要额外的精心设计。