{"id":26481,"date":"2021-04-25T11:18:00","date_gmt":"2021-04-25T08:18:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=26481"},"modified":"2021-10-18T04:21:50","modified_gmt":"2021-10-18T01:21:50","slug":"um-guia-para-integracao-do-paypal-em-seu-site-em-php","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/pt-pt\/um-guia-para-integracao-do-paypal-em-seu-site-em-php\/","title":{"rendered":"Um guia para integra\u00e7\u00e3o do PayPal em seu site em PHP"},"content":{"rendered":"<p>O PayPal \u00e9 sem d\u00favida um dos gateways de pagamento mais populares para sites. A maioria dos sites est\u00e1 usando o PayPal para receber pagamentos em seu aplicativo. Neste artigo, estudamos a integra\u00e7\u00e3o do PayPal em um aplicativo da web em PHP.<\/p>\n<h3>Por que escolher o PayPal?<\/h3>\n<p>Criar uma <a href=\"https:\/\/www.paypal.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">conta no PayPal<\/a> \u00e9 totalmente gratuito. Voc\u00ea n\u00e3o precisa pagar nada adiantado. O PayPal cobrar\u00e1 de voc\u00ea por transa\u00e7\u00e3o.<\/p>\n<p>Ao realizar transa\u00e7\u00f5es de pagamento, o PayPal usa criptografia Secure Socket Layers (SSL). Isso protege os dados pessoais e confidenciais do seu cliente. Por isso, seus clientes se sentem seguros ao fazer o pagamento por meio de seu aplicativo da web.<\/p>\n<p>O PayPal tamb\u00e9m permite o pagamento com saldo do PayPal, cart\u00f5es de cr\u00e9dito ou d\u00e9bito. Ele adiciona uma s\u00e9rie de op\u00e7\u00f5es para o cliente pagar por seu servi\u00e7o.<\/p>\n<p>Para aceitar pagamentos com cart\u00f5es de cr\u00e9dito, voc\u00ea tamb\u00e9m pode usar o servi\u00e7o <a href=\"http:\/\/reseller.authorize.net\/application\/103001\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Authorize.net<\/a>. Se voc\u00ea quiser saber mais sobre Authorize.net, siga nosso tutorial <a href=\"https:\/\/themewp.inform.click\/pt-pt\/aceite-pagamentos-com-cartao-de-credito-usando-authorize-net-payment-gateway-em-php\/\" title=\"Aceitar pagamento com cart\u00e3o de cr\u00e9dito usando o gateway de pagamento Authorize.net em PHP\">Aceitar pagamento com cart\u00e3o de cr\u00e9dito usando o gateway de pagamento Authorize.net em PHP<\/a>.<\/p>\n<h3>Integra\u00e7\u00e3o com PayPal<\/h3>\n<p>Como estamos falando sobre um site <a href=\"https:\/\/github.com\/paypal\/PayPal-PHP-SDK\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">baseado<\/a> em PHP, <a href=\"https:\/\/github.com\/paypal\/PayPal-PHP-SDK\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">usaremos a biblioteca oficial GiHub do PayPal<\/a>. Esta biblioteca \u00e9 para aplicativos PHP.<\/p>\n<p>Recomendamos usar o <a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Composer<\/a> para instala\u00e7\u00e3o da biblioteca.<\/p>\n<p>Portanto, para integrar o PayPal ao site, primeiro execute o comando abaixo no diret\u00f3rio raiz do projeto.<\/p>\n<pre><code>composer require \"paypal\/rest-api-sdk-php:*\"<\/code><\/pre>\n<h3>Obtenha o ID do cliente e o segredo do cliente<\/h3>\n<p>Quando o cliente paga pelo PayPal, o valor deve ser depositado em sua conta do PayPal. Para fazer isso, precisamos obter o seu ID de cliente e o segredo do cliente. Voc\u00ea pode criar suas credenciais <a href=\"https:\/\/developer.paypal.com\/developer\/applications\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">aqui<\/a>.<\/p>\n<p>Nesta p\u00e1gina My Apps &#038; Credentials, role para baixo at\u00e9 a se\u00e7\u00e3o &#8216;Rest API apps&#8217; e clique no bot\u00e3o &#8216;Create App&#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=\"Um guia para integra\u00e7\u00e3o do PayPal em seu site em PHP\" ><\/a><\/p>\n<p>D\u00ea o nome ao seu aplicativo e clique no bot\u00e3o &#8216;Criar aplicativo&#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=\"Um guia para integra\u00e7\u00e3o do PayPal em seu site em PHP\" ><\/a><\/p>\n<p>Ap\u00f3s as etapas acima, voc\u00ea obter\u00e1 credenciais para o modo Sandbox e 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=\"Um guia para integra\u00e7\u00e3o do PayPal em seu site em PHP\" ><\/a><\/p>\n<p>Agora estamos prontos com nosso ID de cliente e chaves secretas do cliente. Vamos dar um passo \u00e0 frente e escrever algum c\u00f3digo.<\/p>\n<h3>C\u00f3digo real para integra\u00e7\u00e3o do PayPal<\/h3>\n<p>Nesta fase, estamos prontos com a biblioteca e credenciais. Agora, para integrar o PayPal ao site, criamos 4 arquivos:<\/p>\n<p><code>checkout.php<\/code>: Neste arquivo, temos o formul\u00e1rio que cont\u00e9m o nome do item e a quantidade.<br \/>\n<code>payment.php<\/code>: Este \u00e9 o arquivo onde escrevemos todos os c\u00f3digos relacionados ao PayPal.<br \/>\n<code>success.php<\/code>: Ap\u00f3s o pagamento bem-sucedido, o cliente redirecionar\u00e1 para este arquivo.<br \/>\n<code>error.php<\/code>: Se o pagamento n\u00e3o for bem-sucedido, o cliente redirecionar\u00e1 para este arquivo.<\/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>pagamento.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>Certifique-se de substituir os marcadores pelos valores reais. No c\u00f3digo acima, definimos o valor de &#8216;modo&#8217; como &#8216;sandbox&#8217;. Ao passar para a produ\u00e7\u00e3o, defina esse valor como &#8216;ativo&#8217; e adicione seu ID de cliente ativo e o segredo do cliente.<\/p>\n<p>Assim que seu processo de pagamento for conclu\u00eddo atrav\u00e9s do PayPal, com base no sucesso ou falha no pagamento, ele ser\u00e1 redirecionado para o arquivo success.php ou 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 voc\u00ea entenda a integra\u00e7\u00e3o do PayPal no aplicativo da web. Por favor, compartilhe suas id\u00e9ias na se\u00e7\u00e3o de coment\u00e1rios abaixo.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte de grava\u00e7\u00e3o:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Neste tutorial, estudamos sobre a integra\u00e7\u00e3o do PayPal no aplicativo da web. Para come\u00e7ar, instalaremos a biblioteca oficial do GitHub para PHP. A seguir, 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":[278],"tags":[848],"class_list":["post-26481","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-9","tag-affiai-pt-pt"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts\/26481","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/comments?post=26481"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts\/26481\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/media\/21797"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/media?parent=26481"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/categories?post=26481"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/tags?post=26481"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}