如何使用Stripe API向客户提供不可退款的信用额度?

时间:2014-04-06 15:03:10

标签: javascript ruby-on-rails ruby stripe-payments

我的应用程序向高级客户收取每月X.00美元的费用,但是,我希望某些操作能够为客户提供每月订阅费用。例如,如果客户向数据库提交记录,则会向他们提供信用(存储在数据库中)。我希望他们获得的每一笔积分都可以让他们在下个月的订阅中获得0.50美元的订阅,但是,如果他们取消订阅,我不希望看起来我欠他们这笔钱(它应该只能用于订阅费)。通过Stripe API实现这一目标的最佳方法是什么?

如果它有所作为,我使用Rails 4,Ruby 2,Stripe,Koudoku进行订阅,并使用Devise进行身份验证。

谢谢!

2 个答案:

答案 0 :(得分:4)

如果您还没有这样做,您希望将应用设置为处理条带网络挂钩。创建新发票时,如果您设置了Web挂钩URL,它将通过挂钩通知您并等待一小时后再处理付款。此设计的设置正是您想要的。

当您收到通知时,已创建发票,如果有用户的积分,请创建一个或多个负发票项目以表示积分。

由于您在付款处理之前不会在Stripe中创建积分,因此取消积分的情况并不适用。

当您为支票等信用单添加否定发票项目时,您当然也可以执行其他操作,以确保您不会超过发票总额。

答案 1 :(得分:1)

我会给他们一个coupon。优惠券可以有到期日期,可以是一个简单的百分比,这可以确保如果他们取消订阅你就不会欠他们任何东西。您可以将$ 0.50转换为适当的百分比。

api允许您使用create coupons API向用户提供user update

Stripe.api_key = "sk_test_BQokikJOvBiI2HlWgH4olfQ2"

cu = Stripe::Customer.retrieve("cus_3oLCDGtGqkJElc")
cu.description = "Customer for test@example.com"
cu.coupon = "12OFF"
cu.save