Sök…


Introduktion

Detta dokument låtsas presentera dig, med ett komplett exempel, hur du kan implementera olika betalningsmetoder med Ruby on Rails.

I exemplet kommer vi att täcka Stripe och Braintree två mycket välkända betalningsplattformar.

Anmärkningar

Dokumentation.

Rand

Braintree

Hur man integrerar med Stripe

Lägg till Stripe-pärla i vår Gemfile

gem 'stripe'

Lägg till initializers/stripe.rb fil. Denna fil innehåller de nödvändiga nycklarna för att ansluta till ditt stripkonto.

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]

Hur man skapar en ny kund till Stripe

Stripe::Customer.create({email: email, source: payment_token})

Denna kod skapar en ny kund på Stripe med angiven e-postadress och källa.

payment_token är det symbol som ges från klientsidan som innehåller en betalningsmetod som ett kreditkort eller bankkonto. Mer info: Stripe.js klientsida

Hur man hämtar en plan från Stripe

Stripe::Plan.retrieve(stripe_plan_id)

Den här koden hämtar en plan från Stripe med sin ID.

Hur man skapar ett prenumeration

När vi har en kund och en plan kan vi skapa ett nytt abonnemang på Stripe.

Stripe::Subscription.create(customer: customer.id, plan: plan.id)

Det skapar en ny prenumeration och debiterar vår användare. Det är viktigt att veta vad som verkligen händer på Stripe när vi prenumererar en användare på en plan. Du hittar mer info här: Stripe Abonnement livscykel .

Hur man debiterar en användare med en enda betalning

Ibland vill vi debitera våra användare bara en gång, för att göra det gör vi nästa gång.

Stripe::Charge.create(amount:   amount, customer: customer, currency: currency)

I så fall debiterar vi vår användare en gång för ett visst belopp.

Vanliga fel:

  • Beloppet måste skickas i heltal, det vill säga att 2000 kommer att vara 20 valutaenheter. Kontrollera detta exempel

  • Du kan inte debitera en användare i två valutor. Om användaren debiteras i EUR när som helst tidigare kan du inte debitera användaren i USD.

  • Du kan inte debitera användaren utan källa (betalningsmetod).



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow