{"id":23131,"date":"2021-04-25T11:31:00","date_gmt":"2021-04-25T08:31:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=23131"},"modified":"2021-10-18T03:23:21","modified_gmt":"2021-10-18T00:23:21","slug":"una-guida-per-l-integrazione-di-paypal-sul-tuo-sito-web-in-php","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/it\/una-guida-per-l-integrazione-di-paypal-sul-tuo-sito-web-in-php\/","title":{"rendered":"Una guida per l&#8217;integrazione di PayPal sul tuo sito web in PHP"},"content":{"rendered":"<p>PayPal \u00e8 senza dubbio uno dei gateway di pagamento pi\u00f9 popolari per i siti web. La maggior parte dei siti Web utilizza PayPal per ricevere pagamenti sulla propria applicazione. In questo articolo, studiamo l&#8217;integrazione di PayPal su un&#8217;applicazione web in PHP.<\/p>\n<h3>Perch\u00e9 scegliere PayPal?<\/h3>\n<p>La creazione di un <a href=\"https:\/\/www.paypal.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">account su PayPal<\/a> \u00e8 totalmente gratuita. Non devi pagare nulla in anticipo. PayPal ti addebiter\u00e0 in base alla transazione.<\/p>\n<p>Durante l&#8217;esecuzione delle transazioni di pagamento, PayPal utilizza la crittografia Secure Socket Layers (SSL). Questo protegge i dati personali e riservati dei tuoi clienti. Per questo motivo, i tuoi clienti si sentono al sicuro mentre effettuano il pagamento tramite la tua applicazione web.<\/p>\n<p>PayPal consente anche di pagare tramite saldo PayPal, carte di credito o di debito. Aggiunge una serie di opzioni per un cliente per pagare il tuo servizio.<\/p>\n<p>Per accettare pagamenti tramite carte di credito puoi anche utilizzare il servizio <a href=\"http:\/\/reseller.authorize.net\/application\/103001\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Authorize.net<\/a>. Se vuoi saperne di pi\u00f9 su Authorize.net segui il nostro tutorial <a href=\"https:\/\/themewp.inform.click\/it\/accetta-pagamenti-con-carta-di-credito-utilizzando-il-gateway-di-pagamento-authorize-net-in-php\/\" title=\"Accetta pagamenti con carta di credito utilizzando il gateway di pagamento Authorize.net in PHP\">Accetta pagamenti con carta di credito utilizzando il gateway di pagamento Authorize.net in PHP<\/a>.<\/p>\n<h3>Integrazione PayPal<\/h3>\n<p>Poich\u00e9 stiamo parlando di un sito Web basato su PHP, utilizzeremo la <a href=\"https:\/\/github.com\/paypal\/PayPal-PHP-SDK\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">libreria GiHub ufficiale di PayPal<\/a>. Questa libreria \u00e8 per le applicazioni PHP.<\/p>\n<p>Si consiglia di utilizzare <a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Composer<\/a> per l&#8217;installazione della libreria.<\/p>\n<p>Quindi, per integrare PayPal nel sito Web, eseguire prima il comando seguente nella directory principale del progetto.<\/p>\n<pre><code>composer require \"paypal\/rest-api-sdk-php:*\"<\/code><\/pre>\n<h3>Ottieni l&#8217;ID cliente e il segreto del cliente<\/h3>\n<p>Quando il cliente paga tramite PayPal, l&#8217;importo deve essere depositato sul tuo conto PayPal. Per fare ci\u00f2, dobbiamo ottenere il tuo ID cliente e il tuo segreto cliente. Puoi creare le tue credenziali da <a href=\"https:\/\/developer.paypal.com\/developer\/applications\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">qui<\/a>.<\/p>\n<p>In questa pagina Le mie app e credenziali, scorri verso il basso fino alla sezione &quot;App Rest API&quot; e fai clic sul pulsante &quot;Crea app&quot;.<\/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 guida per l&#039;integrazione di PayPal sul tuo sito web in PHP\" ><\/a><\/p>\n<p>Dai il nome alla tua app e premi il pulsante &quot;Crea app&quot;.<\/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 guida per l&#039;integrazione di PayPal sul tuo sito web in PHP\" ><\/a><\/p>\n<p>Dopo i passaggi precedenti, otterrai le credenziali sia per la modalit\u00e0 Sandbox che per la modalit\u00e0 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 guida per l&#039;integrazione di PayPal sul tuo sito web in PHP\" ><\/a><\/p>\n<p>Ora siamo pronti con il nostro ID client e le chiavi segrete del client. Facciamo un passo avanti e scriviamo un pezzo di codice.<\/p>\n<h3>Codice effettivo per l&#8217;integrazione PayPal<\/h3>\n<p>A questo punto siamo pronti con la biblioteca e le credenziali. Ora per integrare PayPal nel sito web, creiamo 4 file:<\/p>\n<p><code>checkout.php<\/code>: In questo file, abbiamo un modulo che contiene il nome dell&#8217;articolo e l&#8217;importo.<br \/>\n<code>payment.php<\/code>: Questo \u00e8 il file in cui scriviamo tutto il codice relativo a PayPal.<br \/>\n<code>success.php<\/code>: Dopo il pagamento riuscito, il cliente reindirizzer\u00e0 a questo file.<br \/>\n<code>error.php<\/code>: se il pagamento non va a buon fine, il cliente reindirizza a questo file.<\/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>Assicurati di sostituire i segnaposto con i valori effettivi. Nel codice sopra, impostiamo il valore &#8216;mode&#8217; su &#8216;sandbox&#8217;. Durante il passaggio alla produzione, imposta questo valore come &quot;live&quot; e aggiungi l&#8217;ID client live e il client secret.<\/p>\n<p>Una volta completato il processo di pagamento tramite PayPal, in base all&#8217;esito positivo o negativo del pagamento, verr\u00e0 reindirizzato al file 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>errore.php<\/strong><\/p>\n<pre><code>&lt;h2&gt;Something went wrong. Try again later.&lt;\/h2&gt;<\/code><\/pre>\n<p>Ci auguriamo che tu abbia compreso l&#8217;integrazione di PayPal nell&#8217;applicazione web. Per favore condividi i tuoi pensieri nella sezione commenti qui sotto.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte di registrazione:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In questo tutorial, studiamo l&#8217;integrazione di PayPal nell&#8217;applicazione web. Per iniziare, installeremo la libreria GitHub ufficiale per PHP. Successivamente, mostriamo<\/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":[276],"tags":[846],"class_list":["post-23131","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-7","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/23131","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/comments?post=23131"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/23131\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media\/21797"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media?parent=23131"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/categories?post=23131"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/tags?post=23131"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}