Ruby on Rails
レールでの支払い機能
サーチ…
前書き
このドキュメントでは、Ruby on Railsでさまざまな支払い方法を実装する方法の例を紹介しています。
この例では、StripeとBraintreeの2つの非常によく知られた支払いプラットフォームについて説明します。
備考
ストライプとの統合方法
ストライプの宝石を私たちの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::Customer.create({email: email, source: payment_token})
このコードは、指定された電子メールアドレスとソースを持つStripe上に新しい顧客を作成します。
payment_token
は、クレジットカードや銀行口座のような支払い方法を含むクライアント側から与えられるトークンです。詳細: Stripe.jsクライアント側
ストライプからプランを取得する方法
Stripe::Plan.retrieve(stripe_plan_id)
このコードは、そのIDによってStripeからプランを取得します。
サブスクリプションの作成方法
顧客とプランがあれば、Stripeで新しいサブスクリプションを作成することができます。
Stripe::Subscription.create(customer: customer.id, plan: plan.id)
新しいサブスクリプションが作成され、ユーザーに請求されます。ユーザーをプランに登録するときにStripeで実際に何が起こるかを知ることは重要です。 ストライプサブスクリプションのライフサイクルについては、こちらをご覧ください。
1回の支払いでユーザーに請求する方法
時には、ユーザーに一度だけ料金を請求したい場合もあります。
Stripe::Charge.create(amount: amount, customer: customer, currency: currency)
その場合、一定の金額に対して1回ユーザーに請求しています。
一般的なエラー:
金額は整数形式で送信する必要があります。つまり、2000年は通貨20単位になります。 この例を確認する
2つの通貨でユーザーに請求することはできません。過去にユーザーがいつでもEURで請求された場合、ユーザーにUSDを請求することはできません。
ソースなしでユーザーに料金を請求することはできません(お支払い方法)。