{"id":26574,"date":"2021-04-25T11:37:00","date_gmt":"2021-04-25T08:37:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=26574"},"modified":"2021-10-17T05:40:18","modified_gmt":"2021-10-17T02:40:18","slug":"en-guide-for-paypal-integration-pa-din-webbplats-i-php","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/sv\/en-guide-for-paypal-integration-pa-din-webbplats-i-php\/","title":{"rendered":"En guide f\u00f6r PayPal-integration p\u00e5 din webbplats i PHP"},"content":{"rendered":"<p>PayPal \u00e4r utan tvekan en av de mest popul\u00e4ra betalningsportarna f\u00f6r webbplatser. De flesta av webbplatserna anv\u00e4nder PayPal f\u00f6r att ta emot betalningar p\u00e5 sin ans\u00f6kan. I den h\u00e4r artikeln studerar vi om PayPal-integration p\u00e5 en webbapplikation i PHP.<\/p>\n<h3>Varf\u00f6r v\u00e4lja PayPal?<\/h3>\n<p>Att skapa ett <a href=\"https:\/\/www.paypal.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">konto p\u00e5 PayPal<\/a> \u00e4r helt gratis. Du beh\u00f6ver inte betala n\u00e5got p\u00e5 f\u00f6rhand. PayPal debiterar dig per transaktionsbasis.<\/p>\n<p>N\u00e4r betalningstransaktioner utf\u00f6rs anv\u00e4nder PayPal kryptering av Secure Socket Layers (SSL). Detta skyddar din kunds personliga och konfidentiella data. P\u00e5 grund av detta k\u00e4nner dina kunder sig s\u00e4kra n\u00e4r de betalar via din webbapplikation.<\/p>\n<p>PayPal till\u00e5ter ocks\u00e5 betalning via PayPal-saldo, kredit- eller bankkort. Det l\u00e4gger till ett antal alternativ f\u00f6r en kund att betala f\u00f6r din tj\u00e4nst.<\/p>\n<p>F\u00f6r att acceptera betalning med kreditkort kan du ocks\u00e5 anv\u00e4nda tj\u00e4nsten <a href=\"http:\/\/reseller.authorize.net\/application\/103001\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Authorize.net<\/a>. Om du vill l\u00e4ra dig mer om Authorize.net f\u00f6lj v\u00e5r handledning <a href=\"https:\/\/themewp.inform.click\/sv\/acceptera-kreditkortsbetalning-med-authorize-net-payment-gateway-i-php\/\" title=\"Acceptera kreditkortsbetalning med Authorize.net Payment Gateway i PHP\">Acceptera kreditkortsbetalning med Authorize.net Payment Gateway i PHP<\/a>.<\/p>\n<h3>PayPal-integration<\/h3>\n<p>N\u00e4r vi pratar om PHP-driven webbplats kommer vi att anv\u00e4nda det <a href=\"https:\/\/github.com\/paypal\/PayPal-PHP-SDK\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">officiella GiHub-biblioteket med PayPal<\/a>. Detta bibliotek \u00e4r f\u00f6r PHP-applikationer.<\/p>\n<p>Vi rekommenderar att du anv\u00e4nder <a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Composer<\/a> f\u00f6r installation av biblioteket.<\/p>\n<p>S\u00e5, f\u00f6r att integrera PayPal p\u00e5 webbplatsen k\u00f6r du f\u00f6rst kommandot nedan i projektets rotkatalog.<\/p>\n<pre><code>composer require \"paypal\/rest-api-sdk-php:*\"<\/code><\/pre>\n<h3>F\u00e5 klient-id och klienthemlighet<\/h3>\n<p>N\u00e4r kunden betalar via PayPal ska beloppet s\u00e4ttas in p\u00e5 ditt PayPal-konto. F\u00f6r att g\u00f6ra det m\u00e5ste vi f\u00e5 ditt klient-id och klienthemlighet. Du kan skapa dina referenser <a href=\"https:\/\/developer.paypal.com\/developer\/applications\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">h\u00e4rifr\u00e5n<\/a>.<\/p>\n<p>P\u00e5 den h\u00e4r sidan My Apps &#038; Credentials, rulla ner till avsnittet &quot;Rest API apps&quot; och klicka p\u00e5 &quot;Create App&quot; -knappen.<\/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=\"En guide f\u00f6r PayPal-integration p\u00e5 din webbplats i PHP\" ><\/a><\/p>\n<p>Ge namnet till din app och tryck p\u00e5 knappen &quot;Skapa 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=\"En guide f\u00f6r PayPal-integration p\u00e5 din webbplats i PHP\" ><\/a><\/p>\n<p>Efter ovanst\u00e5ende steg f\u00e5r du referenser f\u00f6r b\u00e5de Sandbox och Live-l\u00e4ge.<\/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=\"En guide f\u00f6r PayPal-integration p\u00e5 din webbplats i PHP\" ><\/a><\/p>\n<p>Nu \u00e4r vi redo med v\u00e5rt klient-id och klienthemliga nycklar. L\u00e5t oss ta ett steg f\u00f6re och skriva lite kod.<\/p>\n<h3>Faktisk kod f\u00f6r PayPal-integration<\/h3>\n<p>I det h\u00e4r skedet \u00e4r vi redo med biblioteket och referenser. Nu f\u00f6r att integrera PayPal i webbplatsen skapar vi fyra filer:<\/p>\n<p><code>checkout.php<\/code>: I den h\u00e4r filen har vi ett formul\u00e4r som inneh\u00e5ller artikelnamn och belopp.<br \/>\n<code>payment.php<\/code>: Det h\u00e4r \u00e4r filen d\u00e4r vi skriver all PayPal-relaterad kod.<br \/>\n<code>success.php<\/code>: Efter lyckad betalning omdirigerar kunden till den h\u00e4r filen.<br \/>\n<code>error.php<\/code>: Om betalningen inte lyckas omdirigeras kunden till den h\u00e4r filen.<\/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>payment.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>Se till att ers\u00e4tta platsh\u00e5llare med de faktiska v\u00e4rdena. I koden ovan st\u00e4ller vi in \u200b\u200b&#8217;mode&#8217; v\u00e4rde till &#8217;sandbox&#8217;. N\u00e4r du g\u00e5r \u00f6ver till produktion, g\u00f6r detta v\u00e4rde som &quot;live&quot; och l\u00e4gg till ditt live-klient-id och klienthemlighet.<\/p>\n<p>N\u00e4r din betalningsprocess har slutf\u00f6rts via PayPal, p\u00e5 grundval av framg\u00e5ng eller misslyckad betalning, omdirigeras den till antingen success.php eller error.php-filen.<\/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>Vi hoppas att du f\u00f6rst\u00e5r PayPal-integrering i webbapplikationen. Dela dina tankar i kommentarsektionen nedan.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Inspelningsk\u00e4lla:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I denna handledning studerar vi PayPal-integration i webbapplikationen. F\u00f6r att komma ig\u00e5ng installerar vi det officiella GitHub-biblioteket f\u00f6r PHP. D\u00e4refter visar vi<\/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":[279],"tags":[850],"class_list":["post-26574","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-10","tag-affiai-sv"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/posts\/26574","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/comments?post=26574"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/posts\/26574\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/media\/21797"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/media?parent=26574"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/categories?post=26574"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/tags?post=26574"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}