{"id":23190,"date":"2021-04-25T11:19:00","date_gmt":"2021-04-25T08:19:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=23190"},"modified":"2021-10-17T21:43:18","modified_gmt":"2021-10-17T18:43:18","slug":"opas-paypalin-integrointiin-verkkosivustoosi-php-ssa","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/fi\/opas-paypalin-integrointiin-verkkosivustoosi-php-ssa\/","title":{"rendered":"Opas PayPalin integrointiin verkkosivustoosi PHP: ss\u00e4"},"content":{"rendered":"<p>PayPal on ep\u00e4ilem\u00e4tt\u00e4 yksi suosituimmista verkkosivustojen maksuyhdysk\u00e4yt\u00e4vist\u00e4. Suurin osa verkkosivustoista k\u00e4ytt\u00e4\u00e4 PayPalia maksujen vastaanottamiseen sovelluksestaan. T\u00e4ss\u00e4 artikkelissa tutkitaan PayPalin integrointia web-sovellukseen PHP: ss\u00e4.<\/p>\n<h3>Miksi valita PayPal?<\/h3>\n<p><a href=\"https:\/\/www.paypal.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Tilin<\/a> luominen <a href=\"https:\/\/www.paypal.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PayPaliin<\/a> on t\u00e4ysin ilmaista. Sinun ei tarvitse maksaa mit\u00e4\u00e4n etuk\u00e4teen. PayPal veloittaa sinua tapahtumakohtaisesti.<\/p>\n<p>Maksutapahtumien suorittamisen aikana PayPal k\u00e4ytt\u00e4\u00e4 Secure Socket Layers (SSL) -salausta. T\u00e4m\u00e4 suojaa asiakkaasi henkil\u00f6kohtaisia \u200b\u200bja luottamuksellisia tietoja. T\u00e4m\u00e4n vuoksi asiakkaasi tuntevat olonsa turvalliseksi suorittaessaan maksua verkkosovelluksen kautta.<\/p>\n<p>PayPal mahdollistaa my\u00f6s maksamisen PayPalin saldo-, luotto- tai maksukortilla. Se lis\u00e4\u00e4 asiakkaalle useita vaihtoehtoja maksaa palvelustasi.<\/p>\n<p>Voit hyv\u00e4ksy\u00e4 maksun luottokortilla my\u00f6s k\u00e4ytt\u00e4m\u00e4ll\u00e4 <a href=\"http:\/\/reseller.authorize.net\/application\/103001\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Authorize.net-<\/a> palvelua. Jos haluat oppia lis\u00e4\u00e4 Authorize.net-palvelusta, seuraa opetusohjelmaamme <a href=\"https:\/\/themewp.inform.click\/fi\/hyvaksy-luottokorttimaksu-kayttamalla-authorize-net-payment-gateway-ohjelmaa-php-ssa\/\" title=\"Hyv\u00e4ksy luottokorttimaksu Authorize.net-maksuyhdysk\u00e4yt\u00e4v\u00e4n avulla PHP: ss\u00e4\">Hyv\u00e4ksy luottokorttimaksu Authorize.net-maksuyhdysk\u00e4yt\u00e4v\u00e4n avulla PHP: ss\u00e4<\/a>.<\/p>\n<h3>PayPal-integraatio<\/h3>\n<p>Kun puhumme PHP-pohjaisesta verkkosivustosta, k\u00e4yt\u00e4mme <a href=\"https:\/\/github.com\/paypal\/PayPal-PHP-SDK\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PayPalin virallista GiHub-kirjastoa<\/a>. T\u00e4m\u00e4 kirjasto on tarkoitettu PHP-sovelluksiin.<\/p>\n<p>Suosittelemme, ett\u00e4 kirjaston asennukseen k\u00e4ytet\u00e4\u00e4n <a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Composeria<\/a>.<\/p>\n<p>Joten integroitaksesi PayPal verkkosivustoon, suorita ensin seuraava komento projektin juurihakemistossa.<\/p>\n<pre><code>composer require \"paypal\/rest-api-sdk-php:*\"<\/code><\/pre>\n<h3>Hanki asiakastunnus ja asiakassalaisuus<\/h3>\n<p>Kun asiakas maksaa PayPalin kautta, summa on talletettava PayPal-tilillesi. T\u00e4t\u00e4 varten meid\u00e4n on hankittava asiakastunnuksesi ja asiakassalaisuutesi. Voit luoda tunnuksesi <a href=\"https:\/\/developer.paypal.com\/developer\/applications\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">t\u00e4\u00e4lt\u00e4<\/a>.<\/p>\n<p>Selaa t\u00e4ll\u00e4 Omat sovellukset ja kirjautumistiedot -sivulla alasp\u00e4in kohtaan &quot;Rest API -sovellukset&#8221; ja napsauta Luo sovellus -painiketta.<\/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=\"Opas PayPalin integrointiin verkkosivustoosi PHP: ss\u00e4\" ><\/a><\/p>\n<p>Anna nimi sovelluksellesi ja paina Luo sovellus -painiketta.<\/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=\"Opas PayPalin integrointiin verkkosivustoosi PHP: ss\u00e4\" ><\/a><\/p>\n<p>Edell\u00e4 mainittujen vaiheiden j\u00e4lkeen saat tunnistetiedot sek\u00e4 Sandbox- ett\u00e4 Live-tilaan.<\/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=\"Opas PayPalin integrointiin verkkosivustoosi PHP: ss\u00e4\" ><\/a><\/p>\n<p>Nyt olemme valmiit asiakastunnuksellamme ja asiakkaan salaisilla avaimilla. Menn\u00e4\u00e4n askel eteenp\u00e4in ja kirjoitetaan pala koodia.<\/p>\n<h3>Todellinen koodi PayPal-integraatioon<\/h3>\n<p>T\u00e4ss\u00e4 vaiheessa olemme valmiita kirjastoon ja tunnistetietoihin. Integroimme nyt PayPalin verkkosivustoon luomalla 4 tiedostoa:<\/p>\n<p><code>checkout.php<\/code>: T\u00e4ss\u00e4 tiedostossa on lomake, joka sis\u00e4lt\u00e4\u00e4 nimikkeen ja m\u00e4\u00e4r\u00e4n.<br \/>\n<code>payment.php<\/code>: T\u00e4m\u00e4 on tiedosto, johon kirjoitamme kaikki PayPaliin liittyv\u00e4t koodit.<br \/>\n<code>success.php<\/code>: Kun maksu on suoritettu, asiakas ohjaa t\u00e4h\u00e4n tiedostoon.<br \/>\n<code>error.php<\/code>: Jos maksu ep\u00e4onnistuu, asiakas ohjaa uudelleen t\u00e4h\u00e4n tiedostoon.<\/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>Muista korvata paikkamerkit todellisilla arvoilla. Edell\u00e4 olevassa koodissa asetamme &#8217;mode&#8217; -arvoksi &#8217;sandbox&#8217;. Kun siirryt tuotantoon, tee t\u00e4st\u00e4 arvosta &#8217;live&#8217; ja lis\u00e4\u00e4 live-asiakastunnuksesi ja asiakassalaisuutesi.<\/p>\n<p>Kun maksuprosessi on suoritettu PayPalin kautta, se ohjaa onnistumisen tai ep\u00e4onnistumisen perusteella joko success.php- tai error.php-tiedostoon.<\/p>\n<p><strong>menestys.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>Toivomme ymm\u00e4rt\u00e4v\u00e4nne PayPalin integroinnin verkkosovellukseen. Jaa ajatuksesi alla olevassa kommenttiosassa.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>T\u00e4ss\u00e4 opetusohjelmassa tutkitaan PayPal-integraatiota verkkosovelluksessa. Aloittamiseksi asennamme virallisen GitHub-kirjaston PHP: lle. Seuraavaksi n\u00e4yt\u00e4mme<\/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":[275],"tags":[843],"class_list":["post-23190","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-6","tag-affiai-fi"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts\/23190","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/comments?post=23190"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts\/23190\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/media\/21797"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/media?parent=23190"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/categories?post=23190"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/tags?post=23190"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}