{"id":29798,"date":"2021-06-21T16:11:00","date_gmt":"2021-06-21T13:11:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=29798"},"modified":"2021-10-17T04:12:57","modified_gmt":"2021-10-17T01:12:57","slug":"acceptera-kreditkortsbetalningar-med-paypal-payments-pro-i-php","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/sv\/acceptera-kreditkortsbetalningar-med-paypal-payments-pro-i-php\/","title":{"rendered":"Acceptera kreditkortsbetalningar med PayPal Payments Pro i PHP"},"content":{"rendered":"<p>Vill du integrera en betalningsgateway som accepterar kreditkortsbetalningar? Kreditkortsbetalning \u00e4r ett av de b\u00e4sta alternativen f\u00f6r att acceptera onlinebetalning. Kunderna f\u00f6redrar att betala online med sina kreditkort. Det kan h\u00e4nda att du tappar kunder bara f\u00f6r att din webbplats inte accepterar kreditkortsbetalningar. Som \u00e4gare av webbutiken b\u00f6r du l\u00e4gga till ett kreditkortsalternativ f\u00f6r att acceptera betalning p\u00e5 din webbplats.<\/p>\n<p>Det finns m\u00e5nga betalningsportaler som ger st\u00f6d f\u00f6r ett kreditkort. Till exempel till\u00e5ter Authorize.Net och Stripe att acceptera kortbetalningar online.<\/p>\n<ul>\n<li><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><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/sv\/en-guide-for-randintegrering-pa-webbplats-med-php\/\" title=\"En guide f\u00f6r stripeintegration p\u00e5 webbplatsen med PHP\" >En guide f\u00f6r stripeintegration p\u00e5 webbplatsen med PHP<\/a><\/li>\n<\/ul>\n<p>L\u00e4sarna v\u00e4ljer n\u00e5got av ovanst\u00e5ende alternativ, men om de vill g\u00e5 till PayPal, forts\u00e4tt l\u00e4sa. I den h\u00e4r artikeln visar jag dig hur du accepterar kreditkortsbetalningar med PayPal Payments Pro.<\/p>\n<p>PayPal Payments Pro accepterar betalningar med en helt anpassningsbar l\u00f6sning. Det betyder att du kan skapa ditt eget betalningsformul\u00e4r och debitera din kund. Det omdirigerar dig inte till PayPal-webbplatsen f\u00f6r att slutf\u00f6ra transaktionen.<\/p>\n<p>Vi ska ocks\u00e5 skapa v\u00e5rt eget formul\u00e4r d\u00e4r en kund anger sina kortuppgifter och kan betala utan att l\u00e4mna webbplatsen. Anv\u00e4ndaren kan designa sin egen kassasida och l\u00e5ter anv\u00e4ndaren ange kortuppgifterna. S\u00e5 utan ytterligare f\u00f6rdr\u00f6jning, l\u00e5t oss dyka in.<\/p>\n<h3>Komma ig\u00e5ng<\/h3>\n<p>Innan du accepterar realtidsbetalningar rekommenderas det alltid att testa det f\u00f6rst i sandbox-l\u00e4get. Om allt fungerar som f\u00f6rv\u00e4ntat p\u00e5 sandl\u00e5dan b\u00f6r vi g\u00f6ra det live f\u00f6r att undvika problem med kundbetalningar. F\u00f6r att testa betalningar m\u00e5ste du ha ett PayPal-sandbox-konto. Skapa ditt konto p\u00e5 <a href=\"https:\/\/developer.paypal.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PayPal Developer<\/a>. Efter att du har skapat ett konto, g\u00e5 till <strong>SANDBOX-&gt; Konton<\/strong> fr\u00e5n menyn till v\u00e4nster och skapa ett f\u00f6retagskonto.<\/p>\n<p>N\u00e4r denna artikel skrivs \u00e4r PayPal Payments Pro tillg\u00e4ngligt i USA, Storbritannien och Kanada. Det betyder att n\u00e4r du skapar ett konto m\u00e5ste du v\u00e4lja n\u00e5got av dessa l\u00e4nder.<\/p>\n<p>N\u00e4r du har ett f\u00f6retagskonto m\u00e5ste du uppgradera din kontotyp till &#8217;Business-Pro&#8217;. Du m\u00e5ste ha din kontotyp som &quot;Business-Pro&quot; f\u00f6r att acceptera kreditkortsbetalningar. F\u00f6r att uppgradera den, klicka p\u00e5 l\u00e4nken &#8217;Uppgradera till Pro&#8217; s\u00e5 konverterar PayPal din kontotyp till &#8217;Business-Pro&#8217;.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20129-6081c034cf341.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-20129-6081c034cf341.png\" alt=\"Acceptera kreditkortsbetalningar med PayPal Payments Pro i PHP\" ><\/a><\/p>\n<p>Klicka sedan p\u00e5 fliken &#8217;API-referenser&#8217; och f\u00e5 tag p\u00e5 dina referenser. Vi beh\u00f6ver dessa referenser i n\u00e4sta del av denna handledning.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20129-6081c0355f78e.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-20129-6081c0355f78e.png\" alt=\"Acceptera kreditkortsbetalningar med PayPal Payments Pro i PHP\" ><\/a><\/p>\n<h3>Anpassningsbart betalningsformul\u00e4r<\/h3>\n<p>Som sagt, med PayPal Payments Pro kan du designa ditt eget betalningsformul\u00e4r. L\u00e5t oss skapa ett trevligt utcheckningsformul\u00e4r d\u00e4r kunden anger sina betalningsuppgifter. Jag kommer att anv\u00e4nda en snygg designformul\u00e4r p\u00e5 <a href=\"https:\/\/codepen.io\/hswd\/pen\/JYvgBW\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">codepen<\/a> f\u00f6r den h\u00e4r handledningen.<\/p>\n<p>Den slutliga mappstrukturen ska vara som f\u00f6ljer:<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20129-6081c0355f78e.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-20129-6081c0355f78e.png\" alt=\"Acceptera kreditkortsbetalningar med PayPal Payments Pro i PHP\" ><\/a><\/p>\n<p>T\u00e4nk inte p\u00e5 <code>vendor<\/code>, <code>charge.php<\/code>, <code>composer.json<\/code>, <code>composer.lock<\/code>f\u00f6r nu. Vi kommer att skapa det i den senare delen.<\/p>\n<p>Skapa en <code>css\/card.css<\/code>fil och l\u00e4gg till koden nedan i den enligt <a href=\"https:\/\/codepen.io\/hswd\/pen\/JYvgBW\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">kod<\/a>.<\/p>\n<pre><code>@import url(https:\/\/fonts.googleapis.com\/css?family=Roboto:400,900,700,500);\n\u00a0\nbody {\n\u00a0\u00a0padding: 60px 0;\n\u00a0\u00a0background-color: rgba(178,209,229,0.7);\n\u00a0\u00a0margin: 0 auto;\n\u00a0\u00a0width: 600px;\n}\n.body-text {\n\u00a0\u00a0padding: 0 20px 30px 20px;\n\u00a0\u00a0font-family: \"Roboto\";\n\u00a0\u00a0font-size: 1em;\n\u00a0\u00a0color: #333;\n\u00a0\u00a0text-align: center;\n\u00a0\u00a0line-height: 1.2em;\n}\n.form-container {\n\u00a0\u00a0flex-direction: column;\n\u00a0\u00a0justify-content: center;\n\u00a0\u00a0align-items: center;\n}\n.card-wrapper {\n\u00a0\u00a0background-color: #6FB7E9;\n\u00a0\u00a0width: 100%;\n\u00a0\u00a0display: flex;\n\u00a0\n}\n.personal-information {\n\u00a0\u00a0background-color: #3C8DC5;\n\u00a0\u00a0color: #fff;\n\u00a0\u00a0padding: 1px 0;\n\u00a0\u00a0text-align: center;\n}\nh1 {\n\u00a0\u00a0font-size: 1.3em;\n\u00a0\u00a0font-family: \"Roboto\"\n}\ninput {\n\u00a0\u00a0margin: 1px 0;\n\u00a0\u00a0padding-left: 3%;\n\u00a0\u00a0font-size: 14px;\n}\ninput[type=\"text\"]{\n\u00a0\u00a0display: block;\n\u00a0\u00a0height: 50px;\n\u00a0\u00a0width: 97%;\n\u00a0\u00a0border: none;\n}\ninput[type=\"email\"]{\n\u00a0\u00a0display: block;\n\u00a0\u00a0height: 50px;\n\u00a0\u00a0width: 97%;\n\u00a0\u00a0border: none;\n}\ninput[type=\"submit\"]{\n\u00a0\u00a0display: block;\n\u00a0\u00a0height: 60px;\n\u00a0\u00a0width: 100%;\n\u00a0\u00a0border: none;\n\u00a0\u00a0background-color: #3C8DC5;\n\u00a0\u00a0color: #fff;\n\u00a0\u00a0margin-top: 2px;\n\u00a0\u00a0curson: pointer;\n\u00a0\u00a0font-size: 0.9em;\n\u00a0\u00a0text-transform: uppercase;\n\u00a0\u00a0font-weight: bold;\n\u00a0\u00a0cursor: pointer;\n}\ninput[type=\"submit\"]:hover{\n\u00a0\u00a0background-color: #6FB7E9;\n\u00a0\u00a0transition: 0.3s ease;\n}\n#column-left {\n\u00a0\u00a0width: 46.5%;\n\u00a0\u00a0float: left;\n\u00a0\u00a0margin-bottom: 2px;\n}\n#column-right {\n\u00a0\u00a0width: 46.5%;\n\u00a0\u00a0float: right;\n}\n\u00a0\n@media only screen and (max-width: 480px){\n\u00a0\u00a0body {\n\u00a0\u00a0\u00a0\u00a0width: 100%;\n\u00a0\u00a0\u00a0\u00a0margin: 0 auto;\n\u00a0\u00a0}\n\u00a0\u00a0.form-container {\n\u00a0\u00a0\u00a0\u00a0margin: 0 2%;\n\u00a0\u00a0}\n\u00a0\u00a0input {\n\u00a0\u00a0\u00a0\u00a0font-size: 1em;\n\u00a0\u00a0}\n\u00a0\u00a0#input-button {\n\u00a0\u00a0\u00a0\u00a0width: 100%;\n\u00a0\u00a0}\n\u00a0\u00a0#input-field {\n\u00a0\u00a0\u00a0\u00a0width: 96.5%;\n\u00a0\u00a0}\n\u00a0\u00a0h1 {\n\u00a0\u00a0\u00a0\u00a0font-size: 1.2em;\n\u00a0\u00a0}\n\u00a0\u00a0input {\n\u00a0\u00a0\u00a0\u00a0margin: 2px 0;\n\u00a0\u00a0}\n\u00a0\u00a0input[type=\"submit\"]{\n\u00a0\u00a0\u00a0\u00a0height: 50px;\n\u00a0\u00a0}\n\u00a0\u00a0#column-left {\n\u00a0\u00a0\u00a0\u00a0width: 96.5%;\n\u00a0\u00a0\u00a0\u00a0display: block;\n\u00a0\u00a0\u00a0\u00a0float: none;\n\u00a0\u00a0}\n\u00a0\u00a0#column-right {\n\u00a0\u00a0\u00a0\u00a0width: 96.5%;\n\u00a0\u00a0\u00a0\u00a0display: block;\n\u00a0\u00a0\u00a0\u00a0float: none;\n\u00a0\u00a0}\n}<\/code><\/pre>\n<p>P\u00e5 samma s\u00e4tt kommer v\u00e5r <code>js\/card.js<\/code>fil att ha f\u00f6ljande kod.<\/p>\n<pre><code>\/* Card.js plugin by Jesse Pollak. https:\/\/github.com\/jessepollak\/card *\/\n\u00a0\n$('form').card({\n\u00a0\u00a0\u00a0\u00a0container: '.card-wrapper',\n\u00a0\u00a0\u00a0\u00a0width: 280,\n\u00a0\n\u00a0\u00a0\u00a0\u00a0formSelectors: {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0nameInput: 'input[name=\"first-name\"], input[name=\"last-name\"]'\n\u00a0\u00a0\u00a0\u00a0}\n});<\/code><\/pre>\n<p>F\u00e5 en kopia av det <code>jquery.card.js<\/code>h\u00e4r <a href=\"https:\/\/github.com\/jessepollak\/card\/blob\/master\/dist\/jquery.card.js\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">GitHub-f\u00f6rvaret<\/a>. Spara den h\u00e4r filen i din js-katalog.<\/p>\n<p>Skapa nu en <code>index.html<\/code>fil. I den h\u00e4r filen kommer vi att l\u00e4gga till HTML-markering som visar v\u00e5rt utcheckningsformul\u00e4r.<\/p>\n<pre><code>&lt;!DOCTYPE html&gt;\n&lt;html lang=\"en\"&gt;\n&lt;head&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;meta charset=\"UTF-8\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;meta http-equiv=\"X-UA-Compatible\" content=\"ie=edge\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;title&gt;Online Payments&lt;\/title&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;link rel=\"stylesheet\" href=\"css\/card.css\"&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;form method=\"POST\" action=\"charge.php\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;div class=\"form-container\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;div class=\"personal-information\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;h1&gt;Payment Information&lt;\/h1&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/div&gt; &lt;!-- end of personal-information --&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;input id=\"column-left\" type=\"text\" name=\"first-name\" placeholder=\"First Name\" required=\"required\" \/&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;input id=\"column-right\" type=\"text\" name=\"last-name\" placeholder=\"Surname\" required=\"required\" \/&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;input id=\"input-field\" type=\"text\" name=\"number\" placeholder=\"Card Number\" required=\"required\" \/&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;input id=\"column-left\" type=\"text\" name=\"expiry\" placeholder=\"MM \/ YY\" required=\"required\" \/&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;input id=\"column-right\" type=\"text\" name=\"cvc\" placeholder=\"CCV\" required=\"required\" \/&gt;\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;div class=\"card-wrapper\"&gt;&lt;\/div&gt;\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;input id=\"input-field\" type=\"text\" name=\"streetaddress\" required=\"required\" autocomplete=\"on\" maxlength=\"45\" placeholder=\"Streed Address\"\/&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;input id=\"column-left\" type=\"text\" name=\"city\" required=\"required\" autocomplete=\"on\" maxlength=\"20\" placeholder=\"City\"\/&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;input id=\"column-right\" type=\"text\" name=\"zipcode\" required=\"required\" autocomplete=\"on\" pattern=\"[0-9]*\" maxlength=\"5\" placeholder=\"ZIP code\"\/&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;input id=\"input-field\" type=\"email\" name=\"email\" required=\"required\" autocomplete=\"on\" maxlength=\"40\" placeholder=\"Email\"\/&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;input id=\"input-field\" type=\"text\" name=\"amount\" required=\"required\" autocomplete=\"on\" maxlength=\"40\" placeholder=\"Amount\"\/&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;input id=\"input-button\" name=\"submit\" type=\"submit\" value=\"Submit\"\/&gt;\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/div&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;\/form&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/jquery\/3.6.0\/jquery.min.js\"&gt;&lt;\/script&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;script src=\"js\/jquery.card.js\"&gt;&lt;\/script&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;script src=\"js\/card.js\"&gt;&lt;\/script&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;<\/code><\/pre>\n<p>G\u00e5 \u00f6ver till webbl\u00e4saren och k\u00f6r <code>index.html<\/code>filen. Du b\u00f6r nu se ett snyggt utcheckningsformul\u00e4r.<\/p>\n<h3>Acceptera kreditkortsbetalningar med PayPal Payments Pro<\/h3>\n<p>Du \u00e4r nu redo med dina PayPal API-referenser och HTML-formul\u00e4r. Det \u00e4r dags att g\u00f6ra saker dynamiska. Att integrera en betalningsgateway \u00e4r inte en l\u00e4tt uppgift helt och h\u00e5llet. Du m\u00e5ste unders\u00f6ka den och l\u00e4sa hela dokumentationen fr\u00e5n leverant\u00f6ren. Ibland blir det s\u00e5 f\u00f6rvirrande och trots att du har lagt ner l\u00e5nga timmar misslyckades du med att uppn\u00e5 ditt m\u00e5l. Jag hade m\u00f6tt det m\u00e5nga g\u00e5nger. Och n\u00e4r det g\u00e4ller PayPal blir situationen mer komplex p\u00e5 grund av omfattande PayPal-dokumentation.<\/p>\n<p>S\u00e5 \u00e4r inte fallet l\u00e4ngre. <a href=\"https:\/\/omnipay.thephpleague.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Omnipay<\/a> g\u00f6r v\u00e5r utvecklares liv l\u00e4tt n\u00e4r det g\u00e4ller integration av betalningsgateway. Med hj\u00e4lp av detta bibliotek beh\u00f6ver du inte l\u00e4sa dokumentationen f\u00f6r betalningsgateway. F\u00e5 bara dina API-referenser, f\u00f6lj instruktionerna f\u00f6r Omnipay s\u00e5 \u00e4r du klar. Kolla in deras <a href=\"https:\/\/github.com\/thephpleague\/omnipay\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">GitHub-sida<\/a> f\u00f6r mer information.<\/p>\n<p>K\u00f6r kommandot nedan f\u00f6r att installera Omnipay och det st\u00f6dda PayPal-biblioteket.<\/p>\n<pre><code>composer require league\/omnipay:^3 omnipay\/paypal<\/code><\/pre>\n<p>Efter att ha installerat ovanf\u00f6r bibliotek kommer nedanst\u00e5ende kod att finnas i din <code>charge.php<\/code>fil.<\/p>\n<pre><code>&lt;?php\nrequire_once \"vendor\/autoload.php\";\n\u00a0\u00a0\nuse OmnipayOmnipay;\n\u00a0\u00a0\n$gateway = Omnipay::create('PayPal_Pro');\n$gateway-&gt;setUsername(PAYPAL_API_USERNAME);\n$gateway-&gt;setPassword(PAYPAL_API_PASSWORD);\n$gateway-&gt;setSignature(PAYPAL_API_SIGNATURE);\n$gateway-&gt;setTestMode(true); \/\/ here 'true' is for sandbox. Pass 'false' when go live\n\u00a0\u00a0\nif (isset($_POST['submit'])) {\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0$arr_expiry = explode(\"\/\", $_POST['expiry']);\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0$formData = array(\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'firstName' =&gt; $_POST['first-name'],\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'lastName' =&gt; $_POST['last-name'],\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'number' =&gt; $_POST['number'],\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'expiryMonth' =&gt; trim($arr_expiry[0]),\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'expiryYear' =&gt; trim($arr_expiry[1]),\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'cvv' =&gt; $_POST['cvc']\n\u00a0\u00a0\u00a0\u00a0);\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0try {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ Send purchase request\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$response = $gateway-&gt;purchase([\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'amount' =&gt; $_POST['amount'],\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'currency' =&gt; 'USD',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'card' =&gt; $formData\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0])-&gt;send();\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ Process response\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if ($response-&gt;isSuccessful()) {\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ Payment was successful\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo \"Payment is successful. Your Transaction ID is: \". $response-&gt;getTransactionReference();\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0} else {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ Payment failed\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo \"Payment failed. \". $response-&gt;getMessage();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0} catch(Exception $e) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo $e-&gt;getMessage();\n\u00a0\u00a0\u00a0\u00a0}\n}<\/code><\/pre>\n<p>Se till att ers\u00e4tta platsh\u00e5llarens PAYPAL_API_USERNAME, PAYPAL_API_PASSWORD, PAYPAL_API_SIGNATURE med de faktiska v\u00e4rdena. G\u00e5 nu till din webbl\u00e4sare och f\u00f6rs\u00f6k g\u00f6ra en betalning med dummy kreditkortsuppgifter. Du b\u00f6r f\u00e5 ett framg\u00e5ngsmeddelande tillsammans med ditt transaktions-id. Anv\u00e4ndaren kan f\u00e5 <a href=\"https:\/\/developer.paypal.com\/docs\/payflow\/payflow-pro\/payflow-pro-testing\/#credit-card-numbers-for-testing\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">testkreditkort som<\/a> tillhandah\u00e5lls av PayPal.<\/p>\n<h3>Acceptera direktbetalning med PayPal Pro Payment Gateway<\/h3>\n<p>N\u00e4r du \u00e4r klar med testet av sandl\u00e5dan, skicka liveuppgifterna f\u00f6r platsh\u00e5llarna som anv\u00e4nds i en kod. Du m\u00e5ste ocks\u00e5 skicka det &quot;falska&quot; v\u00e4rdet till <code>setTestMode()<\/code>metoden.<\/p>\n<p>Det handlar om att acceptera kreditkortsbetalningar med PayPal Payments Pro i PHP. Jag hoppas att det hj\u00e4lper dig att integrera en betalningsl\u00f6sning f\u00f6r din webbplats. Prova den h\u00e4r guiden och l\u00e5t mig veta dina tankar och f\u00f6rslag 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 den h\u00e4r artikeln visar jag dig hur du accepterar kreditkortsbetalningar p\u00e5 din webbplats med PHP. Jag kommer att anv\u00e4nda Omnipay-biblioteket och integrera Paypal<\/p>\n","protected":false},"author":1,"featured_media":21609,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[279],"tags":[850],"class_list":["post-29798","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\/29798","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=29798"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/posts\/29798\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/media\/21609"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/media?parent=29798"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/categories?post=29798"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/tags?post=29798"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}