我有一个网站,我想要整合Stripe支付网关,当用户注册我想在Stripe上创建一个客户并向他们收取第一个月的费用,例如100美元,从下个月我想向他们收取50美元
如何创建客户,然后同时为他们充电并设置定期付款,到目前为止,我只能找到有关一次性付款系统的信息:
$charge = \Stripe\Charge::create(
array(
"amount" => $amount,
"currency" => "usd",
"source" => $token,
"description" => $email
)
);
对于定期付款,我是否必须在cron中运行此代码或有更好的方法吗?
提前致谢。
修改
我使用以下代码首先创建客户,然后使用他们的费用ID向该客户收费:
//Create Customer:
$customer = \Stripe\Customer::create(array(
'source' => $token,
'email' => $_POST['email'],
'plan' => "monthly_recurring_setupfee",
));
// Charge the order:
$charge = \Stripe\Charge::create(array(
'customer' => $customer->id,
"amount" => $amount,
"currency" => "usd",
"description" => "monthly payment",
)
);
这似乎有效。
另一个问题:我创建了两个计划monthly_recurring_setupfee
和monthly_recurring
,之前的计划包含了我想要收取的金额加上一次性设置费用,而后一个计划包含了我的常规金额将在第二个月收费,我正在考虑在注册时为用户分配monthly_recurring_setupfee
计划,如果付款成功,则将用户的计划更改为monthly_recurring
,这可能吗?
答案 0 :(得分:5)
我找到了创建客户的方法,将他们注册到计划中并向他们收取一次性安装费。这是我使用的代码:
$customer = \Stripe\Customer::create(array(
'source' => $token,
'email' => $billing_email,
'plan' => $stripePlan,
'account_balance' => $setupFee,
'description' => "Charge with one time setup fee"
));
这将向他们收取一次性设置费用'account_balance' => $setupFee,
,将他们注册到计划中并向他们收取计划金额。
答案 1 :(得分:3)
要以每月相同的价格向客户收取费用,您需要使用Stripe的subscriptions。如果您订购了50美元的月度计划,他将每月自动收取50美元的费用,而无需您进行任何手工操作。
至于第一个月50美元的安装费,你需要的是Invoice Items。
以下是您要遵循的流程: