{"id":6813,"date":"2016-11-17T15:10:03","date_gmt":"2016-11-17T15:10:03","guid":{"rendered":"https:\/\/www.jose-aguilar.com\/blog\/?p=6813"},"modified":"2019-07-04T10:29:11","modified_gmt":"2019-07-04T10:29:11","slug":"implementar-una-pasarela-pago-paypal-utilizando-php","status":"publish","type":"post","link":"https:\/\/www.jose-aguilar.com\/blog\/implementar-una-pasarela-pago-paypal-utilizando-php\/","title":{"rendered":"Como implementar una pasarela de pago con PayPal utilizando PHP"},"content":{"rendered":"<p>En este art\u00edculo vamos a ver como <strong>implementar una pasarela de pago<\/strong> <strong>con PayPal utilizando PHP<\/strong>.<\/p>\n<p>Aunque en la mayor\u00eda de gestores de contenido y plataformas de e-commerce ya disponen de un plugin o m\u00f3dulo con esta implementaci\u00f3n, siempre puede ser interesante realizar una pasarela de pago a medida sin necesidad de utilizar ning\u00fan gestor de contenido ni plataforma de e-commerce.<\/p>\n<p>De esta forma, existen varias formas de <strong>implementar una pasarela de pago utilizando PayPal<\/strong>. Nos centraremos en explicar una soluci\u00f3n para implementar un sistema de pago de servicios o productos con PayPal indicando previamente un concepto e importe.<\/p>\n<h3>Formulario<\/h3>\n<p>En un archivo <strong>PHP<\/strong>, crearemos un formulario simple donde tan solo vamos a demandar un concepto y el importe correspondiente.<\/p>\n<div id=\"wpshdo_1\" class=\"wp-synhighlighter-outer\"><div id=\"wpshdt_1\" class=\"wp-synhighlighter-expanded\"><table border=\"0\" width=\"100%\"><tr><td align=\"left\" width=\"80%\"><a name=\"#codesyntax_1\"><\/a><a id=\"wpshat_1\" class=\"wp-synhighlighter-title\" href=\"#codesyntax_1\"  onClick=\"javascript:wpsh_toggleBlock(1)\" title=\"Click to show\/hide code block\">Source code<\/a><\/td><td align=\"right\"><a href=\"#codesyntax_1\" onClick=\"javascript:wpsh_code(1)\" title=\"Show code only\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/code.png\" \/><\/a>&nbsp;<a href=\"#codesyntax_1\" onClick=\"javascript:wpsh_print(1)\" title=\"Print code\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/printer.png\" \/><\/a>&nbsp;<a href=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/About.html\" target=\"_blank\" title=\"Show plugin information\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/info.gif\" \/><\/a>&nbsp;<\/td><\/tr><\/table><\/div><div id=\"wpshdi_1\" class=\"wp-synhighlighter-inner\" style=\"display: block;\"><pre class=\"html4strict\" style=\"font-family:monospace;\"><span class=\"sc2\">&lt;<a href=\"http:\/\/december.com\/html\/4\/element\/form.html\"><span class=\"kw2\">form<\/span><\/a> <span class=\"kw3\">class<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;form-amount&quot;<\/span> <span class=\"kw3\">action<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;index.php&quot;<\/span> <span class=\"kw3\">method<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;post&quot;<\/span>&gt;<\/span>\n    <span class=\"sc2\">&lt;<a href=\"http:\/\/december.com\/html\/4\/element\/div.html\"><span class=\"kw2\">div<\/span><\/a> <span class=\"kw3\">class<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;form-group&quot;<\/span>&gt;<\/span>\n        <span class=\"sc2\">&lt;<a href=\"http:\/\/december.com\/html\/4\/element\/label.html\"><span class=\"kw2\">label<\/span><\/a> <span class=\"kw3\">for<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;concept&quot;<\/span>&gt;<\/span>Concepto<span class=\"sc2\">&lt;<span class=\"sy0\">\/<\/span><a href=\"http:\/\/december.com\/html\/4\/element\/label.html\"><span class=\"kw2\">label<\/span><\/a>&gt;<\/span>\n        <span class=\"sc2\">&lt;<a href=\"http:\/\/december.com\/html\/4\/element\/input.html\"><span class=\"kw2\">input<\/span><\/a> <span class=\"kw3\">type<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;text&quot;<\/span> <span class=\"kw3\">id<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;concept&quot;<\/span> <span class=\"kw3\">name<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;concept&quot;<\/span> <span class=\"kw3\">class<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;form-control&quot;<\/span> placeholder<span class=\"sy0\">=<\/span><span class=\"st0\">&quot;Indicar un concepto&quot;<\/span>&gt;<\/span>\n    <span class=\"sc2\">&lt;<span class=\"sy0\">\/<\/span><a href=\"http:\/\/december.com\/html\/4\/element\/div.html\"><span class=\"kw2\">div<\/span><\/a>&gt;<\/span>\n    <span class=\"sc2\">&lt;<a href=\"http:\/\/december.com\/html\/4\/element\/div.html\"><span class=\"kw2\">div<\/span><\/a> <span class=\"kw3\">class<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;form-group&quot;<\/span>&gt;<\/span>\n        <span class=\"sc2\">&lt;<a href=\"http:\/\/december.com\/html\/4\/element\/label.html\"><span class=\"kw2\">label<\/span><\/a> <span class=\"kw3\">for<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;amount&quot;<\/span>&gt;<\/span>Importe<span class=\"sc2\">&lt;<span class=\"sy0\">\/<\/span><a href=\"http:\/\/december.com\/html\/4\/element\/label.html\"><span class=\"kw2\">label<\/span><\/a>&gt;<\/span>\n        <span class=\"sc2\">&lt;<a href=\"http:\/\/december.com\/html\/4\/element\/input.html\"><span class=\"kw2\">input<\/span><\/a> <span class=\"kw3\">type<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;text&quot;<\/span> <span class=\"kw3\">id<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;amount&quot;<\/span> <span class=\"kw3\">name<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;amount&quot;<\/span> <span class=\"kw3\">class<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;form-control&quot;<\/span> placeholder<span class=\"sy0\">=<\/span><span class=\"st0\">&quot;Por ejemplo: 50.00&quot;<\/span>&gt;<\/span>\n    <span class=\"sc2\">&lt;<span class=\"sy0\">\/<\/span><a href=\"http:\/\/december.com\/html\/4\/element\/div.html\"><span class=\"kw2\">div<\/span><\/a>&gt;<\/span>\n    <span class=\"sc2\">&lt;<a href=\"http:\/\/december.com\/html\/4\/element\/input.html\"><span class=\"kw2\">input<\/span><\/a> <span class=\"kw3\">class<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;btn btn-lg btn-primary btn-block&quot;<\/span> <span class=\"kw3\">name<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;submitPayment&quot;<\/span> <span class=\"kw3\">type<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;submit&quot;<\/span> <span class=\"kw3\">value<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;Pagar&quot;<\/span>&gt;<\/span>\n<span class=\"sc2\">&lt;<span class=\"sy0\">\/<\/span><a href=\"http:\/\/december.com\/html\/4\/element\/form.html\"><span class=\"kw2\">form<\/span><\/a>&gt;<\/span><\/pre><\/div><\/div>\n<p>Nuestro formulario para crear un pago tan solo necesita un concepto y el importe.<\/p>\n<h3>Procesamiento del pago con PHP<\/h3>\n<p>Que sucede cuando pulsamos en \u00abPagar\u00bb?<\/p>\n<div id=\"wpshdo_2\" class=\"wp-synhighlighter-outer\"><div id=\"wpshdt_2\" class=\"wp-synhighlighter-expanded\"><table border=\"0\" width=\"100%\"><tr><td align=\"left\" width=\"80%\"><a name=\"#codesyntax_2\"><\/a><a id=\"wpshat_2\" class=\"wp-synhighlighter-title\" href=\"#codesyntax_2\"  onClick=\"javascript:wpsh_toggleBlock(2)\" title=\"Click to show\/hide code block\">Source code<\/a><\/td><td align=\"right\"><a href=\"#codesyntax_2\" onClick=\"javascript:wpsh_code(2)\" title=\"Show code only\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/code.png\" \/><\/a>&nbsp;<a href=\"#codesyntax_2\" onClick=\"javascript:wpsh_print(2)\" title=\"Print code\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/printer.png\" \/><\/a>&nbsp;<a href=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/About.html\" target=\"_blank\" title=\"Show plugin information\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/info.gif\" \/><\/a>&nbsp;<\/td><\/tr><\/table><\/div><div id=\"wpshdi_2\" class=\"wp-synhighlighter-inner\" style=\"display: block;\"><pre class=\"php\" style=\"font-family:monospace;\">if (isset($_POST['submitPayment'])) {\n&nbsp;\n    $amount = $_POST['amount']; \n    $concept = $_POST['concept'];\n    $order = date('ymdHis');\n    ?&gt;\n&nbsp;\n    &lt;div class=&quot;loading&quot;&gt;Un momento, por favor&lt;\/div&gt;\n&nbsp;\n    &lt;form id=&quot;realizarPago&quot; action=&quot;https:\/\/www.paypal.com\/cgi-bin\/webscr&quot; method=&quot;post&quot;&gt;\n        &lt;input name=&quot;cmd&quot; type=&quot;hidden&quot; value=&quot;_cart&quot; \/&gt;\n        &lt;input name=&quot;upload&quot; type=&quot;hidden&quot; value=&quot;1&quot; \/&gt;\n        &lt;input name=&quot;business&quot; type=&quot;hidden&quot; value=&quot;your-email@paypal.com&quot; \/&gt;\n        &lt;input name=&quot;shopping_url&quot; type=&quot;hidden&quot; value=&quot;https:\/\/www.jose-aguilar.com\/scripts\/php\/pago-con-paypal\/&quot; \/&gt;\n        &lt;input name=&quot;currency_code&quot; type=&quot;hidden&quot; value=&quot;EUR&quot; \/&gt;\n        &lt;input name=&quot;return&quot; type=&quot;hidden&quot; value=&quot;https:\/\/www.jose-aguilar.com\/scripts\/php\/pago-con-paypal\/confirmation.php&quot; \/&gt;\n        &lt;input name=&quot;notify_url&quot; type=&quot;hidden&quot; value=&quot;https:\/\/www.jose-aguilar.com\/scripts\/php\/pago-con-paypal\/ipn.php&quot; \/&gt;\n&nbsp;\n        &lt;input name=&quot;rm&quot; type=&quot;hidden&quot; value=&quot;2&quot; \/&gt;\n        &lt;input name=&quot;item_number_1&quot; type=&quot;hidden&quot; value=&quot;<span class=\"kw2\">&lt;?php<\/span> <span class=\"kw1\">echo<\/span> <span class=\"re0\">$order<\/span><span class=\"sy0\">;<\/span> <span class=\"sy1\">?&gt;<\/span>&quot; \/&gt;\n        &lt;input name=&quot;item_name_1&quot; type=&quot;hidden&quot; value=&quot;<span class=\"kw2\">&lt;?php<\/span> <span class=\"kw1\">echo<\/span> <span class=\"re0\">$concept<\/span><span class=\"sy0\">;<\/span> <span class=\"sy1\">?&gt;<\/span>&quot; \/&gt;\n        &lt;input name=&quot;amount_1&quot; type=&quot;hidden&quot; value=&quot;<span class=\"kw2\">&lt;?php<\/span> <span class=\"kw1\">echo<\/span> <span class=\"re0\">$amount<\/span><span class=\"sy0\">;<\/span> <span class=\"sy1\">?&gt;<\/span>&quot; \/&gt;\n        &lt;input name=&quot;quantity_1&quot; type=&quot;hidden&quot; value=&quot;1&quot; \/&gt; \n&nbsp;\n    &lt;\/form&gt;\n    &lt;script&gt;\n    $(document).ready(function () {\n        $(&quot;#realizarPago&quot;).submit();\n    });\n    &lt;\/script&gt;\n<span class=\"kw2\">&lt;?php<\/span>\n<span class=\"br0\">&#125;<\/span>   \n<span class=\"sy1\">?&gt;<\/span><\/pre><\/div><\/div>\n<h3>Variables del formulario a enviar a PayPal<\/h3>\n<p>Recibimos las variables del formulario y generamos con ellas el formulario con id=\u00bbrealizarPago\u00bb que enviaremos directamente hacia <strong>PayPal<\/strong>.<\/p>\n<p>En el action del formulario con id=\u00bbrealizarPago\u00bb podr\u00e1s ver que estamos empleando la ruta \u00abhttps:\/\/www.paypal.com\/cgi-bin\/webscr\u00bb. Esto ruta se utiliza para saltar a <strong>PayPal<\/strong> en modo real. Para ponerlo en modo pruebas o sandbox la url deber\u00eda ser: \u00abhttps:\/\/www.sandbox.paypal.com\/cgi-bin\/webscr\u00bb<\/p>\n<p>Es importante saber que el formulario con id=\u00bbrealizarPago\u00bb es un formulario que no ser\u00e1 visible y que se enviar\u00e1 nada m\u00e1s reciba las variables (concepto e importe) mediante <strong>jQuery<\/strong>.<\/p>\n<p>Que variables estamos enviando a <strong>PayPal<\/strong>?<\/p>\n<p>cmd -&gt;Tipo de transacci\u00f3n. Queremos utilizar el carrito de la compra. Su valor es \u00ab_cart\u00bb.<\/p>\n<p>upload -&gt; Lo definimos a 1 para indicar que se trata de un carrito de la compra de un tercero.<\/p>\n<p>business -&gt; Se debe especificar el email de la cuenta de PayPal que recibe el dinero. La cuenta debe ser una cuenta Business.<\/p>\n<p>shopping_url -&gt; Se debe indicar la url del comercio.<\/p>\n<p>currency_code -&gt; Estamos especificando la moneda. En nuestro caso euros = EUR.<\/p>\n<p>return -&gt; Se debe espeficicar la p\u00e1gina de confirmaci\u00f3n del pago. Dede ser una url que indique que el pago se ha realizado correctamente.<\/p>\n<p>notify_url -&gt; Debe ser l<span id=\"result_box\" class=\"\" lang=\"es\"><span class=\"\">a URL a la que PayPal env\u00eda informaci\u00f3n sobre el pago, en forma de mensajes de notificaci\u00f3n de pago instant\u00e1neo. En este archivo es donde debes gestionar el proceso final del pago. Por ejemplo, si todo ha ido bien, enviar un email al usuario con esta informaci\u00f3n y registrar el pago en la base de datos.<\/span><\/span><\/p>\n<p>rm -&gt; Es el m\u00e9todo de env\u00edo del formulario a usar. 1 = GET, 2 = POST.<\/p>\n<p>item_number_x -&gt; Se trata del n\u00famero de referencia del producto o servicio x.<\/p>\n<p>item_name_x -&gt; Se trata del nombre del producto o servicio x.<\/p>\n<p>amount_x -&gt; Se trata del importe del producto o servicio x.<\/p>\n<p>quantity_x -&gt; Se trata de la cantidad del producto o servicio x.<\/p>\n<p>La x debe substituirse por un n\u00famero y representa el n\u00famero de item. Por ejemplo si queremos enviar 2 items a Paypal, lo deberemos enviar as\u00ed:<\/p>\n<div id=\"wpshdo_3\" class=\"wp-synhighlighter-outer\"><div id=\"wpshdt_3\" class=\"wp-synhighlighter-expanded\"><table border=\"0\" width=\"100%\"><tr><td align=\"left\" width=\"80%\"><a name=\"#codesyntax_3\"><\/a><a id=\"wpshat_3\" class=\"wp-synhighlighter-title\" href=\"#codesyntax_3\"  onClick=\"javascript:wpsh_toggleBlock(3)\" title=\"Click to show\/hide code block\">Source code<\/a><\/td><td align=\"right\"><a href=\"#codesyntax_3\" onClick=\"javascript:wpsh_code(3)\" title=\"Show code only\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/code.png\" \/><\/a>&nbsp;<a href=\"#codesyntax_3\" onClick=\"javascript:wpsh_print(3)\" title=\"Print code\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/printer.png\" \/><\/a>&nbsp;<a href=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/About.html\" target=\"_blank\" title=\"Show plugin information\"><img decoding=\"async\" border=\"0\" style=\"border: 0 none\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/plugins\/wp-synhighlight\/themes\/default\/images\/info.gif\" \/><\/a>&nbsp;<\/td><\/tr><\/table><\/div><div id=\"wpshdi_3\" class=\"wp-synhighlighter-inner\" style=\"display: block;\"><pre class=\"html4strict\" style=\"font-family:monospace;\"><span class=\"sc2\">&lt;<a href=\"http:\/\/december.com\/html\/4\/element\/input.html\"><span class=\"kw2\">input<\/span><\/a> <span class=\"kw3\">name<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;item_number_1&quot;<\/span> <span class=\"kw3\">type<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;hidden&quot;<\/span> <span class=\"kw3\">value<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;10001&quot;<\/span> <span class=\"sy0\">\/<\/span>&gt;<\/span>\n<span class=\"sc2\">&lt;<a href=\"http:\/\/december.com\/html\/4\/element\/input.html\"><span class=\"kw2\">input<\/span><\/a> <span class=\"kw3\">name<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;item_name_1&quot;<\/span> <span class=\"kw3\">type<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;hidden&quot;<\/span> <span class=\"kw3\">value<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;Producto Uno&quot;<\/span> <span class=\"sy0\">\/<\/span>&gt;<\/span>\n<span class=\"sc2\">&lt;<a href=\"http:\/\/december.com\/html\/4\/element\/input.html\"><span class=\"kw2\">input<\/span><\/a> <span class=\"kw3\">name<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;amount_1&quot;<\/span> <span class=\"kw3\">type<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;hidden&quot;<\/span> <span class=\"kw3\">value<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;50.99&quot;<\/span> <span class=\"sy0\">\/<\/span>&gt;<\/span>\n<span class=\"sc2\">&lt;<a href=\"http:\/\/december.com\/html\/4\/element\/input.html\"><span class=\"kw2\">input<\/span><\/a> <span class=\"kw3\">name<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;quantity_1&quot;<\/span> <span class=\"kw3\">type<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;hidden&quot;<\/span> <span class=\"kw3\">value<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;2&quot;<\/span> <span class=\"sy0\">\/<\/span>&gt;<\/span> \n&nbsp;\n<span class=\"sc2\">&lt;<a href=\"http:\/\/december.com\/html\/4\/element\/input.html\"><span class=\"kw2\">input<\/span><\/a> <span class=\"kw3\">name<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;item_number_2&quot;<\/span> <span class=\"kw3\">type<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;hidden&quot;<\/span> <span class=\"kw3\">value<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;10002&quot;<\/span> <span class=\"sy0\">\/<\/span>&gt;<\/span>\n<span class=\"sc2\">&lt;<a href=\"http:\/\/december.com\/html\/4\/element\/input.html\"><span class=\"kw2\">input<\/span><\/a> <span class=\"kw3\">name<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;item_name_2&quot;<\/span> <span class=\"kw3\">type<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;hidden&quot;<\/span> <span class=\"kw3\">value<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;Producto Dos&quot;<\/span> <span class=\"sy0\">\/<\/span>&gt;<\/span>\n<span class=\"sc2\">&lt;<a href=\"http:\/\/december.com\/html\/4\/element\/input.html\"><span class=\"kw2\">input<\/span><\/a> <span class=\"kw3\">name<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;amount_2&quot;<\/span> <span class=\"kw3\">type<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;hidden&quot;<\/span> <span class=\"kw3\">value<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;60.45&quot;<\/span> <span class=\"sy0\">\/<\/span>&gt;<\/span>\n<span class=\"sc2\">&lt;<a href=\"http:\/\/december.com\/html\/4\/element\/input.html\"><span class=\"kw2\">input<\/span><\/a> <span class=\"kw3\">name<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;quantity_2&quot;<\/span> <span class=\"kw3\">type<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;hidden&quot;<\/span> <span class=\"kw3\">value<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;2&quot;<\/span> <span class=\"sy0\">\/<\/span>&gt;<\/span><\/pre><\/div><\/div>\n<h3>Resultado<\/h3>\n<p>Ahora, si por ejemplo, introdujimos como concepto \u00abServicio de mantenimiento\u00bb y como importe \u00ab200\u00bb \u20ac, en la parasarela de PayPal nos saldr\u00e1 reflejado as\u00ed:<\/p>\n<p><a href=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2016\/11\/paypal-php.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-6814 size-full\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2016\/11\/paypal-php.png\" alt=\"paypal-php\" width=\"803\" height=\"609\" srcset=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2016\/11\/paypal-php.png 803w, https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2016\/11\/paypal-php-300x228.png 300w, https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2016\/11\/paypal-php-768x582.png 768w\" sizes=\"auto, (max-width: 803px) 100vw, 803px\" \/><\/a><\/p>\n<p style=\"text-align: center;\"><a class=\"btn btn-secondary\" href=\"https:\/\/www.jose-aguilar.com\/scripts\/php\/pago-con-paypal\/\" target=\"_blank\" rel=\"noopener noreferrer\"><i class=\"fa fa-eye\"><\/i> Ver ejemplo en funcionamiento y realizar un pago ahora<\/a><\/p>\n<p style=\"text-align: center;\"><a class=\"btn btn-secondary\" href=\"https:\/\/developer.paypal.com\/webapps\/developer\/docs\/classic\/paypal-payments-standard\/integration-guide\/Appx_websitestandard_htmlvariables\/\" target=\"_blank\" rel=\"noopener noreferrer\"><i class=\"fa fa-eye\"><\/i> Ver m\u00e1s documentaci\u00f3n sobre la API de PayPal<\/a><\/p>\n<p style=\"text-align: center;\"><a class=\"btn btn-primary\" href=\"https:\/\/www.jose-aguilar.com\/scripts\/php\/pago-con-paypal\/pago-con-paypal.zip\"><i class=\"fa fa-download\"><\/i> Descargar<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Tutorial y c\u00f3digo de ejemplo que te permite implementar una pasarela de pago con PayPal utilizando PHP. Sistema de pago de servicios o productos indicando el importe.<\/p>\n","protected":false},"author":1,"featured_media":7347,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[177,84],"class_list":["post-6813","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php","tag-formas-de-pago","tag-formularios"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Como implementar una pasarela de pago con PayPal utilizando PHP - Jose Aguilar Blog<\/title>\n<meta name=\"description\" content=\"Tutorial y c\u00f3digo de ejemplo que te permite implementar una pasarela de pago con PayPal utilizando PHP. Sistema de pago de servicios o productos indicando el importe.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Como implementar una pasarela de pago con PayPal utilizando PHP - Jose Aguilar Blog\" \/>\n<meta property=\"og:description\" content=\"Tutorial y c\u00f3digo de ejemplo que te permite implementar una pasarela de pago con PayPal utilizando PHP. Sistema de pago de servicios o productos indicando el importe.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.jose-aguilar.com\/blog\/implementar-una-pasarela-pago-paypal-utilizando-php\/\" \/>\n<meta property=\"og:site_name\" content=\"Jose Aguilar Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/joseaguilarblog\" \/>\n<meta property=\"article:published_time\" content=\"2016-11-17T15:10:03+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-07-04T10:29:11+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2016\/11\/pago-paypal-php.png\" \/>\n\t<meta property=\"og:image:width\" content=\"250\" \/>\n\t<meta property=\"og:image:height\" content=\"250\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Jose Aguilar\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@JoseAguilarBlog\" \/>\n<meta name=\"twitter:site\" content=\"@JoseAguilarBlog\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jose Aguilar\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/implementar-una-pasarela-pago-paypal-utilizando-php\/\",\"url\":\"https:\/\/www.jose-aguilar.com\/blog\/implementar-una-pasarela-pago-paypal-utilizando-php\/\",\"name\":\"Como implementar una pasarela de pago con PayPal utilizando PHP - Jose Aguilar Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/implementar-una-pasarela-pago-paypal-utilizando-php\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/implementar-una-pasarela-pago-paypal-utilizando-php\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2016\/11\/pago-paypal-php.png\",\"datePublished\":\"2016-11-17T15:10:03+00:00\",\"dateModified\":\"2019-07-04T10:29:11+00:00\",\"author\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/e6d485db1e1140866e95971d17105d11\"},\"description\":\"Tutorial y c\u00f3digo de ejemplo que te permite implementar una pasarela de pago con PayPal utilizando PHP. Sistema de pago de servicios o productos indicando el importe.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/implementar-una-pasarela-pago-paypal-utilizando-php\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.jose-aguilar.com\/blog\/implementar-una-pasarela-pago-paypal-utilizando-php\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/implementar-una-pasarela-pago-paypal-utilizando-php\/#primaryimage\",\"url\":\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2016\/11\/pago-paypal-php.png\",\"contentUrl\":\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2016\/11\/pago-paypal-php.png\",\"width\":250,\"height\":250},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/implementar-una-pasarela-pago-paypal-utilizando-php\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/www.jose-aguilar.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Como implementar una pasarela de pago con PayPal utilizando PHP\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#website\",\"url\":\"https:\/\/www.jose-aguilar.com\/blog\/\",\"name\":\"Jose Aguilar Blog\",\"description\":\"Desarrollo Web con PrestaShop, WordPress, PHP, jQuery y Ajax\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.jose-aguilar.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/e6d485db1e1140866e95971d17105d11\",\"name\":\"Jose Aguilar\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/abbfef5f1d75260c549d0f2c2842bb697ba1aadff3b2836b39d2590c8a625415?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/abbfef5f1d75260c549d0f2c2842bb697ba1aadff3b2836b39d2590c8a625415?s=96&d=mm&r=g\",\"caption\":\"Jose Aguilar\"},\"description\":\"Director ejecutivo y tecnol\u00f3gico en JA Modules. Experto programador PrestaShop y Experto programador WordPress.\",\"sameAs\":[\"https:\/\/plus.google.com\/114357189801512615537\"],\"url\":\"https:\/\/www.jose-aguilar.com\/blog\/author\/josea902\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Como implementar una pasarela de pago con PayPal utilizando PHP - Jose Aguilar Blog","description":"Tutorial y c\u00f3digo de ejemplo que te permite implementar una pasarela de pago con PayPal utilizando PHP. Sistema de pago de servicios o productos indicando el importe.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"es_ES","og_type":"article","og_title":"Como implementar una pasarela de pago con PayPal utilizando PHP - Jose Aguilar Blog","og_description":"Tutorial y c\u00f3digo de ejemplo que te permite implementar una pasarela de pago con PayPal utilizando PHP. Sistema de pago de servicios o productos indicando el importe.","og_url":"https:\/\/www.jose-aguilar.com\/blog\/implementar-una-pasarela-pago-paypal-utilizando-php\/","og_site_name":"Jose Aguilar Blog","article_publisher":"https:\/\/www.facebook.com\/joseaguilarblog","article_published_time":"2016-11-17T15:10:03+00:00","article_modified_time":"2019-07-04T10:29:11+00:00","og_image":[{"width":250,"height":250,"url":"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2016\/11\/pago-paypal-php.png","type":"image\/png"}],"author":"Jose Aguilar","twitter_card":"summary_large_image","twitter_creator":"@JoseAguilarBlog","twitter_site":"@JoseAguilarBlog","twitter_misc":{"Escrito por":"Jose Aguilar","Tiempo de lectura":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.jose-aguilar.com\/blog\/implementar-una-pasarela-pago-paypal-utilizando-php\/","url":"https:\/\/www.jose-aguilar.com\/blog\/implementar-una-pasarela-pago-paypal-utilizando-php\/","name":"Como implementar una pasarela de pago con PayPal utilizando PHP - Jose Aguilar Blog","isPartOf":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/implementar-una-pasarela-pago-paypal-utilizando-php\/#primaryimage"},"image":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/implementar-una-pasarela-pago-paypal-utilizando-php\/#primaryimage"},"thumbnailUrl":"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2016\/11\/pago-paypal-php.png","datePublished":"2016-11-17T15:10:03+00:00","dateModified":"2019-07-04T10:29:11+00:00","author":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/e6d485db1e1140866e95971d17105d11"},"description":"Tutorial y c\u00f3digo de ejemplo que te permite implementar una pasarela de pago con PayPal utilizando PHP. Sistema de pago de servicios o productos indicando el importe.","breadcrumb":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/implementar-una-pasarela-pago-paypal-utilizando-php\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.jose-aguilar.com\/blog\/implementar-una-pasarela-pago-paypal-utilizando-php\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.jose-aguilar.com\/blog\/implementar-una-pasarela-pago-paypal-utilizando-php\/#primaryimage","url":"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2016\/11\/pago-paypal-php.png","contentUrl":"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2016\/11\/pago-paypal-php.png","width":250,"height":250},{"@type":"BreadcrumbList","@id":"https:\/\/www.jose-aguilar.com\/blog\/implementar-una-pasarela-pago-paypal-utilizando-php\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/www.jose-aguilar.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Como implementar una pasarela de pago con PayPal utilizando PHP"}]},{"@type":"WebSite","@id":"https:\/\/www.jose-aguilar.com\/blog\/#website","url":"https:\/\/www.jose-aguilar.com\/blog\/","name":"Jose Aguilar Blog","description":"Desarrollo Web con PrestaShop, WordPress, PHP, jQuery y Ajax","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.jose-aguilar.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Person","@id":"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/e6d485db1e1140866e95971d17105d11","name":"Jose Aguilar","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/abbfef5f1d75260c549d0f2c2842bb697ba1aadff3b2836b39d2590c8a625415?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/abbfef5f1d75260c549d0f2c2842bb697ba1aadff3b2836b39d2590c8a625415?s=96&d=mm&r=g","caption":"Jose Aguilar"},"description":"Director ejecutivo y tecnol\u00f3gico en JA Modules. Experto programador PrestaShop y Experto programador WordPress.","sameAs":["https:\/\/plus.google.com\/114357189801512615537"],"url":"https:\/\/www.jose-aguilar.com\/blog\/author\/josea902\/"}]}},"_links":{"self":[{"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/posts\/6813","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/comments?post=6813"}],"version-history":[{"count":0,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/posts\/6813\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/media\/7347"}],"wp:attachment":[{"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/media?parent=6813"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/categories?post=6813"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/tags?post=6813"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}