【问题标题】:Laravel cashier + Stripe : creating a plan with quantity and decreasing pricesLaravel 收银员 + Stripe:创建数量和价格下降的计划
【发布时间】:2017-11-24 09:56:18
【问题描述】:

我正在为我的一个项目使用 Laravel Cashier 和 Stripe 创建一个订阅系统。

我们将为我们的用户提供一个计划:一个位置(他们可以在系统中添加位置)和 75 个关注者每月 10 欧元。

我想做的是让他们为地点支付更多费用:例如 2.5 欧元/地点/月,所以这可以通过数量来实现吗?但是,如果基本计划是 10 欧元,我把 2 作为数量,总价将是 20 欧元?

那么价格也将基于他们的追随者。 75包含在基本价格中。但如果他们想要更多,他们也必须付费。

例子:

  • 76-150 : + 4.95€ 一个月
  • 151-250 : + 4.80€ 一个月等...

我该如何处理并确保客户必须一次性支付所有费用?

提前致谢!

【问题讨论】:

    标签: laravel stripe-payments laravel-5.4 laravel-cashier


    【解决方案1】:

    我的建议是;

    1. 按照您自己的逻辑计算总费用,
    2. 首先创建一个客户对象来启动“一次性”付款,
    3. 然后创建充电!

    简单如 1,2,3 :D

    这是 Stripes 文档中有关创建付款的教程。 https://stripe.com/docs/charges


    如果您想将用户添加到计划(订阅),请参见以下示例(使用 PHP)。

    $customer = \Stripe\Customer::create(array(
       "source" => $tokenID, 
       "plan" => $plan,
       "email" => $email,
       "coupon" => $coupon
    ));
    

    【讨论】:

    • 这确实是个好主意,但是费用是一次性支付的吧?有什么办法可以将电荷转化为订阅?因为最终他们将需要每月支付。我也可以做“多个订阅”,一个处理位置,另一个处理关注者?但收银员不支持该功能。
    • 是的,您确实可以创建多个订阅!您所要做的就是在费用中指定计划。注意:您将不得不处理何时结束这些订阅以及在例如用户不付费时通过 webhook 更新它们。查看我更新的答案以获取一些源代码!
    【解决方案2】:

    我会使用我的前端或后端来计算:

    • 价格
    • 折扣率

    计算完成后,您可以创建具有正确数量和价格以及折扣率(折扣券)的订阅。

    $user->newSubscription('main', 'main')
        ->quantity($quantity)
        ->withCoupon($coupon)
        ->create($token, ['email' => $user->email]);
    

    【讨论】:

      猜你喜欢
      • 2020-04-23
      • 2021-02-26
      • 1970-01-01
      • 2020-02-20
      • 2017-09-09
      • 1970-01-01
      • 2014-10-28
      • 1970-01-01
      • 2020-11-03
      相关资源
      最近更新 更多