{"id":6454,"date":"2012-10-24T09:27:56","date_gmt":"2012-10-24T09:27:56","guid":{"rendered":"https:\/\/dev.railscarma.com\/integrate-paypal-into-rails-application\/"},"modified":"2021-06-07T08:03:47","modified_gmt":"2021-06-07T08:03:47","slug":"integrar-paypal-en-la-aplicacion-rails","status":"publish","type":"post","link":"https:\/\/www.railscarma.com\/es\/blog\/articulos-tecnicos\/integrar-paypal-en-la-aplicacion-rails\/","title":{"rendered":"Integraci\u00f3n de Paypal en la aplicaci\u00f3n Rails"},"content":{"rendered":"<div data-elementor-type=\"wp-post\" data-elementor-id=\"6454\" class=\"elementor elementor-6454\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-842d9a3 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"842d9a3\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6d053aeb\" data-id=\"6d053aeb\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-383d7a58 elementor-widget elementor-widget-text-editor\" data-id=\"383d7a58\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p style=\"text-align: justify;\">Paypal es una aplicaci\u00f3n web basada en comercio electr\u00f3nico 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\u00f3mo integrar este servicio en la aplicaci\u00f3n Rails en diferentes pasos.<\/p>\n<p style=\"text-align: justify;\"><strong>Nota<\/strong>: Prob\u00e9 estos pasos en modo de desarrollo, en mi m\u00e1quina local. Funciona bien pero no se ha probado en producci\u00f3n.<\/p>\n<p style=\"text-align: justify;\"><strong>Paso 1<\/strong>: a&gt; En caso de que uno no tenga una cuenta de PayPal, puede visitar <a href=\"http:\/\/developer.paypal.com\">http:\/\/developer.paypal.com<\/a> y reg\u00edstrate para crear una cuenta. Luego inicie sesi\u00f3n con esa cuenta.<\/p>\n<p style=\"text-align: justify;\">b&gt; Para probar la aplicaci\u00f3n, el usuario debe tener cuentas de prueba en PayPal. Por ejemplo, hice dos cuentas, una como comprador y otra como vendedor. Ambos tienen un inicio de sesi\u00f3n seguro y luego pueden usar estas cuentas para enviar o recibir pagos.<\/p>\n<p style=\"text-align: justify;\">c&gt; Estas cuentas preconfiguradas se pueden crear yendo a la pesta\u00f1a de cuentas de prueba. Luego haga clic en la opci\u00f3n preconfigurada para crear cuentas de prueba en PayPal con poca informaci\u00f3n adicional. Tome nota de la identificaci\u00f3n de cuenta y la contrase\u00f1a generadas tanto para el comprador como para el vendedor. .<\/p>\n<p style=\"text-align: justify;\">d&gt; Ahora, seg\u00fan los requisitos, marque la casilla de verificaci\u00f3n 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\u00e1 a <a href=\"http:\/\/sandbox.paypal.com\">http:\/\/sandbox.paypal.com<\/a>. Usando la informaci\u00f3n de su cuenta, uno puede iniciar sesi\u00f3n en esa cuenta en particular. Estas cuentas y pagos se simulan como se comportar\u00eda cualquier cuenta original.<\/p>\n<p style=\"text-align: justify;\">e&gt; Ahora codifiquemos nuestra aplicaci\u00f3n Rails para usar estas cuentas. Estoy usando la opci\u00f3n &quot;Agregar al carrito&quot; para seleccionar algunos art\u00edculos y agregarlos al carrito; al hacer clic en el bot\u00f3n de pago, se redirige al sitio de PayPal.<\/p>\n<p style=\"text-align: justify;\"><strong>En la p\u00e1gina siguiente<\/strong>:<\/p>\n<p style=\"text-align: justify;\">f&gt; En mi cart.rb, m\u00e9todo paypal_url para redirigir al sitio de PayPal:<\/p>\n<p style=\"text-align: justify;\">\u00a0def paypal_url(return_url,notify_url) #1.\u00aa URL para regresar a su propia aplicaci\u00f3n, 2.\u00aa URL para que PayPal env\u00ede valores de notificaci\u00f3n = { :business =&gt; &#039;dhyanb_1326716016_biz@gmail.com&#039;, #account generada por Paypal :cmd =&gt; &#039;cart&#039;, :upload =&gt; 1, :return =&gt; return_url, :invoice =&gt; id, :notify_url =&gt; notify_url } line_items.each_with_index hacer |item, index| valores.merge!({ \u201ccantidad#{\u00edndice+1}\u201d =&gt; item.product.price, \u201citem_name_#{index+1}\u201d =&gt; item.product.title, \u201citem_number_#{index+1}\u201d =&gt; art\u00edculo. product.id, \u201ccantidad_#{\u00edndice+1}\u201d =&gt; item.cantidad }) finaliza \u201chttps:\/\/www.sandbox.paypal.com\/cgi-bin\/webscr?\u201d + valores.to_query final<\/p>\n<p style=\"text-align: justify;\">g&gt; En mi show.html.erb, he colocado el bot\u00f3n de pago con la URL para regresar a:<\/p>\n<p style=\"text-align: justify;\">h&gt; Debes iniciar sesi\u00f3n mientras simulas este servicio.<\/p>\n<p style=\"text-align: justify;\">i&gt; Despu\u00e9s de hacer clic en finalizar compra, esto le redirigir\u00e1 al sitio de Paypal con una conexi\u00f3n segura.<\/p>\n<p style=\"text-align: justify;\">Se ver\u00e1 as\u00ed: Contiene los detalles del carrito y un formulario para que el comprador inicie sesi\u00f3n.<\/p>\n<p style=\"text-align: justify;\">j&gt; En esta p\u00e1gina de pago, uno debe proporcionar su identificaci\u00f3n de cuenta de comprador y contrase\u00f1a para iniciar sesi\u00f3n. Despu\u00e9s de iniciar sesi\u00f3n, tambi\u00e9n se mostrar\u00e1n otros detalles del usuario con la opci\u00f3n de pagar ahora. Despu\u00e9s de pagar, el comprador puede regresar a su propia tienda haciendo clic en el enlace proporcionado en la p\u00e1gina.<\/p>\n\n<h4 style=\"text-align: justify;\"><strong>Notificaciones de Paypal<\/strong><\/h4>\n<p style=\"text-align: justify;\">a&gt; 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\u00e1metros de notificaci\u00f3n de pago: estado del texto: cadena ID_transacci\u00f3n: cadena ID_carrito: entero<\/p>\n<p style=\"text-align: justify;\">Mi controlador de notificaciones (m\u00e9todo de creaci\u00f3n) se ver\u00e1 as\u00ed: -<\/p>\n<p style=\"text-align: justify;\">def crear PaymentNotification.create!(:params =&gt; params, :cart_id =&gt; params[:invoice], :status =&gt; params[:paid_status], :transaction_id =&gt; params[:txn_id]) render :nada =&gt; true end<\/p>\n<p style=\"text-align: justify;\">b&gt; No es posible probar esto directamente, a menos que se implemente en producci\u00f3n, pero se puede probar en la consola usando el comando curl. por ejemplo, curl -d \u201ctxn_id=9JU83038HS278211W&amp;invoice=1&amp;paid_status=Completado\u201d <a href=\"http:\/\/localhost:3000\/payment_notifications\">http:\/\/localhost:3000\/payment_notifications<\/a><\/p>\n<p style=\"text-align: justify;\">c&gt; Si este comando se ejecuta sin dar excepciones, entonces todo est\u00e1 bien y los valores se almacenar\u00e1n en la base de datos.<\/p>\n<p style=\"text-align: justify;\"><strong>Comience a realizar el pago ahora.<\/strong><\/p>\n<p style=\"text-align: justify;\"><strong>Gracias por leer !!!<\/strong><\/p>\n<a href=\"\/es\/contactenos\/\">P\u00f3ngase en contacto con nosotros.<\/a>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-7437c782 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"7437c782\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5e548eb3\" data-id=\"5e548eb3\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-4808e69f elementor-widget elementor-widget-heading\" data-id=\"4808e69f\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Suscr\u00edbete para recibir las \u00faltimas actualizaciones<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6889a1b0 elementor-widget elementor-widget-shortcode\" data-id=\"6889a1b0\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\t\t\t\t\t<script type=\"text\/javascript\">\n\t\t\t\t\t\tvar gCaptchaSibWidget;\n                        var onloadSibCallbackInvisible = function () {\n\n                            var element = document.getElementsByClassName('sib-default-btn');\n                            var countInvisible = 0;\n                            var indexArray = [];\n                            jQuery('.sib-default-btn').each(function (index, el) {\n                                if ((jQuery(el).attr('id') == \"invisible\")) {\n                                    indexArray[countInvisible] = index;\n                                    countInvisible++\n                                }\n                            });\n\n                            jQuery('.invi-recaptcha').each(function (index, el) {\n                                grecaptcha.render(element[indexArray[index]], {\n                                    'sitekey': jQuery(el).attr('data-sitekey'),\n                                    'callback': sibVerifyCallback,\n                                });\n                            });\n                        };\n\t\t\t\t\t<\/script>\n\t\t\t\t\t                <script src=\"https:\/\/www.google.com\/recaptcha\/api.js?onload=onloadSibCallbackInvisible&render=explicit\" async defer><\/script>\n\t\t\t\t\n\t\t\t<form id=\"sib_signup_form_1\" method=\"post\" class=\"sib_signup_form\" action=\"\">\n\t\t\t\t<div class=\"sib_loader\" style=\"display:none;\"><img\n\t\t\t\t\t\t\tsrc=\"https:\/\/www.railscarma.com\/wp-includes\/images\/spinner.gif\" alt=\"cargador\"><\/div>\n\t\t\t\t<input type=\"hidden\" name=\"sib_form_action\" value=\"subscribe_form_submit\">\n\t\t\t\t<input type=\"hidden\" name=\"sib_form_id\" value=\"1\">\n                <input type=\"hidden\" name=\"sib_form_alert_notice\" value=\"Please fill out this field\">\n                <input type=\"hidden\" name=\"sib_form_invalid_email_notice\" value=\"Your email address is invalid\">\n                <input type=\"hidden\" name=\"sib_security\" value=\"a6180fbcb4\">\n\t\t\t\t<div class=\"sib_signup_box_inside_1\">\n\t\t\t\t\t<div style=\"\/*display:none*\/\" class=\"sib_msg_disp\">\n\t\t\t\t\t<\/div>\n                                            <div id=\"sib_captcha_invisible\" class=\"invi-recaptcha\" data-sitekey=\"6LdikOAaAAAAAJ6SWrrKVQrtw7TQpQAEnv0HS0G3\"><\/div>\n                    \t\t\t\t\t<p class=\"sib-email-area\">\r\n    <label class=\"sib-email-area\"><\/label>\r\n    <input type=\"email\" class=\"sib-email-area\" name=\"email\" required=\"required\" placeholder=\"Direcci\u00f3n de correo electr\u00f3nico\">\r\n<\/p>\r\n<p class=\"sib-NAME-area\">\r\n    <label class=\"sib-NAME-area\"><\/label>\r\n    <input type=\"text\" class=\"sib-NAME-area\" name=\"NAME\" placeholder=\"Nombre\">\r\n<\/p>\r\n<p>\r\n    <input type=\"submit\" id=\"invisible\" class=\"sib-default-btn\" value=\"Suscribir\">\r\n<\/p>\t\t\t\t<\/div>\n\t\t\t<input type=\"hidden\" name=\"trp-form-language\" value=\"es\"\/><\/form>\n\t\t\t<style>\n\t\t\t\tform#sib_signup_form_1 p.sib-alert-message {\n    padding: 6px 12px;\n    margin-bottom: 20px;\n    border: 1px solid transparent;\n    border-radius: 4px;\n    -webkit-box-sizing: border-box;\n    -moz-box-sizing: border-box;\n    box-sizing: border-box;\n}\nform#sib_signup_form_1 p.sib-alert-message-error {\n    background-color: #f2dede;\n    border-color: #ebccd1;\n    color: #a94442;\n}\nform#sib_signup_form_1 p.sib-alert-message-success {\n    background-color: #dff0d8;\n    border-color: #d6e9c6;\n    color: #3c763d;\n}\nform#sib_signup_form_1 p.sib-alert-message-warning {\n    background-color: #fcf8e3;\n    border-color: #faebcc;\n    color: #8a6d3b;\n}\n\t\t\t<\/style>\n\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t  <div class=\"related-post slider\">\r\n        <div class=\"headline\">Art\u00edculos Relacionados<\/div>\r\n    <div class=\"post-list owl-carousel\">\r\n\r\n            <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Gema Kaminari\" href=\"https:\/\/www.railscarma.com\/es\/blog\/articulos-tecnicos\/gema-kaminari\/?related_post_from=37277\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"gema kaminari\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Gema Kaminari\" href=\"https:\/\/www.railscarma.com\/es\/blog\/articulos-tecnicos\/gema-kaminari\/?related_post_from=37277\">\r\n        Gema Kaminari  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"\u00bfPor qu\u00e9 contratar desarrolladores Ruby on Rails en 2026?\" href=\"https:\/\/www.railscarma.com\/es\/blog\/ror\/por-que-contratar-desarrolladores-de-ruby-on-rails\/?related_post_from=30627\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"por qu\u00e9 contratar desarrolladores de Ruby on Rails en 2022\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"\u00bfPor qu\u00e9 contratar desarrolladores Ruby on Rails en 2026?\" href=\"https:\/\/www.railscarma.com\/es\/blog\/ror\/por-que-contratar-desarrolladores-de-ruby-on-rails\/?related_post_from=30627\">\r\n        \u00bfPor qu\u00e9 contratar desarrolladores Ruby on Rails en 2026?  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Extracci\u00f3n de datos en rieles mediante procesamiento CSV\" href=\"https:\/\/www.railscarma.com\/es\/blog\/articulos-tecnicos\/raspado-de-datos-en-rieles-mediante-el-procesamiento-de-csv\/?related_post_from=31591\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/09\/DATA-SCRAPING-IN-RAILS-BY-PROCESSING-CSV.png\" class=\"attachment-full size-full wp-post-image\" alt=\"\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/09\/DATA-SCRAPING-IN-RAILS-BY-PROCESSING-CSV.png 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/09\/DATA-SCRAPING-IN-RAILS-BY-PROCESSING-CSV-300x113.png 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/09\/DATA-SCRAPING-IN-RAILS-BY-PROCESSING-CSV-768x288.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Extracci\u00f3n de datos en rieles mediante procesamiento CSV\" href=\"https:\/\/www.railscarma.com\/es\/blog\/articulos-tecnicos\/raspado-de-datos-en-rieles-mediante-el-procesamiento-de-csv\/?related_post_from=31591\">\r\n        Extracci\u00f3n de datos en rieles mediante procesamiento CSV  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Realice llamadas de voz a trav\u00e9s de aplicaciones web Ruby on Rails\" href=\"https:\/\/www.railscarma.com\/es\/blog\/articulos-tecnicos\/realizar-llamadas-de-voz-a-traves-de-aplicaciones-web-ruby-on-rails\/?related_post_from=31309\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/07\/MAKE-VOICE-CALLS-THROUGH-RUBY-ON-RAILS-WEB-APPLICATIONS.png\" class=\"attachment-full size-full wp-post-image\" alt=\"\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/07\/MAKE-VOICE-CALLS-THROUGH-RUBY-ON-RAILS-WEB-APPLICATIONS.png 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/07\/MAKE-VOICE-CALLS-THROUGH-RUBY-ON-RAILS-WEB-APPLICATIONS-300x113.png 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/07\/MAKE-VOICE-CALLS-THROUGH-RUBY-ON-RAILS-WEB-APPLICATIONS-768x288.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Realice llamadas de voz a trav\u00e9s de aplicaciones web Ruby on Rails\" href=\"https:\/\/www.railscarma.com\/es\/blog\/articulos-tecnicos\/realizar-llamadas-de-voz-a-traves-de-aplicaciones-web-ruby-on-rails\/?related_post_from=31309\">\r\n        Realice llamadas de voz a trav\u00e9s de aplicaciones web Ruby on Rails  <\/a>\r\n\r\n        <\/div>\r\n      \r\n  <\/div>\r\n\r\n  <script>\r\n      <\/script>\r\n  <style>\r\n    .related-post {}\r\n\r\n    .related-post .post-list {\r\n      text-align: left;\r\n          }\r\n\r\n    .related-post .post-list .item {\r\n      margin: 10px;\r\n      padding: 10px;\r\n          }\r\n\r\n    .related-post .headline {\r\n      font-size: 14px !important;\r\n      color: #999999 !important;\r\n          }\r\n\r\n    .related-post .post-list .item .post_thumb {\r\n      max-height: 220px;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n          }\r\n\r\n    .related-post .post-list .item .post_title {\r\n      font-size: 14px;\r\n      color: #000000;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    .related-post .post-list .item .post_excerpt {\r\n      font-size: 12px;\r\n      color: #3f3f3f;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    .related-post .owl-dots .owl-dot {\r\n          }\r\n\r\n      <\/style>\r\n      <script>\r\n      jQuery(document).ready(function($) {\r\n        $(\".related-post .post-list\").owlCarousel({\r\n          items: 2,\r\n          responsiveClass: true,\r\n          responsive: {\r\n            0: {\r\n              items: 1,\r\n            },\r\n            768: {\r\n              items: 2,\r\n            },\r\n            1200: {\r\n              items: 2,\r\n            }\r\n          },\r\n                      rewind: true,\r\n                                loop: true,\r\n                                center: false,\r\n                                autoplay: true,\r\n            autoplayHoverPause: true,\r\n                                nav: true,\r\n            navSpeed: 1000,\r\n            navText: ['<i class=\"fas fa-chevron-left\"><\/i>', '<i class=\"fas fa-chevron-right\"><\/i>'],\r\n                                dots: false,\r\n            dotsSpeed: 1200,\r\n                                                    rtl: false,\r\n          \r\n        });\r\n      });\r\n    <\/script>\r\n  <\/div>","protected":false},"excerpt":{"rendered":"<p>Paypal es una aplicaci\u00f3n web basada en el comercio electr\u00f3nico, que transfiere la cantidad entre dos cuentas. Casi todas las empresas con sede en EE.UU. utilizan paypal para recibir y hacer los pagos.Veamos c\u00f3mo integrar este servicio en la aplicaci\u00f3n rails en diferentes pasos. Nota: He probado estos pasos en el modo de desarrollo, en mi m\u00e1quina local. Funciona bien ...<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/www.railscarma.com\/es\/blog\/rails-metodo-link_to-la-guia-completa-con-ejemplos\/\"> <span class=\"screen-reader-text\">M\u00e9todo link_to de Rails: La gu\u00eda completa con ejemplos<\/span> Leer m\u00e1s \u00bb<\/a><\/p>","protected":false},"author":1,"featured_media":32207,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[384],"tags":[433,481,482,483,379,382,383],"class_list":["post-6454","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technical-articles","tag-rails-application-development","tag-integrate-paypal-into-rails-app","tag-paypal-in-rails-application","tag-rails-app-development","tag-rails-application","tag-ruby-on-rails","tag-ruby-on-rails-development"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Integrating Paypal into Rails Application - Railscarma Blog<\/title>\n<meta name=\"description\" content=\"Paypal is an e-commerce based web application,which transfers the amount between two accounts and you can integrate this service in rails application.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.railscarma.com\/es\/blog\/articulos-tecnicos\/integrar-paypal-en-la-aplicacion-rails\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Integrating Paypal into Rails Application - Railscarma Blog\" \/>\n<meta property=\"og:description\" content=\"Paypal is an e-commerce based web application,which transfers the amount between two accounts and you can integrate this service in rails application.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.railscarma.com\/es\/blog\/articulos-tecnicos\/integrar-paypal-en-la-aplicacion-rails\/\" \/>\n<meta property=\"og:site_name\" content=\"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/RailsCarma\/\" \/>\n<meta property=\"article:published_time\" content=\"2012-10-24T09:27:56+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-06-07T08:03:47+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2012\/10\/Integrating-Paypal-into-Rails-Application-.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@railscarma\" \/>\n<meta name=\"twitter:site\" content=\"@railscarma\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.railscarma.com\/fr\/blog\/technical-articles\/integrer-paypal-dans-lapplication-rails\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/fr\/blog\/technical-articles\/integrer-paypal-dans-lapplication-rails\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21\"},\"headline\":\"Integrating Paypal into Rails Application\",\"datePublished\":\"2012-10-24T09:27:56+00:00\",\"dateModified\":\"2021-06-07T08:03:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/fr\/blog\/technical-articles\/integrer-paypal-dans-lapplication-rails\/\"},\"wordCount\":691,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/fr\/blog\/technical-articles\/integrer-paypal-dans-lapplication-rails\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2012\/10\/Integrating-Paypal-into-Rails-Application-.jpg\",\"keywords\":[\"Articles on Rails Application Development\",\"integrate paypal into rails app\",\"paypal in rails application\",\"rails app development\",\"rails application\",\"Ruby on rails\",\"ruby on rails development\"],\"articleSection\":[\"Technical Articles\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.railscarma.com\/fr\/blog\/technical-articles\/integrer-paypal-dans-lapplication-rails\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.railscarma.com\/fr\/blog\/technical-articles\/integrer-paypal-dans-lapplication-rails\/\",\"url\":\"https:\/\/www.railscarma.com\/fr\/blog\/technical-articles\/integrer-paypal-dans-lapplication-rails\/\",\"name\":\"Integrating Paypal into Rails Application - Railscarma Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/fr\/blog\/technical-articles\/integrer-paypal-dans-lapplication-rails\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/fr\/blog\/technical-articles\/integrer-paypal-dans-lapplication-rails\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2012\/10\/Integrating-Paypal-into-Rails-Application-.jpg\",\"datePublished\":\"2012-10-24T09:27:56+00:00\",\"dateModified\":\"2021-06-07T08:03:47+00:00\",\"description\":\"Paypal is an e-commerce based web application,which transfers the amount between two accounts and you can integrate this service in rails application.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.railscarma.com\/fr\/blog\/technical-articles\/integrer-paypal-dans-lapplication-rails\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.railscarma.com\/fr\/blog\/technical-articles\/integrer-paypal-dans-lapplication-rails\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.railscarma.com\/fr\/blog\/technical-articles\/integrer-paypal-dans-lapplication-rails\/#primaryimage\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2012\/10\/Integrating-Paypal-into-Rails-Application-.jpg\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2012\/10\/Integrating-Paypal-into-Rails-Application-.jpg\",\"width\":800,\"height\":300},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.railscarma.com\/fr\/blog\/technical-articles\/integrer-paypal-dans-lapplication-rails\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.railscarma.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Integrating Paypal into Rails Application\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.railscarma.com\/#website\",\"url\":\"https:\/\/www.railscarma.com\/\",\"name\":\"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\",\"description\":\"RailsCarma is a Ruby on Rails Development Company in Bangalore. We specialize in Offshore Ruby on Rails Development based out in USA and India. Hire experienced Ruby on Rails developers for the ultimate Web Experience.\",\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.railscarma.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.railscarma.com\/#organization\",\"name\":\"RailsCarma\",\"url\":\"https:\/\/www.railscarma.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png\",\"width\":200,\"height\":46,\"caption\":\"RailsCarma\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/RailsCarma\/\",\"https:\/\/x.com\/railscarma\",\"https:\/\/www.linkedin.com\/company\/railscarma\/\",\"https:\/\/myspace.com\/railscarma\",\"https:\/\/in.pinterest.com\/railscarma\/\",\"https:\/\/www.youtube.com\/channel\/UCx3Wil-aAnDARuatTEyMdpg\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"sameAs\":[\"https:\/\/www.railscarma.com\/hire-ruby-on-rails-developer\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Integraci\u00f3n de Paypal en la aplicaci\u00f3n Rails - Blog Railscarma","description":"Paypal es una aplicaci\u00f3n web basada en comercio electr\u00f3nico que transfiere el monto entre dos cuentas y puede integrar este servicio en la aplicaci\u00f3n Rails.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.railscarma.com\/es\/blog\/articulos-tecnicos\/integrar-paypal-en-la-aplicacion-rails\/","og_locale":"es_ES","og_type":"article","og_title":"Integrating Paypal into Rails Application - Railscarma Blog","og_description":"Paypal is an e-commerce based web application,which transfers the amount between two accounts and you can integrate this service in rails application.","og_url":"https:\/\/www.railscarma.com\/es\/blog\/articulos-tecnicos\/integrar-paypal-en-la-aplicacion-rails\/","og_site_name":"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development","article_publisher":"https:\/\/www.facebook.com\/RailsCarma\/","article_published_time":"2012-10-24T09:27:56+00:00","article_modified_time":"2021-06-07T08:03:47+00:00","og_image":[{"width":800,"height":300,"url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2012\/10\/Integrating-Paypal-into-Rails-Application-.jpg","type":"image\/jpeg"}],"author":"admin","twitter_card":"summary_large_image","twitter_creator":"@railscarma","twitter_site":"@railscarma","twitter_misc":{"Escrito por":"admin","Tiempo de lectura":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.railscarma.com\/fr\/blog\/technical-articles\/integrer-paypal-dans-lapplication-rails\/#article","isPartOf":{"@id":"https:\/\/www.railscarma.com\/fr\/blog\/technical-articles\/integrer-paypal-dans-lapplication-rails\/"},"author":{"name":"admin","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21"},"headline":"Integrating Paypal into Rails Application","datePublished":"2012-10-24T09:27:56+00:00","dateModified":"2021-06-07T08:03:47+00:00","mainEntityOfPage":{"@id":"https:\/\/www.railscarma.com\/fr\/blog\/technical-articles\/integrer-paypal-dans-lapplication-rails\/"},"wordCount":691,"commentCount":0,"publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"image":{"@id":"https:\/\/www.railscarma.com\/fr\/blog\/technical-articles\/integrer-paypal-dans-lapplication-rails\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2012\/10\/Integrating-Paypal-into-Rails-Application-.jpg","keywords":["Articles on Rails Application Development","integrate paypal into rails app","paypal in rails application","rails app development","rails application","Ruby on rails","ruby on rails development"],"articleSection":["Technical Articles"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.railscarma.com\/fr\/blog\/technical-articles\/integrer-paypal-dans-lapplication-rails\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.railscarma.com\/fr\/blog\/technical-articles\/integrer-paypal-dans-lapplication-rails\/","url":"https:\/\/www.railscarma.com\/fr\/blog\/technical-articles\/integrer-paypal-dans-lapplication-rails\/","name":"Integraci\u00f3n de Paypal en la aplicaci\u00f3n Rails - Blog Railscarma","isPartOf":{"@id":"https:\/\/www.railscarma.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.railscarma.com\/fr\/blog\/technical-articles\/integrer-paypal-dans-lapplication-rails\/#primaryimage"},"image":{"@id":"https:\/\/www.railscarma.com\/fr\/blog\/technical-articles\/integrer-paypal-dans-lapplication-rails\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2012\/10\/Integrating-Paypal-into-Rails-Application-.jpg","datePublished":"2012-10-24T09:27:56+00:00","dateModified":"2021-06-07T08:03:47+00:00","description":"Paypal es una aplicaci\u00f3n web basada en comercio electr\u00f3nico que transfiere el monto entre dos cuentas y puede integrar este servicio en la aplicaci\u00f3n Rails.","breadcrumb":{"@id":"https:\/\/www.railscarma.com\/fr\/blog\/technical-articles\/integrer-paypal-dans-lapplication-rails\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.railscarma.com\/fr\/blog\/technical-articles\/integrer-paypal-dans-lapplication-rails\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.railscarma.com\/fr\/blog\/technical-articles\/integrer-paypal-dans-lapplication-rails\/#primaryimage","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2012\/10\/Integrating-Paypal-into-Rails-Application-.jpg","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2012\/10\/Integrating-Paypal-into-Rails-Application-.jpg","width":800,"height":300},{"@type":"BreadcrumbList","@id":"https:\/\/www.railscarma.com\/fr\/blog\/technical-articles\/integrer-paypal-dans-lapplication-rails\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.railscarma.com\/"},{"@type":"ListItem","position":2,"name":"Integrating Paypal into Rails Application"}]},{"@type":"WebSite","@id":"https:\/\/www.railscarma.com\/#website","url":"https:\/\/www.railscarma.com\/","name":"RailsCarma - Empresa de desarrollo Ruby on Rails especializada en desarrollo offshore","description":"RailsCarma es una empresa de desarrollo de Ruby on Rails en Bangalore. Nos especializamos en el desarrollo offshore de Ruby on Rails con sede en EE. UU. e India. Contrate desarrolladores experimentados de Ruby on Rails para disfrutar de la mejor experiencia web.","publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.railscarma.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.railscarma.com\/#organization","name":"RielesCarma","url":"https:\/\/www.railscarma.com\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png","width":200,"height":46,"caption":"RailsCarma"},"image":{"@id":"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/RailsCarma\/","https:\/\/x.com\/railscarma","https:\/\/www.linkedin.com\/company\/railscarma\/","https:\/\/myspace.com\/railscarma","https:\/\/in.pinterest.com\/railscarma\/","https:\/\/www.youtube.com\/channel\/UCx3Wil-aAnDARuatTEyMdpg"]},{"@type":"Person","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21","name":"administraci\u00f3n","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g","caption":"admin"},"sameAs":["https:\/\/www.railscarma.com\/hire-ruby-on-rails-developer\/"]}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/posts\/6454","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/comments?post=6454"}],"version-history":[{"count":0,"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/posts\/6454\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/media\/32207"}],"wp:attachment":[{"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/media?parent=6454"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/categories?post=6454"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/tags?post=6454"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}