我正在使用Stripe的php library创建一个包含优惠券的订阅的客户。我不想在客户级别添加优惠券,我想在订阅级别添加优惠券。下面的代码是我目前使用的,根据他们的支持,这应该有效,但事实并非如此。我希望有人能帮忙。
$params = array(
'card'=>'SOME_TOKEN_FROM_JS_LIBRARY',
'plan'=>'valid_plan_id',
'coupon'=>'valid_coupon_id'
);
$c = Stripe_Customer::create($params);
if(!empty($params['coupon'])){
$c->updateSubscription(array(
'plan'=>$params['plan'],
'coupon'=>$params['coupon']
));
}
这样可以成功创建客户并使用优惠券为卡充电。
答案 0 :(得分:1)
结束以下代码,它完成了我想要它做的事情。此外,下面的代码的目标是,如果由于某种原因收费失败,删除客户,所以我不会留下不属于任何地方的客户。
$_c = Stripe_Customer::create($params);
try{
$_c->subscriptions->create(array('plan'=>$plan, 'coupon'=>$coupon));
}catch(Exception $e){
$_c->delete();
throw new Exception($e->getMessage());
}
$c = Stripe_Customer::retrieve($_c->id); //to get the customer object with the latest data