使用Stripe API,如果没有信用卡令牌,在试用期的付费套餐中创建新用户似乎无效。
我正在使用PHP SDK并执行以下操作:
$customer = \Stripe\Customer::create(array(
"source" => NULL,
"plan" => 'PROFESSIONAL',
"email" => $email_address,
"trial_end" => $unix_timestamp
);
返回错误:
错误:源对象无效:必须是字典或非空字符串。
我认为这应该有两个原因,这就是为什么我认为我做错了什么。
trial_end
会在订阅中添加试用版,因此无需付款,这意味着该时间点不需要信用卡。文档中是否有我遗漏的内容允许我这样做?
答案 0 :(得分:1)
尝试了以下有效的方法。
$customer = \Stripe\Customer::create(array(
"plan" => 'PROFESSIONAL',
"email" => $email_address,
"trial_end" => $unix_timestamp
);
基本上我只是完全删除了source
键/值。然后,它通过试用版创建了付费计划的用户。
奇怪的行为,就像您在免费套餐中创建用户一样,您可以在其中设置source
密钥,其值为NULL
并且有效。据我所知,还没有记录。
答案 1 :(得分:0)
按照以下步骤
使用
创建客户\条纹\客户::创建(阵列( "描述" => $描述, "电子邮件" => $电子邮件 ));
存储条件
现在订阅该计划的客户
$ customer = \ Stripe \ Customer :: retrieve($ customer_id);
$ subscriptions = $ customer-> subscriptions-> create(array(" plan" => $ plan_id));
请确保已在条带上创建计划。