如何與 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 個單位的貨幣。檢查此示例
-
你無法以兩種貨幣向使用者收費。如果使用者在過去的任何時刻以歐元收費,則無法以美元向使用者收費。
-
你無法在沒有來源的情況下向使用者收費(付款方式)。