Ricerca…


introduzione

Questo documento pretende di presentarti, con un esempio completo, come puoi implementare diversi metodi di pagamento con Ruby on Rails.

Nell'esempio, riguarderemo Stripe e Braintree due piattaforme di pagamento molto conosciute.

Osservazioni

Documentazione.

Banda

Braintree

Come integrarsi con Stripe

Aggiungi la gemma Stripe al nostro Gemfile

gem 'stripe'

Aggiungi i file initializers/stripe.rb . Questo file contiene le chiavi necessarie per la connessione con il tuo account stripe.

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]

Come creare un nuovo cliente a Stripe

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

Questo codice crea un nuovo cliente su Stripe con un determinato indirizzo email e origine.

payment_token è il token dato dal lato client che contiene un metodo di pagamento come una carta di credito o un conto bancario. Ulteriori informazioni: Stripe.js lato client

Come recuperare un piano da Stripe

Stripe::Plan.retrieve(stripe_plan_id)

Questo codice recupera un piano da Stripe tramite il suo id.

Come creare un abbonamento

Quando abbiamo un cliente e un piano possiamo creare un nuovo abbonamento su Stripe.

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

Creerà un nuovo abbonamento e addebiterà il nostro utente. È importante sapere che cosa realmente accade su Stripe quando iscriviamo un utente a un piano, troverai maggiori informazioni qui: Ciclo di vita dell'iscrizione a strisce .

Come caricare un utente con un singolo pagamento

A volte vogliamo addebitare ai nostri utenti una sola volta, per fare ciò faremo il prossimo.

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

In tal caso, addebitiamo il nostro utente una volta per un determinato importo.

Errori comuni:

  • L'importo deve essere inviato in forma intera, ciò significa che il 2000 sarà di 20 unità di valuta. Controlla questo esempio

  • Non è possibile caricare un utente in due valute. Se l'utente è stato addebitato in EUR in qualsiasi momento in passato, non è possibile addebitare l'importo in USD.

  • Non è possibile caricare l'utente senza fonte (metodo di pagamento).



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow