如何与 Stripe 集成
添加 Stripe gem 到我们的 Gemfile
gem 'stripe'
添加 initializers/stripe.rb
文件。此文件包含用于连接条带帐户的必要密钥。
require 'require_all'
Rails.configuration.stripe = {
:publishable_key => ENV['STRIPE_PUBLISHABLE_KEY'],
:secret_key => ENV['STRIPE_SECRET_KEY']
}
Stripe.api_key = Rails.configuration.stripe[:secret_key]
如何为 Stripe 创建新客户
Stripe::Customer.create({email: email, source: payment_token})
此代码使用给定的电子邮件地址和来源在 Stripe 上创建新客户。
payment_token
是从客户端提供的令牌,其中包含信用卡或银行账户等付款方式。更多信息: Stripe.js 客户端
如何从 Stripe 检索计划
Stripe::Plan.retrieve(stripe_plan_id)
此代码通过其 ID 从 Stripe 检索计划。
如何创建订阅
当我们有客户和计划时,我们可以在 Stripe 上创建新的订阅。
Stripe::Subscription.create(customer: customer.id, plan: plan.id)
它将创建一个新的订阅,并将向我们的用户收费。当我们订阅用户计划时,了解 Stripe 上真正发生的事情非常重要,你可以在此处找到更多信息: Stripe 订阅生命周期 。
如何通过一次付款向用户收费
有时我们只想给用户收费一次,为此我们会做下一次。
Stripe::Charge.create(amount: amount, customer: customer, currency: currency)
在这种情况下,我们向用户收取一次给定金额的费用。
常见错误:
-
金额必须以整数形式发送,这意味着,2000 将是 20 个单位的货币。检查此示例
-
你无法以两种货币向用户收费。如果用户在过去的任何时刻以欧元收费,则无法以美元向用户收费。
-
你无法在没有来源的情况下向用户收费(付款方式)。