Ruby on Rails
Fonctionnalité de paiement dans les rails
Recherche…
Introduction
Ce document prétend vous présenter, avec un exemple complet, comment vous pouvez implémenter différentes méthodes de paiement avec Ruby on Rails.
Dans l'exemple, nous couvrirons Stripe et Braintree, deux plateformes de paiement très connues.
Remarques
Comment intégrer avec Stripe
Ajoutez la gemme Stripe à notre Gemfile
gem 'stripe'
Ajoutez les fichiers initializers/stripe.rb
. Ce fichier contient les clés nécessaires pour vous connecter à votre compte de bande.
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]
Comment créer un nouveau client à Stripe
Stripe::Customer.create({email: email, source: payment_token})
Ce code crée un nouveau client sur Stripe avec une adresse e-mail et une source données.
payment_token
est le jeton donné du côté du client qui contient un mode de paiement tel qu'une carte de crédit ou un compte bancaire. Plus d'infos: Stripe.js côté client
Comment récupérer un plan de Stripe
Stripe::Plan.retrieve(stripe_plan_id)
Ce code récupère un plan de Stripe par son identifiant.
Comment créer un abonnement
Lorsque nous avons un client et un plan, nous pouvons créer un nouvel abonnement sur Stripe.
Stripe::Subscription.create(customer: customer.id, plan: plan.id)
Il créera un nouvel abonnement et facturera notre utilisateur. Il est important de savoir ce qui se passe réellement sur Stripe lorsque nous inscrivons un utilisateur à un plan, vous trouverez plus d'informations ici: Cycle de vie de l'abonnement Stripe .
Comment facturer un utilisateur avec un paiement unique
Parfois, nous voulons facturer à nos utilisateurs une seule fois, car nous ferons le prochain.
Stripe::Charge.create(amount: amount, customer: customer, currency: currency)
Dans ce cas, nous facturons notre utilisateur une fois pour un montant donné.
Erreurs courantes:
Le montant doit être envoyé sous forme d'entier, ce qui signifie que 2000 sera 20 unités de devise. Vérifiez cet exemple
Vous ne pouvez pas facturer un utilisateur dans deux devises. Si l'utilisateur a été facturé en EUR à tout moment dans le passé, vous ne pouvez pas facturer l'utilisateur en USD.
Vous ne pouvez pas facturer l'utilisateur sans source (méthode de paiement).