Stripe用PHP创建客户和经常性费用

Cri*_*sto 3 php payment-gateway stripe-payments

我有一个网站,我想集成Stripe支付网关,当用户注册我想在Stripe上创建一个客户并向他们收取第一个月的费用,例如100美元,从下个月我想向他们收取50美元.

如何创建客户,然后同时为他们充电并设置定期付款,到目前为止我只能找到有关一次性付款系统的信息:

$charge = \Stripe\Charge::create(
    array(
        "amount" => $amount,
        "currency" => "usd",
        "source" => $token,
        "description" => $email
    )
);
Run Code Online (Sandbox Code Playgroud)

对于定期付款,我是否必须在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",
    )
);
Run Code Online (Sandbox Code Playgroud)

这似乎有效.

另一个问题:我创建了两个计划monthly_recurring_setupfeemonthly_recurring,以前的计划中包含了后来计划包含了我会从第二个月进行充电的常规量,我要收取金额加上一次性安装费和,我想分配的用户在monthly_recurring_setupfee注册时的计划以及如果付款成功将用户的计划更改为monthly_recurring,这可能吗?

Cri*_*sto 6

我找到了一种创建客户的方法,将他们注册到计划中并向他们收取一次性安装费.这是我使用的代码:

$customer = \Stripe\Customer::create(array(
            'source'   => $token,
            'email'    => $billing_email,
            'plan'     => $stripePlan,
            'account_balance' => $setupFee,
            'description' => "Charge with one time setup fee"
            ));
Run Code Online (Sandbox Code Playgroud)

这将向他们收取一次性设置费用'account_balance' => $setupFee,,将他们注册到计划中并向他们收取计划金额.

条纹一次性订阅费

  • 您是否知道是否存在用于创建客户的`plan`参数? (3认同)

koo*_*jah 5

要每月以相同的价格向客户收费,您需要使用 Stripe 的订阅。如果您为客户订阅了 50 美元的月度计划,他将每月自动收取 50 美元的费用,无需您进行任何手动操作。

至于第一个月50美元的设置费,你需要的太看发票项目了

这是您将遵循的流程:

  1. 使用API创建客户。
  2. 通过API创建 $50 Invoice Item 。
  3. 使用API创建对每月 50 美元的计划的订阅。

最后一步会自动为订阅创建第一张发票并将发票项目添加到其中。然后向客户收取 50 美元的计划费用和 50 美元的发票项目费用,因此按预期收取 100 美元。然后下个月的同一天,客户将只收取 50 美元,从那时起每个月。