Integración de Paypal en la aplicación Rails

Paypal es una aplicación web basada en comercio electrónico que transfiere el importe entre dos cuentas. Casi todas las empresas con sede en EE. UU. utilizan PayPal para recibir y realizar pagos. Veamos cómo integrar este servicio en la aplicación Rails en diferentes pasos.

Nota: Probé estos pasos en modo de desarrollo, en mi máquina local. Funciona bien pero no se ha probado en producción.

Paso 1: a> En caso de que uno no tenga una cuenta de PayPal, puede visitar http://developer.paypal.com y regístrate para crear una cuenta. Luego inicie sesión con esa cuenta.

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> Estas cuentas preconfiguradas se pueden crear yendo a la pestaña de cuentas de prueba. Luego haga clic en la opción preconfigurada para crear cuentas de prueba en PayPal con poca información adicional. Tome nota de la identificación de cuenta y la contraseña generadas tanto para el comprador como para el vendedor. .

d> Ahora, según los requisitos, marque la casilla de verificación de la cuenta en particular y haga clic en el cuadro de enlace para ingresar a esa cuenta de prueba en particular. Al hacer clic en eso, se le redirigirá a http://sandbox.paypal.com. Usando la información de su cuenta, uno puede iniciar sesión en esa cuenta en particular. Estas cuentas y pagos se simulan como se comportaría cualquier cuenta original.

e> Ahora codifiquemos nuestra aplicación Rails para usar estas cuentas. Estoy usando la opción "Agregar al carrito" para seleccionar algunos artículos y agregarlos al carrito; al hacer clic en el botón de pago, se redirige al sitio de PayPal.

En la página siguiente:

f> En mi cart.rb, método paypal_url para redirigir al sitio de 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> Debes iniciar sesión mientras simulas este servicio.

i> Después de hacer clic en finalizar compra, esto le redirigirá al sitio de Paypal con una conexión segura.

Se verá así: Contiene los detalles del carrito y un formulario para que el comprador inicie sesión.

j> En esta página de pago, uno debe proporcionar su identificación de cuenta de comprador y contraseña para iniciar sesión. Después de iniciar sesión, también se mostrarán otros detalles del usuario con la opción de pagar ahora. Después de pagar, el comprador puede regresar a su propia tienda haciendo clic en el enlace proporcionado en la página.

Notificaciones de Paypal

a> Las notificaciones enviadas desde PayPal se pueden guardar en la base de datos. Para eso necesitamos tener un modelo con los campos adecuados. Es decir, modelo Rails g Parámetros de notificación de pago: estado del texto: cadena ID_transacción: cadena ID_carrito: entero

Mi controlador de notificaciones (método de creación) se verá así: -

def crear PaymentNotification.create!(:params => params, :cart_id => params[:invoice], :status => params[:paid_status], :transaction_id => params[:txn_id]) render :nada => 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 este comando se ejecuta sin dar excepciones, entonces todo está bien y los valores se almacenarán en la base de datos.

Comience a realizar el pago ahora.

Gracias por leer !!!

Póngase en contacto con nosotros.

Suscríbete para recibir las últimas actualizaciones

Artículos Relacionados

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Spanish
English
English
Japanese
German
French
Spanish

envíanos whatsapp

Salir de la versión móvil