Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 不同金额的分条认购计划_Ruby_Stripe Payments - Fatal编程技术网

Ruby 不同金额的分条认购计划

Ruby 不同金额的分条认购计划,ruby,stripe-payments,Ruby,Stripe Payments,我正在为一家慈善机构制作一份捐赠表格,他们要求每月制定一份捐赠计划,用户可以选择他们愿意捐赠的金额 我知道我可以制定个人计划(即,如果他们说每月捐款5美元、10美元或20美元),我可以制定三个不同的计划并向用户订阅。有没有办法避免为每一个不同的订阅量制定新的计划 我认为你不能用Stripe 您可以继续使用Stripe并使用Stripe API动态构建订阅计划,或者转到PayPal并使用其预批准操作 你的问题似乎弄巧成拙——如果不创建相应的计划,你就不能拥有不同数量的订阅 处理不同数额的经常性捐款

我正在为一家慈善机构制作一份捐赠表格,他们要求每月制定一份捐赠计划,用户可以选择他们愿意捐赠的金额


我知道我可以制定个人计划(即,如果他们说每月捐款5美元、10美元或20美元),我可以制定三个不同的计划并向用户订阅。有没有办法避免为每一个不同的订阅量制定新的计划

我认为你不能用Stripe

您可以继续使用Stripe并使用Stripe API动态构建订阅计划,或者转到PayPal并使用其预批准操作


你的问题似乎弄巧成拙——如果不创建相应的计划,你就不能拥有不同数量的订阅

处理不同数额的经常性捐款的最简单方法是按捐赠者人数支付。例如,您可以这样做:

# Create the plan for this donator
plan = Stripe::Plan.create(
  :amount => params[:amount],
  :currency => 'usd',
  :interval => 'month',
  :name => 'Donation plan for #{params[:stripeEmail]}',
  :id => 'plan_#{params[:stripeEmail]}'
)

# Create the customer object and immediately subscribe them to the plan
customer = Stripe::Customer.create(
  :source => params[:stripeToken],
  :email => params[:stripeEmail],
  :plan => plan.id
)
如果希望避免创建不必要的计划,只需检查是否已经存在适当的计划。最简单的方法是使用包含金额的命名约定。例如:

plan_id = '#{params[:amount]}_monthly'
begin
  # Try to retrieve the plan for this amount, if one already exists
  plan = Stripe::Plan.retrieve(plan_id)
rescue Stripe:: InvalidRequestError => e
  # No plan found for this amount: create the plan
  plan = Stripe::Plan.create(
    :amount => params[:amount],
    :currency => 'usd',
    :interval => 'month',
    :name => "$#{'%.02f' % (params[:amount] / 100.0)} / month donation plan",
    :id => plan_id
  )

# Create the customer object as in the previous example

(请注意,在这两个示例中,我假设
params[:amount]
将是捐赠的金额,以美分为整数。)

条带文档建议在订阅上使用
quantity
参数

不同的账单金额

一些用户在计算账单金额时需要完全的灵活性。对于 例如,您可能有一个具有基本成本的概念订阅 每月10美元,每个座位每月5美元。我们推荐 通过创建基本计划来表示这些计费关系 每月只有1美元,甚至每月0.01美元。这允许您使用
数量
参数,可以非常灵活地为每个用户计费。举个例子 有了10美元的基本成本和3个5美元的座位,你可以每月使用1美元 基本计划,并设置
数量=25
,以实现所需的总成本 每月25美元