{"id":26284,"date":"2021-06-15T12:53:00","date_gmt":"2021-06-15T09:53:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=26284"},"modified":"2021-10-17T18:17:16","modified_gmt":"2021-10-17T15:17:16","slug":"noustuge-krediitkaardimaksega-kasutades-php-s-authorize-net-payment-gateway-i","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/et\/noustuge-krediitkaardimaksega-kasutades-php-s-authorize-net-payment-gateway-i\/","title":{"rendered":"N\u00f5ustuge krediitkaardimaksega, kasutades PHP-s Authorize.Net Payment Gateway&#8217;i"},"content":{"rendered":"<p>Kas soovite oma veebisaidile integreerida krediitkaardimakse v\u00f5imaluse? Kui jah, siis on Authorize.Net teie jaoks hea valik. See asutati 1996. aastal ja see on \u00fcks populaarsemaid maksev\u00e4ravaid Internetis.<\/p>\n<p>Veebipoe jaoks kasutatakse krediitkaarte laialdaselt makse aktsepteerimiseks. Veebitoodete ostmiseks eelistavad kliendid maksta krediitkaartidega. Oma kaupluses peate andma krediitkaardimakse v\u00f5imaluse. Selles artiklis n\u00e4itan teile, kuidas integreerida Authorize.Net maksel\u00fc\u00fcsi, mis v\u00f5imaldab teil krediitkaardimakseid saada.<\/p>\n<p>Alati, kui lisame maksel\u00fc\u00fcse, peame k\u00f5igepealt testima tehinguid liivakasti re\u017eiimis. Kui testmaksed t\u00f6\u00f6tavad \u00f5igesti, v\u00f5ite minna reaalajas versiooni juurde.<\/p>\n<p>Authorize.Netiga alustamiseks looge k\u00f5igepealt <a href=\"https:\/\/developer.authorize.net\/hello_world\/sandbox\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">liivakasti konto<\/a>. Konto loomisel kopeerige sisselogimise ID ja tehinguv\u00f5ti. Need API-v\u00f5tmed saate <strong>men\u00fc\u00fcst Konto-&gt; API mandaadid ja v\u00f5tmed<\/strong>. Palun vaadake allolevat ekraanipilti.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20201-6081cc62a61f7.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-20201-6081cc62a61f7.png\" alt=\"N\u00f5ustuge krediitkaardimaksega, kasutades PHP-s Authorize.Net Payment Gateway&#039;i\" ><\/a><\/p>\n<p>J\u00e4rgmisel lehel saate oma API sisselogimise ID. Looge jaotisest \u201eUue v\u00f5tme (te) loomine&quot; tehinguv\u00f5ti, nagu on n\u00e4idatud alloleval ekraanipildil.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20201-6081cc632ae89.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-20201-6081cc632ae89.png\" alt=\"N\u00f5ustuge krediitkaardimaksega, kasutades PHP-s Authorize.Net Payment Gateway&#039;i\" ><\/a><\/p>\n<h3>Alustamine<\/h3>\n<p>Authorize.Neti integreerimiseks kasutame <a href=\"https:\/\/github.com\/thephpleague\/omnipay\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Omnipay<\/a> teeki, mis pakub puhast ja lihtsat viisi maksete integreerimiseks. Installige Omnipay teek oma projekti k\u00e4suga:<\/p>\n<pre><code>composer require league\/omnipay:^3<\/code><\/pre>\n<p>See installib Omnipay teegi. Lisaks peame Authorize.Neti jaoks installima Omnipay paketi. See pakett v\u00f5imaldab meil saada makseid Authorize.Neti maksel\u00fc\u00fcsi kaudu. Lisateavet selle paketi kohta leiate nende <a href=\"https:\/\/github.com\/academe\/omnipay-authorizenetapi\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">dokumentatsioonist<\/a>. Selle paketi installimiseks k\u00e4ivitage allolev k\u00e4sk:<\/p>\n<pre><code>composer require \"academe\/omnipay-authorizenetapi: ~3.0\"<\/code><\/pre>\n<p>Oleme toetatud raamatukogudega valmis. N\u00fc\u00fcd loome summa ja kaardi \u00fcksikasjade sisestamiseks lihtsa vormi. Ma loon <code>index.php<\/code>faili ja lisan sinna alloleva HTML-i.<\/p>\n<pre><code>&lt;form action=\"charge.php\" method=\"post\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;input type=\"text\" name=\"amount\" placeholder=\"Enter Amount\" \/&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;input type=\"text\" name=\"cc_number\" placeholder=\"Card Number\" \/&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;input type=\"text\" name=\"expiry_month\" placeholder=\"Month\" \/&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;input type=\"text\" name=\"expiry_year\" placeholder=\"Year\" \/&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;input type=\"text\" name=\"cvv\" placeholder=\"CVV\" \/&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;input type=\"submit\" name=\"submit\" value=\"Submit\" \/&gt;\n&lt;\/form&gt;<\/code><\/pre>\n<p>Veebimakse aktsepteerimisel peame salvestama tehingu \u00fcksikasjad andmebaasi. Tehinguinformatsiooni salvestamiseks looge andmebaasis allpool oleva p\u00e4ringu abil tabel &#8216;maksed&#8217;.<\/p>\n<pre><code>CREATE TABLE `payments` (\u00a0`id` int(11) NOT NULL AUTO_INCREMENT,\n\u00a0`transaction_id` varchar(255) NOT NULL,\n\u00a0`amount` float(10,2) NOT NULL,\n\u00a0`currency` varchar(255) NOT NULL,\n\u00a0`payment_status` varchar(255) NOT NULL,\n\u00a0`captured_at` datetime NOT NULL DEFAULT current_timestamp(),\n\u00a0PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;<\/code><\/pre>\n<h3>V\u00f5ta krediitkaardimakse vastu Authorize.Neti abil<\/h3>\n<p>Olete eelmistes toimingutes oma Authorize.Net-konto API-v\u00f5tmed kopeerinud. On aeg lisada need v\u00f5tmed PHP-koodile. Salvestage need mandaadid <code>config.php<\/code>faili. Lisan sellele failile ka andmebaasi\u00fchenduse.<\/p>\n<p><strong>config.php<\/strong><\/p>\n<pre><code>&lt;?php\nrequire_once \"vendor\/autoload.php\";\n\u00a0\u00a0\n\/\/ Connect with the database\n$db = new mysqli('localhost', 'MYSQL_DB_USERNAME', 'MYSQL_DB_PASSWORD', 'MYSQL_DB_NAME');\n\u00a0\u00a0\nif ($db-&gt;connect_errno) {\n\u00a0\u00a0\u00a0\u00a0die(\"Connect failed: \". $db-&gt;connect_error);\n}\n\u00a0\u00a0\n$gateway = OmnipayOmnipay::create('AuthorizeNetApi_Api');\n$gateway-&gt;setAuthName('PASTE_ANET_API_LOGIN_ID');\n$gateway-&gt;setTransactionKey('PASTE_ANET_TRANSACTION_KEY');\n$gateway-&gt;setTestMode(true); \/\/comment this line when move to 'live'<\/code><\/pre>\n<p>Asendage kohat\u00e4ited tegelike v\u00e4\u00e4rtustega. Kuna testime makseid liivakastis, j\u00e4rgisin meetodit <code>setTestMode<\/code>. Kui olete valmis tootmise juurde minema, eemaldage \/ kommenteerige see rida.<\/p>\n<p>Eespool loodud vormis m\u00e4\u00e4rasin <code>charge.php<\/code>toimingu URL-i. See t\u00e4hendab, et krediitkaardimakse fikseeriv tegelik kood l\u00e4heb selle faili sisse.<\/p>\n<p><strong>charge.php<\/strong><\/p>\n<pre><code>&lt;?php\nrequire_once \"config.php\";\n\u00a0\u00a0\nif (isset($_POST['submit'])) {\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0try {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$creditCard = new OmnipayCommonCreditCard([\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'number' =&gt; $_POST['cc_number'],\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'expiryMonth' =&gt; $_POST['expiry_month'],\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'expiryYear' =&gt; $_POST['expiry_year'],\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'cvv' =&gt; $_POST['cvv'],\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0]);\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ Generate a unique merchant site transaction ID.\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$transactionId = rand(100000000, 999999999);\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$response = $gateway-&gt;authorize([\n\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'currency' =&gt; 'USD',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'transactionId' =&gt; $transactionId,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'card' =&gt; $creditCard,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0])-&gt;send();\n\u00a0\u00a0\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\/\/ Captured from the authorization response.\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$transactionReference = $response-&gt;getTransactionReference();\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$response = $gateway-&gt;capture([\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'transactionReference' =&gt; $transactionReference,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0])-&gt;send();\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$transaction_id = $response-&gt;getTransactionReference();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$amount = $_POST['amount'];\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ Insert transaction data into the database\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$isPaymentExist = $db-&gt;query(\"SELECT * FROM payments WHERE transaction_id = '\".$transaction_id.\"'\");\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if($isPaymentExist-&gt;num_rows == 0) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$insert = $db-&gt;query(\"INSERT INTO payments(transaction_id, amount, currency, payment_status) VALUES('$transaction_id', '$amount', 'USD', 'Captured')\");\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo \"Your payment transaction id: \". $transaction_id;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0} else {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ not successful\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo $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>N\u00fc\u00fcd saate makse katsetada. Saage <a href=\"https:\/\/developer.authorize.net\/hello_world\/testing_guide\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">test krediitkaardi numbrid<\/a> testimiseks makse. Eduka vastuse korral peaksite saama oma tehingu ID.<\/p>\n<p>Omanik n\u00e4eb tehinguid Authorize.Neti juhtpaneelil. Tehingud leiate jaotisest \u201eLahendamata tehingud&#8221;. Authorize.Net lahendab hiljem tehingu ise ja teavitab teid sellest e-posti teel.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20201-6081cc632ae89.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-20201-6081cc632ae89.png\" alt=\"N\u00f5ustuge krediitkaardimaksega, kasutades PHP-s Authorize.Net Payment Gateway&#039;i\" ><\/a><\/p>\n<p>Loodan, et saate aru, kuidas krediitkaardimakseid Authorize.Net maksel\u00fc\u00fcsi abil aktsepteerida. Palun jagage oma m\u00f5tteid v\u00f5i ettepanekuid allpool kommentaaride jaotises.<\/p>\n<h4>seotud artiklid<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/et\/paypali-makseluusi-integreerimine-php-s-kasutades-paypal-rest-api-d\/\" title=\"PayPali maksel\u00fc\u00fcsi integreerimine PHP-s, kasutades PayPal REST API-d\">PayPali maksel\u00fc\u00fcsi integreerimine PHP-s, kasutades PayPal REST API-d<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/et\/juhend-triipude-integreerimiseks-veebisaidile-koos-php-ga\/\" title=\"Juhend triipude integreerimiseks veebisaidil koos PHP-ga\">Juhend triipude integreerimiseks veebisaidil koos PHP-ga<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/et\/aktsepteerige-krediitkaardimakseid-php-s-paypal-payments-pro-abil\/\" title=\"Aktsepteerige krediitkaardimakseid PHP-s Paypal Payments Pro abil\">Aktsepteerige krediitkaardimakseid PHP-s Paypal Payments Pro abil<\/a><\/li>\n<\/ul>\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>Selles artiklis uurime, kuidas integreerida Authorize.net krediitkaardimakse aktsepteerimiseks. Krediitkaardimakse lisamine on v\u00e4ga levinud<\/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":[274],"tags":[842],"class_list":["post-26284","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-5","tag-affiai-et"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/posts\/26284","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/comments?post=26284"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/posts\/26284\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/media\/21609"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/media?parent=26284"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/categories?post=26284"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/tags?post=26284"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}