{"id":2635,"date":"2020-08-18T12:50:52","date_gmt":"2020-08-18T10:50:52","guid":{"rendered":"https:\/\/ws.co.rs\/online-placanje\/"},"modified":"2023-09-12T11:00:16","modified_gmt":"2023-09-12T09:00:16","slug":"online-payment","status":"publish","type":"page","link":"https:\/\/ws.co.rs\/en\/online-payment\/","title":{"rendered":"Online payment"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"2635\" class=\"elementor elementor-2635 elementor-1208\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-1ade2795 elementor-section-stretched elementor-section-height-min-height blank m0 elementor-section-items-bottom elementor-section-content-bottom elementor-section-boxed elementor-section-height-default\" data-id=\"1ade2795\" data-element_type=\"section\" id=\"showcase\" data-settings=\"{&quot;stretch_section&quot;:&quot;section-stretched&quot;,&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7c2aa267\" data-id=\"7c2aa267\" data-element_type=\"column\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-29de599e elementor-widget elementor-widget-heading\" data-id=\"29de599e\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Online payment<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-4966bdb2 payment no-padding elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"4966bdb2\" data-element_type=\"section\" id=\"content\" data-settings=\"{&quot;shape_divider_top&quot;:&quot;tilt&quot;}\">\n\t\t\t\t\t<div class=\"elementor-shape elementor-shape-top\" aria-hidden=\"true\" data-negative=\"false\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 1000 100\" preserveAspectRatio=\"none\">\n\t<path class=\"elementor-shape-fill\" d=\"M0,6V0h1000v100L0,6z\"\/>\n<\/svg>\t\t<\/div>\n\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-3b917f7\" data-id=\"3b917f7\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-cde34be elementor-widget elementor-widget-image\" data-id=\"cde34be\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/ws.co.rs\/wp-content\/uploads\/elementor\/thumbs\/favicon-oqrepbcn6szyyi1sm8i7sqnq1n74bg5mjfrwlgbslw.png\" title=\"favicon\" alt=\"favicon\" loading=\"lazy\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-350e67b elementor-widget elementor-widget-heading\" data-id=\"350e67b\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-small\">Korisnicima na\u0161ih usluga koji imaju sklopljen poslovni ugovor sa na\u0161om firmom omogu\u0107ili smo pla\u0107anje svojih ra\u010duna putem platnih kartica Visa, Master i Maestro.<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b5b64aa elementor-widget__width-initial elementor-widget elementor-widget-shortcode\" data-id=\"b5b64aa\" data-element_type=\"widget\" id=\"payment\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><?php\r\n\r\n\/\/ 4200 0000 0000 0000\r\n\r\nconst PRODUCTION = FALSE;\r\n\r\nif (!PRODUCTION){\r\n    ini_set('display_errors', 1);\r\n    ini_set('display_startup_errors', 1);\r\n    error_reporting(E_ALL);\r\n}\r\n\r\nconst ENTITYID = '8acda4cb75bc7d240175d02a39e51deb';\r\nconst ACCESSTOKEN = 'OGFjZGE0Y2I3NWJjN2QyNDAxNzVkMDI5ODBiMDFkZTJ8aGNUcUhhOTdzRA==';\r\nconst URLSERVICE = 'https:\/\/eu-prod.oppwa.com\/v1\/';\r\n\r\n$url_local = $_SERVER['REQUEST_SCHEME'] . ':\/\/' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];\r\n\r\nfunction request($path, $data=null) {\r\n\r\n\t$ch = curl_init();\r\n\tcurl_setopt($ch, CURLOPT_URL, URLSERVICE.  $path);\r\n    curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Authorization:Bearer ' . ACCESSTOKEN ]);\r\n\r\n    if ($data){\r\n        curl_setopt($ch, CURLOPT_POST, 1);\r\n        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);\r\n    } else {\r\n        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');\r\n    }\r\n\tcurl_setopt($ch, CURLOPT_SSL_VERIFYPEER, PRODUCTION);\/\/ this should be set to true in production\r\n\tcurl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\r\n\t$responseData = curl_exec($ch);\r\n\r\n    if(curl_errno($ch)) {\r\n\t\treturn curl_error($ch);\r\n\t}\r\n\tcurl_close($ch);\r\n\treturn $responseData;\r\n}\r\n\r\nif (isset($_POST['amount']) && $amount = $_POST['amount']){\r\n\r\n    $params = [];\r\n    $params['entityId'] = ENTITYID;\r\n    $params['amount'] = $amount;\r\n    $params['currency'] = 'RSD';\r\n    $params['paymentType'] = 'DB';\r\n    $params['merchantInvoiceId'] = isset($_POST['invoice_id']) ? $_POST['invoice_id'] : null;\r\n\r\n    $responseData = request('checkouts', http_build_query($params) );\r\n    file_put_contents('payment.log', date(\"r\").PHP_EOL.$_SERVER['REMOTE_ADDR'].PHP_EOL.$responseData.PHP_EOL, FILE_APPEND);\r\n\r\n    $data = json_decode($responseData);\r\n\r\n    \/\/ prikaz forme za pla\u00c4\u2021anje\r\n    if (isset($data->id)){\r\n\r\n        ?>\r\n<p>Account number: <?php echo $params['merchantInvoiceId']; ?>\r\n<br>you will be charged an amount of <?php echo $amount; ?> din.\r\n<br>fot the Watchout Security DOO company account,\r\n<br>Spasenije Cane Babovic 5, 34000 Kragujevac\r\n<p>\r\n<script src=\"<?php echo URLSERVICE; ?>paymentWidgets.js?checkoutId=<?php echo $data->id; ?>\"><\/script>\r\n<form action=\"<?php echo $url_local ?>\" class=\"paymentWidgets\" data-brands=\"VISA MASTER MAESTRO\"><\/form>\r\n        <?php\r\n    }\r\n\r\n} elseif (isset($_GET['id']) && isset($_GET['resourcePath']) && $id = $_GET['id']) {\r\n    \/\/ odgovor sa sistema za pla\u00c4\u2021anje\r\n\t$path = 'checkouts\/'.$id.'\/payment?entityId='.ENTITYID;\r\n\r\n    $responseData = request( $path );\r\n    file_put_contents('payment.log', date(\"r\").PHP_EOL.$_SERVER['REMOTE_ADDR'].PHP_EOL.$responseData.PHP_EOL, FILE_APPEND);\r\n\r\n    $data = json_decode($responseData);\r\n\r\n    if (!isset($data->result->code)) die('ERROR result_code');\r\n\r\n    \/\/ print_r($data->result->code);\r\n    \/\/ print_r($data->result->description);\r\n    $success = false;\r\n\r\n    switch ($data->result->code) {\r\n        case '000.100.110':\r\n            $status_txt = 'Payment completed successfully';\r\n            $success = true;\r\n            break;\r\n        case '800.100.152':\r\n            $status_txt = 'Payment failed. We suggest you call your bank, which issued the card, and check the specific reason why this eCommerce transaction took place.';\r\n            break;\r\n        case '100.380.401':\r\n            $status_txt = 'Payment failed. Incorrect one-time password (OTP) entered';\r\n            break;\r\n        case '100.396.103':\r\n            $status_txt = 'Payment failed. The registration transaction was not authenticated and has expired';\r\n            break;\r\n        case '100.390.112':  \/\/ \tTechnical Error in 3D system\r\n            $status_txt = 'Payment failed, technical error on 3DSecure customer bank system';\r\n            break;\r\n        case '100.380.501': \/\/ \tRisk management transaction timeout\r\n            $status_txt = 'Payment failed. Make sure you have entered a one-time password (OTP) or have been prevented from displaying 3Dsecure';\r\n            break;\r\n        default:\r\n            $status_txt = $data->result->description;\r\n            break;\r\n    }\r\n    ?>\r\n        <p><\/p>\r\n        <p>Transaction Data:\r\n        <br>Status: <?php echo $status_txt;?>\r\n        <?php if ($success){ ?>\r\n        <br>Order number: <?php echo $data->merchantInvoiceId ;?>\r\n        <br>Amount and currency: <?php echo $data->amount ;?> RSD\r\n        <br>Card type: <?php echo $data->paymentBrand ;?>\r\n        <br>Bank authorization code: <?php echo isset($data->resultDetails->ConnectorTxID3) ? $data->resultDetails->ConnectorTxID3 : '';?>\r\n        <br>Time of transaction: <?php echo $data->timestamp ;?>\r\n        <?php } ?>\r\n    <?php\r\n\r\n} else {\r\n    ?>\r\n    <form method=\"post\">\r\n<div class=\"input\">\r\n            <label for=\"invoice_id\">Trader<\/label>\r\n           <span>Watchout Security d.o.o. Kragujevac<\/span>\r\n        <\/div>\r\n        <div class=\"input\">\r\n            <label for=\"invoice_id\">Account number<\/label>\r\n            <input type=\"text\" name=\"invoice_id\" id=\"invoice_id\" value=\"\">\r\n        <\/div>\r\n        <div class=\"input\">\r\n            <label for=\"pay_amount\">Amount<\/label>\r\n            <input type=\"number\" name=\"amount\" id=\"pay_amount\" value=\"\" step=\"any\" min=\"1\" max=\"999999\" required>\r\n        <\/div>\r\n  <div class=\"input tos\">\r\n            <input type=\"checkbox\" name=\"tos\" required><span>I agree with <a href=\"https:\/\/ws.co.local\/en\/shopping\/terms-of-use\/\" target=\"_blank\" rel=\"noopener\">the terms of use<\/a><\/span>\r\n        <\/div>\r\n        <div>\r\n            <button type=\"submit\" class=\"payment\">Pay the bill by card<\/button>\r\n        <\/div>\r\n<div>\r\nNote: Watchout security operates according to the Laws of the Republic of Serbia and therefore all credit and debit card payments will be made in the currency of the Republic of Serbia (Dinar - RSD). If you pay from abroad, your payment card will be debited in your local currency after the amount in dinars is converted into your local currency using exchange rates applied by the world card associations.\r\n<\/div>\r\n    <\/form>\r\n    <?php\r\n}\r\n?><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ea767a4 clean no-padding elementor-widget elementor-widget-text-editor\" data-id=\"ea767a4\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Napomena u vezi sa pla\u0107anjem, broj poziva aktuelnog ra\u010duna.<\/p>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-181d5c1 clean no-padding elementor-widget elementor-widget-text-editor\" data-id=\"181d5c1\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h2><a href=\"https:\/\/ws.co.rs\/wp-content\/uploads\/2020\/11\/Uputstvo-za-online-placanje.pdf\">Uputstvo za online pla\u0107anje<\/a><\/h2>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Korisnicima na\u0161ih usluga koji imaju sklopljen poslovni ugovor sa na\u0161om firmom omogu\u0107ili smo pla\u0107anje svojih ra\u010duna putem platnih kartica Visa, Master i Maestro. Napomena u vezi sa pla\u0107anjem, broj poziva aktuelnog ra\u010duna. Uputstvo za online pla\u0107anje<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-2635","page","type-page","status-publish","hentry"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/ws.co.rs\/en\/wp-json\/wp\/v2\/pages\/2635","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ws.co.rs\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ws.co.rs\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ws.co.rs\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ws.co.rs\/en\/wp-json\/wp\/v2\/comments?post=2635"}],"version-history":[{"count":6,"href":"https:\/\/ws.co.rs\/en\/wp-json\/wp\/v2\/pages\/2635\/revisions"}],"predecessor-version":[{"id":6916,"href":"https:\/\/ws.co.rs\/en\/wp-json\/wp\/v2\/pages\/2635\/revisions\/6916"}],"wp:attachment":[{"href":"https:\/\/ws.co.rs\/en\/wp-json\/wp\/v2\/media?parent=2635"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}