Intégration de Paypal dans l'application Rails

Paypal est une application Web basée sur le commerce électronique, qui transfère le montant entre deux comptes. Presque toutes les entreprises basées aux États-Unis utilisent PayPal pour recevoir et effectuer les paiements. Voyons comment intégrer ce service dans l'application Rails en différentes étapes.

Note: J'ai essayé ces étapes en mode développement, sur ma machine locale. Cela fonctionne bien mais n'a pas été testé en production.

Étape 1: a> Si vous n'avez pas de compte Paypal, vous pouvez visiter http://developer.paypal.com et inscrivez-vous pour créer un compte. Connectez-vous ensuite en utilisant ce compte.

b> Afin de tester l'application, l'utilisateur doit disposer de comptes de test sur Paypal. Par exemple, j'ai créé deux comptes, un en tant qu'acheteur et un autre en tant que vendeur. Les deux disposent d’une connexion sécurisée et peuvent ensuite utiliser ces comptes pour envoyer ou recevoir des paiements.

c> Ces comptes préconfigurés peuvent être créés en accédant à l'onglet Comptes de test. Cliquez ensuite sur l'option préconfigurée pour créer des comptes de test sur Paypal avec peu d'informations supplémentaires. Veuillez noter l'identifiant de compte et le mot de passe générés pour l'acheteur et le vendeur. .

d> Maintenant, en fonction des besoins, cochez la case du compte particulier et cliquez sur la zone de lien pour accéder à ce compte de test particulier. En cliquant dessus, vous serez redirigé vers http://sandbox.paypal.com. En utilisant les informations de votre compte, vous pouvez vous connecter à ce compte particulier. Ces comptes et paiements sont simulés comme n'importe quel compte d'origine se comportera.

e> Codons maintenant notre application Rails pour utiliser ces comptes. J'utilise l'option « Ajouter au panier » pour sélectionner quelques articles et les ajouter au panier, en cliquant sur le bouton de paiement, il redirige vers le site Paypal.

Sur la page suivante:

f> Dans mon cart.rb, méthode paypal_url pour rediriger vers le site paypal :

 def paypal_url (return_url, notify_url) #1ère URL pour revenir à votre propre application, 2ème URL pour que Paypal envoie des valeurs de notification = { :business => '[email protected]', #compte généré par paypal :cmd => 'cart', :upload => 1, :return => return_url, :invoice => id, :notify_url => notify_url } line_items.each_with_index do |item, index| valeurs.merge!({ « montant#{index+1} » => item.product.price, « item_name_#{index+1} » => item.product.title, « item_number_#{index+1} » => article. product.id, "quantity_#{index+1}" => item.quantity }) et fin "https://www.sandbox.paypal.com/cgi-bin/webscr?" + valeurs.to_query fin

g> Dans mon show.html.erb, j'ai placé le bouton de paiement avec l'url vers laquelle revenir :

h> Vous devez être connecté lors de la simulation de ce service.

i> Après avoir cliqué sur commander, cela sera redirigé vers le site Paypal avec connexion sécurisée.

Cela ressemblera à ceci : il contient les détails du panier et le formulaire permettant à l'acheteur de se connecter.

j> Sur cette page de paiement, il faut donner son identifiant de compte acheteur et son mot de passe pour se connecter. Après s'être connecté, d'autres détails d'utilisateur s'afficheront également avec l'option de paiement immédiat. Après avoir payé, l'acheteur peut retourner dans son propre magasin en en cliquant sur le lien fourni sur la page.

Notifications de Paypal

a> Les notifications envoyées depuis Paypal peuvent être enregistrées dans la base de données. Pour cela, nous avons besoin d'un modèle avec les champs appropriés. ie-rails g model Paramètres de notification de paiement : texte status : chaîne transaction_id : chaîne cart_id : entier

Mon contrôleur de notifications (méthode de création) ressemblera à ceci : -

def create PaymentNotification.create!(:params => params, :cart_id => params[:invoice], :status => params[:payment_status], :transaction_id => params[:txn_id]) render :nothing => true end

b> Il n'est pas possible de tester cela directement, à moins qu'il ne soit déployé en production, mais il peut être testé dans la console à l'aide de la commande curl. par exemple-curl -d "txn_id=9JU83038HS278211W&invoice=1&payment_status=Completed" http://localhost:3000/payment_notifications

c> Si cette commande s'exécute sans donner d'exceptions, alors tout va bien et les valeurs seront stockées dans la base de données.

Commencez à effectuer le paiement maintenant.

Merci d'avoir lu !!!

Prenez contact avec nous.

Abonnez-vous pour les dernières mises à jour

Articles Similaires

Laissez un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

fr_FRFrench