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> In order to test the application user should have test accounts on paypal. For e,g – I made two accounts, one as buyer and another as seller. Both have there secure login and later they can use these accounts to send or receive payments.

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) #1st url to return to ur own app,2nd url for paypal to send notification values = { :business => ‘dhyanb_1326716016_biz@gmail.com’, #account generated by paypal :cmd => ‘cart’, :upload => 1, :return => return_url, :invoice => id, :notify_url => notify_url } line_items.each_with_index do |item, index| values.merge!({ “amount#{index+1}” => item.product.price, “item_name_#{index+1}” => item.product.title, “item_number_#{index+1}” => item.product.id, “quantity_#{index+1}” => item.quantity }) end “https://www.sandbox.paypal.com/cgi-bin/webscr?” + values.to_query end

g> In my show.html.erb, I have placed the checkout button with url to return to: <?php = button_to “Checkout”, @cart.paypal_url(products_url,payment_notifications_url) ?>

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> There is no direct of testing this,unless deployed in production but it can be tested in the console using curl command. eg-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 *

French
English
English
Japanese
German
French
Spanish

WhatsApp nous

Quitter la version mobile