{"id":26525,"date":"2021-04-25T11:08:00","date_gmt":"2021-04-25T08:08:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=26525"},"modified":"2021-10-17T18:03:19","modified_gmt":"2021-10-17T15:03:19","slug":"una-guia-para-la-integracion-de-paypal-en-su-sitio-web-en-php","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/es\/una-guia-para-la-integracion-de-paypal-en-su-sitio-web-en-php\/","title":{"rendered":"Una gu\u00eda para la integraci\u00f3n de PayPal en su sitio web en PHP"},"content":{"rendered":"<p>PayPal es sin duda una de las pasarelas de pago m\u00e1s populares para sitios web. La mayor\u00eda de los sitios web utilizan PayPal para recibir pagos en su aplicaci\u00f3n. En este art\u00edculo, estudiamos sobre la integraci\u00f3n de PayPal en una aplicaci\u00f3n web en PHP.<\/p>\n<h3>\u00bfPor qu\u00e9 elegir PayPal?<\/h3>\n<p>Crear una <a href=\"https:\/\/www.paypal.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">cuenta en PayPal<\/a> es totalmente gratis. No necesita pagar nada por adelantado. PayPal le cobrar\u00e1 por transacci\u00f3n.<\/p>\n<p>Al realizar transacciones de pago, PayPal utiliza el cifrado Secure Socket Layers (SSL). Esto protege los datos personales y confidenciales de su cliente. Debido a esto, sus clientes se sienten seguros al realizar el pago a trav\u00e9s de su aplicaci\u00f3n web.<\/p>\n<p>PayPal tambi\u00e9n permite pagar a trav\u00e9s del saldo de PayPal, tarjetas de cr\u00e9dito o d\u00e9bito. Agrega una serie de opciones para que un cliente pague por su servicio.<\/p>\n<p>Para aceptar pagos mediante tarjetas de cr\u00e9dito, tambi\u00e9n puede utilizar el servicio <a href=\"http:\/\/reseller.authorize.net\/application\/103001\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Authorize.net<\/a>. Si desea obtener m\u00e1s informaci\u00f3n sobre Authorize.net, siga nuestro tutorial <a href=\"https:\/\/themewp.inform.click\/es\/acepte-el-pago-con-tarjeta-de-credito-utilizando-authorize-net-payment-gateway-en-php\/\" title=\"Acepte el pago con tarjeta de cr\u00e9dito utilizando la pasarela de pago Authorize.net en PHP\">Acepte el pago con tarjeta de cr\u00e9dito utilizando la pasarela de pago Authorize.net en PHP<\/a>.<\/p>\n<h3>Integraci\u00f3n de PayPal<\/h3>\n<p>Ya que estamos hablando de un sitio web con PHP, <a href=\"https:\/\/github.com\/paypal\/PayPal-PHP-SDK\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">usaremos la biblioteca oficial GiHub de PayPal<\/a>. Esta biblioteca es para aplicaciones PHP.<\/p>\n<p>Recomendamos utilizar <a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Composer<\/a> para la instalaci\u00f3n de la biblioteca.<\/p>\n<p>Entonces, para integrar PayPal en el sitio web, primero ejecute el siguiente comando en el directorio ra\u00edz del proyecto.<\/p>\n<pre><code>composer require \"paypal\/rest-api-sdk-php:*\"<\/code><\/pre>\n<h3>Obtener la identificaci\u00f3n del cliente y el secreto del cliente<\/h3>\n<p>Cuando el cliente paga a trav\u00e9s de PayPal, la cantidad debe depositarse en su cuenta de PayPal. Para hacerlo, necesitamos obtener su identificaci\u00f3n de cliente y su secreto de cliente. Puede crear sus credenciales desde <a href=\"https:\/\/developer.paypal.com\/developer\/applications\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">aqu\u00ed<\/a>.<\/p>\n<p>En esta p\u00e1gina Mis aplicaciones y credenciales, despl\u00e1cese hacia abajo hasta la secci\u00f3n &#8216;Aplicaciones de API de descanso&#8217; y haga clic en el bot\u00f3n &#8216;Crear aplicaci\u00f3n&#8217;.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20926-60823d897ebfb.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20926-60823d897ebfb.png\" alt=\"Una gu\u00eda para la integraci\u00f3n de PayPal en su sitio web en PHP\" ><\/a><\/p>\n<p>D\u00e9 el nombre a su aplicaci\u00f3n y presione el bot\u00f3n &#8216;Crear aplicaci\u00f3n&#8217;.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20926-60823d8a1a76b.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20926-60823d8a1a76b.png\" alt=\"Una gu\u00eda para la integraci\u00f3n de PayPal en su sitio web en PHP\" ><\/a><\/p>\n<p>Despu\u00e9s de los pasos anteriores, obtendr\u00e1 las credenciales para los modos Sandbox y Live.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20926-60823d8a1a76b.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20926-60823d8a1a76b.png\" alt=\"Una gu\u00eda para la integraci\u00f3n de PayPal en su sitio web en PHP\" ><\/a><\/p>\n<p>Ahora estamos listos con nuestra identificaci\u00f3n de cliente y claves secretas de cliente. Demos un paso adelante y escribamos un fragmento de c\u00f3digo.<\/p>\n<h3>C\u00f3digo real para la integraci\u00f3n de PayPal<\/h3>\n<p>En esta etapa, estamos listos con la biblioteca y las credenciales. Ahora para integrar PayPal en el sitio web, creamos 4 archivos:<\/p>\n<p><code>checkout.php<\/code>: En este archivo, tenemos un formulario que contiene el nombre y la cantidad del art\u00edculo.<br \/>\n<code>payment.php<\/code>: Este es el archivo donde escribimos todo el c\u00f3digo relacionado con PayPal.<br \/>\n<code>success.php<\/code>: Despu\u00e9s del pago exitoso, el cliente lo redireccionar\u00e1 a este archivo.<br \/>\n<code>error.php<\/code>: Si el pago no se realiza correctamente, el cliente lo redireccionar\u00e1 a este archivo.<\/p>\n<p><strong>checkout.php<\/strong><\/p>\n<pre><code>&lt;form action=\"payment.php\" method=\"post\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;input type=\"text\" name=\"item\" placeholder=\"Enter Item Name\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;input type=\"text\" name=\"amount\" placeholder=\"Enter Amount\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;input type=\"submit\" name=\"submit\" value=\"Pay\"&gt;\n&lt;\/form&gt;<\/code><\/pre>\n<p><strong>pago.php<\/strong><\/p>\n<pre><code>&lt;?php\nrequire_once 'vendor\/autoload.php';\n\u00a0\nuse PayPalApiItem;\nuse PayPalApiItemList;\n\u00a0\n$apiContext = new PayPalRestApiContext(\n\u00a0\u00a0\u00a0\u00a0new PayPalAuthOAuthTokenCredential(\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'YOUR_CLIENT_ID',\u00a0\u00a0\u00a0\u00a0 \/\/ ClientID\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'YOUR_CLIENT_SECRET'\u00a0 \/\/ ClientSecret\n\u00a0\u00a0\u00a0\u00a0)\n);\n\u00a0\n$apiContext-&gt;setConfig(\n\u00a0\u00a0\u00a0\u00a0array(\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'log.LogEnabled' =&gt; true,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'log.FileName' =&gt; 'PayPal.log',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'log.LogLevel' =&gt; 'DEBUG',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'mode' =&gt; 'sandbox', \/\/'live' or 'sandbox'\n\u00a0\u00a0\u00a0\u00a0)\n);\n\u00a0\n$payer = new PayPalApiPayer();\n$payer-&gt;setPaymentMethod('paypal');\n\u00a0\n$item1 = new Item();\n$item1-&gt;setName($_POST['item'])\n\u00a0\u00a0\u00a0\u00a0-&gt;setCurrency('USD')\n\u00a0\u00a0\u00a0\u00a0-&gt;setQuantity(1)\n\u00a0\u00a0\u00a0\u00a0-&gt;setPrice($_POST['amount']);\n\u00a0\n$itemList = new ItemList();\n$itemList-&gt;setItems(array($item1));\n\u00a0\n$amount = new PayPalApiAmount();\n$amount-&gt;setTotal($_POST['amount']);\n$amount-&gt;setCurrency('USD');\n\u00a0\n$transaction = new PayPalApiTransaction();\n$transaction-&gt;setDescription(\"Payment For Service\")\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-&gt;setItemList($itemList)\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-&gt;setAmount($amount);\n\u00a0\n$redirectUrls = new PayPalApiRedirectUrls();\n$redirectUrls-&gt;setReturnUrl(\"YOUR_HTTP_PATH\/success.php\")\n\u00a0\u00a0\u00a0\u00a0-&gt;setCancelUrl(\"YOUR_HTTP_PATH\/error.php\");\n\u00a0\n$payment = new PayPalApiPayment();\n$payment-&gt;setIntent('sale')\n\u00a0\u00a0\u00a0\u00a0-&gt;setPayer($payer)\n\u00a0\u00a0\u00a0\u00a0-&gt;setTransactions(array($transaction))\n\u00a0\u00a0\u00a0\u00a0-&gt;setRedirectUrls($redirectUrls);\n\u00a0\n\/\/ 4. Make a Create Call\ntry {\n\u00a0\u00a0\u00a0\u00a0$payment-&gt;create($apiContext);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0header('Location: '. $payment-&gt;getApprovalLink());\n}\ncatch (PayPalExceptionPayPalConnectionException $ex) {\n\u00a0\u00a0\u00a0\u00a0\/\/ This will print the detailed information on the exception.\n\u00a0\u00a0\u00a0\u00a0\/\/REALLY HELPFUL FOR DEBUGGING\n\u00a0\u00a0\u00a0\u00a0echo $ex-&gt;getData();\n}\n?&gt;<\/code><\/pre>\n<p>Aseg\u00farese de reemplazar los marcadores de posici\u00f3n con los valores reales. En el c\u00f3digo anterior, establecemos el valor de &#8216;modo&#8217; en &#8216;caja de arena&#8217;. Mientras pasa a producci\u00f3n, establezca este valor como &quot;en vivo&quot; y agregue su identificaci\u00f3n de cliente en vivo y su secreto de cliente.<\/p>\n<p>Una vez que su proceso de pago se haya completado a trav\u00e9s de PayPal, sobre la base de un pago exitoso o fallido, se redirigir\u00e1 al archivo success.php o error.php.<\/p>\n<p><strong>success.php<\/strong><\/p>\n<pre><code>&lt;h2&gt;Payment Successful.&lt;\/h2&gt;<\/code><\/pre>\n<p><strong>error.php<\/strong><\/p>\n<pre><code>&lt;h2&gt;Something went wrong. Try again later.&lt;\/h2&gt;<\/code><\/pre>\n<p>Esperamos que comprenda la integraci\u00f3n de PayPal en la aplicaci\u00f3n web. Comparta sus pensamientos en la secci\u00f3n de comentarios a continuaci\u00f3n.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fuente de grabaci\u00f3n:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>En este tutorial, estudiamos sobre la integraci\u00f3n de PayPal en la aplicaci\u00f3n web. Para comenzar, instalaremos la biblioteca oficial de GitHub para PHP. A continuaci\u00f3n, mostramos<\/p>\n","protected":false},"author":1,"featured_media":21797,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[271],"tags":[849],"class_list":["post-26525","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-2","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts\/26525","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/comments?post=26525"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts\/26525\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media\/21797"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media?parent=26525"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/categories?post=26525"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/tags?post=26525"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}