Paypal är en e-handelsbaserad webbapplikation, som överför beloppet mellan två konton. Nästan alla USA-baserade företag använder PayPal för att ta emot och göra betalningarna. Låt oss se hur man integrerar denna tjänst i rails-applikationen i olika steg.
Notera: Jag har provat dessa steg i utvecklingsläge, på min lokala dator. Det fungerar bra men har inte testat i produktion.
Steg 1: a> Om man inte har ett PayPal-konto kan du besöka http://developer.paypal.com och registrera dig för att skapa ett konto. Logga sedan in med det kontot.
b> För att testa applikationen bör användaren ha testkonton på PayPal. Till exempel – jag gjorde två konton, ett som köpare och ett som säljare. Båda har säker inloggning och senare kan de använda dessa konton för att skicka eller ta emot betalningar.
c> Dessa förkonfigurerade konton kan skapas genom att gå till fliken testkonton. Klicka sedan på förkonfigurerat alternativ för att skapa testkonton på PayPal med lite extra information. Notera konto-id och lösenord som genererats för både köpare och säljare .
d> Nu baserat på krav, markera kryssrutan för det specifika kontot och klicka på länkrutan för att ange det specifika testkontot. Om du klickar på det omdirigeras du till http://sandbox.paypal.com. Genom att använda din kontoinformation kan du logga in på just det kontot. Dessa konton och betalningar simuleras som vilket originalkonto som helst.
e> Låter nu koda vår rails-applikation för att använda dessa konton. Jag använder alternativet "Lägg till i kundvagn" för att välja några artiklar och lägga till dem i varukorgen, genom att klicka på kassaknappen, omdirigerar den till PayPals webbplats.
På nästa sida:
f> I min cart.rb, paypal_url-metod för att omdirigera till PayPals webbplats:
def paypal_url(return_url, notify_url) #1:a webbadress för att återgå till din egen app, andra webbadress för PayPal för att skicka meddelandevärden = { :business => '[email protected]', #konto genererat av paypal', #konto genererat av paypal' :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}” => artikel. product.id, “quantity_#{index+1}” => item.quantity }) end “https://www.sandbox.paypal.com/cgi-bin/webscr?” + values.to_query end
g> I min show.html.erb har jag placerat kassaknappen med url för att återgå till:
h> Du måste vara inloggad när du simulerar denna tjänst.
i> Efter att ha klickat på kassan kommer detta att omdirigera till Paypal-webbplatsen med säker anslutning.
Detta kommer att se ut så här: Det innehåller kundvagnsdetaljer och formulär för köparen att logga in.
j> På den här betalningssidan måste man ange sitt köparkonto-id och lösenord för att logga in. Efter att ha loggat in kommer det att visa andra användaruppgifter med alternativet betala-nu. Efter att ha betalat kan köparen återvända till sin egen butik genom att klicka på länken på sidan.
Aviseringar från Paypal
a> Aviseringar som skickas från PayPal kan sparas i databasen. För det måste vi ha en modell med rätt fält. ie- rails g-modell Betalningsmeddelande params:text status:string transaktions-id:sträng cart_id:integer
Min aviseringskontroller (skapa metod) kommer att se ut så här:-
def create PaymentNotification.create!(:params => params, :cart_id => params[:faktura], :status => params[:payment_status], :transaction_id => params[:txn_id]) render :nothing => true end
b> Det finns ingen direkt att testa detta, såvida det inte används i produktionen men det kan testas i konsolen med hjälp av curl-kommandot. eg-curl -d “txn_id=9JU83038HS278211W&invoice=1&payment_status=Completed” http://localhost:3000/payment_notifications
c> Om detta kommando körs utan att ge några undantag, är allt bra och värden kommer att lagras i databasen.
Börja betala nu.
Tack för att du läser !!!
Kontakta oss.