Zoeken…


Invoering

In dit document wordt u voorgesteld, met een compleet voorbeeld, hoe u verschillende betaalmethoden met Ruby on Rails kunt implementeren.

In het voorbeeld behandelen we Stripe en Braintree twee zeer bekende betalingsplatforms.

Opmerkingen

Documentatie.

Streep

Braintree

Hoe te integreren met Stripe

Voeg Stripe gem toe aan onze Gemfile

gem 'stripe'

Voeg initializers/stripe.rb bestand toe. Dit bestand bevat de benodigde sleutels om verbinding te maken met uw stripe-account.

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]

Hoe een nieuwe klant bij Stripe te creëren

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

Deze code creëert een nieuwe klant op Stripe met het opgegeven e-mailadres en de bron.

payment_token is het token gegeven vanaf de client-kant dat een betaalmethode zoals een creditcard of bankrekening bevat. Meer info: Stripe.js client-side

Een plan ophalen uit Stripe

Stripe::Plan.retrieve(stripe_plan_id)

Deze code haalt een plan van Stripe op met zijn ID.

Een abonnement maken

Wanneer we een klant en een abonnement hebben, kunnen we een nieuw abonnement op Stripe maken.

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

Het zal een nieuw abonnement aanmaken en onze Gebruiker in rekening brengen. Het is belangrijk om te weten wat er echt gebeurt op Stripe wanneer we een gebruiker abonneren op een abonnement. Je vindt hier meer informatie: Stripe Subscription lifecycle .

Hoe een gebruiker met één betaling te belasten

Soms willen we onze gebruikers slechts één keer opladen, want dat doen we de volgende keer.

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

In dat geval brengen we onze gebruiker één keer in rekening voor een bepaald bedrag.

Veel voorkomende fouten:

  • Het bedrag moet in gehele vorm worden verzonden, dat wil zeggen dat 2000 20 valuta-eenheden zal zijn. Bekijk dit voorbeeld

  • U kunt een gebruiker niet in twee valuta's in rekening brengen. Als de gebruiker op enig moment in het verleden in rekening is gebracht, kunt u de gebruiker niet in USD in rekening brengen.

  • U kunt geen kosten in rekening brengen zonder bron (betaalmethode).



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow