From 29efe49194eea9a2c97d338608e616205dd89b4b Mon Sep 17 00:00:00 2001 From: Mehmet Selim Dil Date: Thu, 7 Feb 2019 16:53:51 +0300 Subject: [PATCH 01/11] Cargo tracking - development --- i18n/languages/woocommerce-iyzico-en_US.mo | Bin 1485 -> 1872 bytes i18n/languages/woocommerce-iyzico-en_US.po | 75 +++++++--- image/protected_zihni.png | Bin 0 -> 28201 bytes ...yzico-for-woocommerce-buyer-protection.php | 135 +++++++++++++++++- ...woocommerce-gateway-formobjectgenerate.php | 17 ++- ...-for-woocommerce-gateway-iyzicorequest.php | 9 +- library/iyzico-for-woocommerce-gateway.php | 5 +- woocommerce-gateway-iyzico.php | 13 +- 8 files changed, 222 insertions(+), 32 deletions(-) create mode 100644 image/protected_zihni.png diff --git a/i18n/languages/woocommerce-iyzico-en_US.mo b/i18n/languages/woocommerce-iyzico-en_US.mo index 88f375caafb6dcde300a5240ae7e36885b62db18..f9c6343936697da143995f48f0f54b0a47650e5c 100755 GIT binary patch literal 1872 zcmd6m&u>#l5XZNW^20!jfFLR%x~fElRGx$35;;Vu*a<{UuyG9S4L0wM?Ir77YjOPgM{7A9^bP2j6*qNm_*q0;#oReRg(s=FN9@=dTk}&jfy- z<9`3P6AA$xUZ6(efF2 zxf)f>gJ^A#H)>|E2=~Rb$ zIq!&$?hm3^CDa*rI65UsUWNLJ}F5`gY zS{@@LtdVh>GCDazV~SRkH_|9?q>7|E$l;`D95F_Q!6b(B|Ta*y(NZV@f>?g6DS zS;~^T0MB2s3G_NX1^#p$*L^wzrm5h)LHg8;pw15cJtP%mnscsBd#dnXIGbzw&KjlC~fCZlk$P${GIM%GP`?@)Az_H3pRCp3w1fW zreo#1L6`3m(dMnvCKB;EFH?GuQbkeXuF{VrL|_r)bZZ>>hc~IVqLz85f@Yw=4YL%*`8% CFZXc( literal 1485 zcmcJPOK%e~5XTJ^Aq5E#h?j(5s5o}hM&eMV>H(S-DjGFv(~1+w*_|e)jvd+FmVo#e zhzlQqM=9m;4S3$UAkKUY#v5mo077tJrOj{W@9}s%9_QQfv4@PF6ZD>=ch4L2EbSZc z6n$37K0{21mx&LEmx#N>W5h4S^ThAO)5Jsjd*c^~D`Z!Q72+dek@%H(l6d$4W8=h& z#IwW-(dTiCxI?^8)WnG~#*R|#$3*`;IoRXVz-NKa19t*n1nvgD4BQKR75F;v4e%0AaG)$VT2s}T_pLC|7MHIIxb}!RUUsxVoSJ@>sPgNx(!}p%Uft9@4{+q zL?`zcRauQ3wuNg!SEmMIgNbkubCbZ9;9+;gexiTn>_hrgVL_WVRM2M23$0+C%QWBF zpS^wwBARL_i;?&=l)Gn3Koza!O&nE!o}Rg~713$H+!EfSFD-HFqPpSAO765FrzNhMDV=OoN8Tp8x>%hb#4Q!43UgXHYQD(d(K0x^ z>n1yr3pGRg;>MzzU8^rd(*r*regjQ3uVS6h{>w1k5Uy}Dx`ql(Z{3>Cu0^RhT`ZLf wHJKVNBj4V(462ivcD6J_XYWU5r)Kg*%Yf?k+G?TqhZlaAl@tmg+<+kd09n+o=Kufz diff --git a/i18n/languages/woocommerce-iyzico-en_US.po b/i18n/languages/woocommerce-iyzico-en_US.po index 6b37a8a..ce67f1a 100755 --- a/i18n/languages/woocommerce-iyzico-en_US.po +++ b/i18n/languages/woocommerce-iyzico-en_US.po @@ -1,5 +1,5 @@ msgid "" -msgsen "" +msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: \n" "PO-Revision-Date: \n" @@ -10,65 +10,98 @@ msgsen "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.8.11\n" "Plural-Forms: nplurals=1; plural=0;\n" -"Language: en_US\n" +"Language: tr_TR\n" # This file is distributed under the GNU General Public License v2 or later. msgid "Api Type" -msgsen "Api Type" +msgstr "Api Type" msgid "Api Key" -msgsen "Api Key" +msgstr "Api Key" msgid "Secret Key" -msgsen "Secret Key" +msgstr "Secret Key" msgid "Payment Value" -msgsen "Payment Value" +msgstr "Payment Value"" msgid "Payment Value Message" -msgstr "Online Payment" +msgstr "Payment Value Message" msgid "Payment Form Description Value" -msgsen "Payment Form Description Value" +msgstr "Payment Form Description Value"" msgid "Enable/Disable" -msgsen "Enable/Disable" +msgstr "Enable/Disable" msgid "Enable iyzico checkout" -msgsen "Enable iyzico checkout" +msgstr "Enable iyzico checkout" msgid "Payment Form Design" -msgsen "Payment Form Design" +msgstr "Payment Form Design" msgid "Left" -msgsen "Bottom Left" +msgstr "Bottom Left" msgid "Right" -msgsen "Bottom Right" +msgstr "Bottom Right" msgid "Hide" -msgsen "Hide" +msgstr "Hide" msgid "Overlay Script" -msgsen "Overlay Script" +msgstr "Overlay Script" msgid "Installment" -msgsen "Installment" +msgstr "Installment" msgid "Installment Fee" -msgsen "Installment Fee" +msgstr "Installment Fee" msgid "This message will show to the user during checkout." -msgsen "This message will show to the user during checkout.." +msgstr "This message will show to the user during checkout." msgid "Pay with your credit card via iyzico." -msgsen "Pay with your credit card via iyzico." +msgstr "Pay with your credit card via iyzico." msgid "Thank you for your order, please click the button below to pay with iyzico Checkout." -msgsen "Thank you for your order, please click the button below to pay with iyzico Checkout." +msgstr "Thank you for your order, please click the button below to pay with iyzico Checkout." msgid "Pay With Card" -msgsen "Pay With Card" +msgstr "Pay with Credit/Bank Card" + +msgid "Order Status" +msgstr "Order Status" + +msgid "Recommended, Default" +msgstr "Recommended, Default" + +msgid "Siparişi onayla" +msgstr "Pay with Credit/Bank Card" + +msgid "Default" +msgstr "Default" + +msgid "Pending" +msgstr "Pending" + +msgid "Processing" +msgstr "Processing" + +msgid "On-Hold" +msgstr "On-Hold" + +msgid "Completed" +msgstr "Completed" + +msgid "Cancelled" +msgstr "Cancelled" + +msgid "Refunded" +msgstr "Refunded" + +msgid "Failed" +msgstr "Failed" \ No newline at end of file diff --git a/image/protected_zihni.png b/image/protected_zihni.png new file mode 100644 index 0000000000000000000000000000000000000000..ab558ff387c29299c819321f3f86784cd5128480 GIT binary patch literal 28201 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 literal 0 HcmV?d00001 diff --git a/library/iyzico-for-woocommerce-buyer-protection.php b/library/iyzico-for-woocommerce-buyer-protection.php index 1eb333c..5b72989 100644 --- a/library/iyzico-for-woocommerce-buyer-protection.php +++ b/library/iyzico-for-woocommerce-buyer-protection.php @@ -1,11 +1,142 @@ get_id(); + $cargoNameValue = 'iyzico_cargo_name_'.$order->get_id(); + + $cargoTrackingNumber = get_option($cargoCodeValue); + $cargoNumber = get_option($cargoNameValue); + $currentOrderStatus = $order->get_status(); + $orderStatusArray = array('processing','on-hold','completed'); + $orderStatus = in_array($currentOrderStatus,$orderStatusArray); + + $cargoObject[0] = new stdClass(); + $cargoObject[0]->name = 'MNG Kargo'; + $cargoObject[0]->value = '1'; + + $cargoObject[1] = new stdClass(); + $cargoObject[1]->name = 'Aras Kargo'; + $cargoObject[1]->value = '2'; + + $cargoObject[2] = new stdClass(); + $cargoObject[2]->name = 'Yurtiçi Kargo'; + $cargoObject[2]->value = '3'; + + $cargoObject[3] = new stdClass(); + $cargoObject[3]->name = 'UPS Kargo'; + $cargoObject[3]->value = '4'; + + $cargoObject[4] = new stdClass(); + $cargoObject[4]->name = 'Sürat Kargo'; + $cargoObject[4]->value = '5'; + + $pluginUrl = plugins_url().IYZICO_PLUGIN_NAME; + ?> + + +

iyzico Korumalı Alışveriş

+ +

Kargo Bilgi Ekranı

+ +
+
+ + + payment_gateways(); + $iyzico = $all_gateways['iyzico']->settings; + + $apiKey = $iyzico['api_key']; + $secretKey = $iyzico['secret_key']; + $randNumer = rand(1,99999); + + $iyziModel = new Iyzico_Checkout_For_WooCommerce_Model(); + $paymentId = $iyziModel->findPaymentId($order_id); + + /* Post iyzico */ + $formObjectGenerate = new Iyzico_Checkout_For_WooCommerce_FormObjectGenerate(); + $pkiBuilder = new Iyzico_Checkout_For_WooCommerce_PkiBuilder(); + $iyzicoRequest = new Iyzico_Checkout_For_WooCommerce_iyzicoRequest(); + $baseUrl = $iyzico['api_type']; + + $cargoObject = $formObjectGenerate->generateCargoTracking($cargoTrackingNumber,$paymentId,$cargoNumber); + $pkiString = $pkiBuilder->pkiStringGenerate($cargoObject); + $authorizationData = $pkiBuilder->authorizationGenerate($pkiString,$apiKey,$secretKey,$randNumer); + + + $iyzicoJson = json_encode($cargoObject,JSON_UNESCAPED_SLASHES|JSON_UNESCAPED_UNICODE); + $requestResponse = $iyzicoRequest->iyzicoCargoTracking($baseUrl,$iyzicoJson,$authorizationData); + + if(isset($requestResponse->status)) { + + if($requestResponse->status == 'success') { + + if(empty($createOrUpdateControl)) { + + add_option($cargoNumberField,$cargoNumber,'','yes'); + add_option($cargoTrackingField,$cargoTrackingNumber,'','yes'); + + } else { + + update_option($cargoNumberField,$cargoNumber); + update_option($cargoTrackingField,$cargoTrackingNumber); + } + + } else { + + echo $requestResponse->errorMessage; + exit; + } + } + + } + + public static function getOverlayScript() { $token = get_option('iyzico_overlay_token'); $position = get_option('iyzico_overlay_position'); diff --git a/library/iyzico-for-woocommerce-gateway-formobjectgenerate.php b/library/iyzico-for-woocommerce-gateway-formobjectgenerate.php index 2bfda04..a5cc5bf 100755 --- a/library/iyzico-for-woocommerce-gateway-formobjectgenerate.php +++ b/library/iyzico-for-woocommerce-gateway-formobjectgenerate.php @@ -28,7 +28,7 @@ public function generateOption($items,$data,$apiKey) { $iyzico->forceThreeDS = "0"; $iyzico->callbackUrl = add_query_arg('wc-api', 'WC_Gateway_Iyzico', $data->get_checkout_order_received_url()); $iyzico->cardUserKey = $iyziModel->findUserCardKey($user->ID,$apiKey); - $iyzico->paymentSource = 'WOOCOMMERCE|'.WOOCOMMERCE_VERSION.'|CARRERA-1.1.1'; + $iyzico->paymentSource = 'WOOCOMMERCE|'.WOOCOMMERCE_VERSION.'|CARRERA-1.1.2'; return $iyzico; @@ -158,4 +158,19 @@ public function oneProductCalc($order) { return $basketItems; } + + public function generateCargoTracking($trackingNumber,$paymentId,$shippingCompanyId) { + + /* + createOrUpdateControl + */ + + $cargoObject = new stdClass(); + + $cargoObject->trackingNumber = $trackingNumber; + $cargoObject->paymentId = $paymentId; + $cargoObject->shippingCompanyId = $shippingCompanyId; + + return $cargoObject; + } } \ No newline at end of file diff --git a/library/iyzico-for-woocommerce-gateway-iyzicorequest.php b/library/iyzico-for-woocommerce-gateway-iyzicorequest.php index 78551e7..c1a3821 100755 --- a/library/iyzico-for-woocommerce-gateway-iyzicorequest.php +++ b/library/iyzico-for-woocommerce-gateway-iyzicorequest.php @@ -11,7 +11,6 @@ public function iyzicoCheckoutFormRequest($baseUrl,$json,$authorizationData) { $url = $baseUrl.'/payment/iyzipos/checkoutform/initialize/auth/ecom'; return $this->curlPost($json,$authorizationData,$url); - } public function iyzicoCheckoutFormDetailRequest($baseUrl,$json,$authorizationData) { @@ -19,7 +18,6 @@ public function iyzicoCheckoutFormDetailRequest($baseUrl,$json,$authorizationDat $url = $baseUrl.'/payment/iyzipos/checkoutform/auth/ecom/detail'; return $this->curlPost($json,$authorizationData,$url); - } @@ -28,9 +26,14 @@ public function iyzicoOverlayScriptRequest($baseUrl,$json,$authorizationData) { $baseUrl = "https://iyziup.iyzipay.com/"; $url = $baseUrl."v1/iyziup/protected/shop/detail/overlay-script"; - return $this->curlPost($json,$authorizationData,$url); + } + public function iyzicoCargoTracking($baseUrl,$json,$authorizationData) { + + $url = $baseUrl.'/v1/iyziup/create-zen-order-shipment-over-plugin-framework'; + + return $this->curlPost($json,$authorizationData,$url); } diff --git a/library/iyzico-for-woocommerce-gateway.php b/library/iyzico-for-woocommerce-gateway.php index f3db081..103c37f 100755 --- a/library/iyzico-for-woocommerce-gateway.php +++ b/library/iyzico-for-woocommerce-gateway.php @@ -9,7 +9,7 @@ class Iyzico_Checkout_For_WooCommerce_Gateway extends WC_Payment_Gateway { public function __construct() { $this->id = 'iyzico'; - $this->iyziV = '1.1.2'; + $this->iyziV = '1.1.3'; $this->method_title = __('iyzico', 'woocommerce-iyzico'); $this->method_description = __('Easy Checkout'); $this->has_fields = true; @@ -223,7 +223,6 @@ public function iyzico_response() { try { - if(!$_POST['token']) { throw new \Exception("Token not found"); @@ -445,6 +444,6 @@ private function verifyTLS($url) { curl_close($curl); return $response; - } + } } diff --git a/woocommerce-gateway-iyzico.php b/woocommerce-gateway-iyzico.php index 6a7e009..0830d81 100755 --- a/woocommerce-gateway-iyzico.php +++ b/woocommerce-gateway-iyzico.php @@ -5,10 +5,11 @@ * Description: iyzico Payment Gateway for WooCommerce. * Author: iyzico * Author URI: https://iyzico.com - * Version: 1.1.1 + * Version: 1.1.3 * Text Domain: iyzico WooCommerce * Domain Path: /i18n/languages/ - * + * WC requires at least: 3.0.0 + * WC tested up to: 3.5.4 */ define('IYZICO_PATH',untrailingslashit( plugin_dir_path( __FILE__ ))); define('IYZICO_LANG_PATH',plugin_basename(dirname(__FILE__)) . '/i18n/languages/'); @@ -123,6 +124,14 @@ public function InitIyzicoPaymentGateway() { add_action('wp_footer', array('Iyzico_Checkout_For_WooCommerce_Buyer_Protection', 'getOverlayScript')); + + add_action('woocommerce_admin_order_data_after_shipping_address', + array('Iyzico_Checkout_For_WooCommerce_Buyer_Protection', + 'iyziCargoTracking')); + + add_action('woocommerce_process_shop_order_meta', + array('Iyzico_Checkout_For_WooCommerce_Buyer_Protection', + 'iyziCargoTrackingSave')); } From 9dd072b16ad91570a0d7b26bad3c73ddc0108ef3 Mon Sep 17 00:00:00 2001 From: Mehmet Selim Dil Date: Thu, 7 Feb 2019 17:00:04 +0300 Subject: [PATCH 02/11] Cargo tracking - development --- library/iyzico-for-woocommerce-gateway.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/iyzico-for-woocommerce-gateway.php b/library/iyzico-for-woocommerce-gateway.php index 103c37f..36626c4 100755 --- a/library/iyzico-for-woocommerce-gateway.php +++ b/library/iyzico-for-woocommerce-gateway.php @@ -22,7 +22,7 @@ public function __construct() { $this->title = $this->get_option( 'title' ); $this->description = $this->get_option( 'description' ); $this->enabled = $this->get_option( 'enabled' ); - $this->icon = plugins_url().IYZICO_PLUGIN_NAME.'/image/cards.png'; + $this->icon = plugins_url().IYZICO_PLUGIN_NAME.'/image/cards.png?v='.$this->iyziV.''; add_action('init', array(&$this, 'iyzico_response')); add_action('woocommerce_api_wc_gateway_iyzico', array($this, 'iyzico_response')); From 8786dd1099dbb8e80df22e8a39f4b8bd8b9a606c Mon Sep 17 00:00:00 2001 From: Mehmet Selim Dil Date: Fri, 8 Feb 2019 11:44:02 +0300 Subject: [PATCH 03/11] Cargo tracking - development --- library/iyzico-for-woocommerce-buyer-protection.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/library/iyzico-for-woocommerce-buyer-protection.php b/library/iyzico-for-woocommerce-buyer-protection.php index 5b72989..61a38f0 100644 --- a/library/iyzico-for-woocommerce-buyer-protection.php +++ b/library/iyzico-for-woocommerce-buyer-protection.php @@ -15,7 +15,8 @@ public static function iyziCargoTracking($order) { $currentOrderStatus = $order->get_status(); $orderStatusArray = array('processing','on-hold','completed'); $orderStatus = in_array($currentOrderStatus,$orderStatusArray); - + $paymentMethod = $order->get_payment_method(); + $cargoObject[0] = new stdClass(); $cargoObject[0]->name = 'MNG Kargo'; $cargoObject[0]->value = '1'; @@ -38,7 +39,7 @@ public static function iyziCargoTracking($order) { $pluginUrl = plugins_url().IYZICO_PLUGIN_NAME; ?> - +

iyzico Korumalı Alışveriş

@@ -111,7 +112,7 @@ public static function iyziCargoTrackingSave($order_id) { $iyzicoJson = json_encode($cargoObject,JSON_UNESCAPED_SLASHES|JSON_UNESCAPED_UNICODE); $requestResponse = $iyzicoRequest->iyzicoCargoTracking($baseUrl,$iyzicoJson,$authorizationData); - + if(isset($requestResponse->status)) { if($requestResponse->status == 'success') { @@ -129,8 +130,7 @@ public static function iyziCargoTrackingSave($order_id) { } else { - echo $requestResponse->errorMessage; - exit; + return; } } From 6055620ae4d24d2356b2d5e8f21e8c8efdf3dd05 Mon Sep 17 00:00:00 2001 From: Mehmet Selim Dil Date: Fri, 8 Feb 2019 12:07:16 +0300 Subject: [PATCH 04/11] Cargo tracking - development --- library/iyzico-for-woocommerce-buyer-protection.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/library/iyzico-for-woocommerce-buyer-protection.php b/library/iyzico-for-woocommerce-buyer-protection.php index 61a38f0..310bf70 100644 --- a/library/iyzico-for-woocommerce-buyer-protection.php +++ b/library/iyzico-for-woocommerce-buyer-protection.php @@ -61,11 +61,11 @@ public static function iyziCargoTracking($order) { public static function iyziCargoTrackingSave($order_id) { - $cargoNumber = $_POST['cargoNumber']; - $cargoTrackingNumber = $_POST['cargoTrackingNumber']; + $cargoNumber = esc_sql($_POST['cargoNumber']); + $cargoTrackingNumber = esc_sql($_POST['cargoTrackingNumber']); $createOrUpdateControl = false; - /* Empty Check Control */ + /* Empty Post Control */ if(empty($cargoNumber) || empty($cargoTrackingNumber)) { return; @@ -77,7 +77,7 @@ public static function iyziCargoTrackingSave($order_id) { $cargoNumberOption = get_option($cargoNumberField); - /* Sleep Data Check */ + /* Sleeping Data Control */ if($cargoNumber == $cargoNumberOption && $cargoTrackingNumber == $cargoTrackingOption) { return; @@ -112,7 +112,7 @@ public static function iyziCargoTrackingSave($order_id) { $iyzicoJson = json_encode($cargoObject,JSON_UNESCAPED_SLASHES|JSON_UNESCAPED_UNICODE); $requestResponse = $iyzicoRequest->iyzicoCargoTracking($baseUrl,$iyzicoJson,$authorizationData); - + if(isset($requestResponse->status)) { if($requestResponse->status == 'success') { From e33f25319096e9fd8357e05b7fbbcf4584526974 Mon Sep 17 00:00:00 2001 From: Mehmet Selim Dil Date: Mon, 11 Feb 2019 09:34:14 +0300 Subject: [PATCH 05/11] Cargo tracking - development --- ...yzico-for-woocommerce-buyer-protection.php | 27 ++++++++----------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/library/iyzico-for-woocommerce-buyer-protection.php b/library/iyzico-for-woocommerce-buyer-protection.php index 310bf70..6077c5f 100644 --- a/library/iyzico-for-woocommerce-buyer-protection.php +++ b/library/iyzico-for-woocommerce-buyer-protection.php @@ -17,25 +17,20 @@ public static function iyziCargoTracking($order) { $orderStatus = in_array($currentOrderStatus,$orderStatusArray); $paymentMethod = $order->get_payment_method(); - $cargoObject[0] = new stdClass(); - $cargoObject[0]->name = 'MNG Kargo'; - $cargoObject[0]->value = '1'; + /* Cargo Object */ + $cargoArray = array(array('name' => 'MNG Kargo', 'value' => 1), + array('name' => 'Aras Kargo', 'value' => 4), + array('name' => 'Yurtiçi Kargo', 'value' => 6), + array('name' => 'UPS Kargo', 'value' => 10), + array('name' => 'Sürat Kargo', 'value' => 15)); - $cargoObject[1] = new stdClass(); - $cargoObject[1]->name = 'Aras Kargo'; - $cargoObject[1]->value = '2'; - $cargoObject[2] = new stdClass(); - $cargoObject[2]->name = 'Yurtiçi Kargo'; - $cargoObject[2]->value = '3'; + foreach ($cargoArray as $key => $cargo) { - $cargoObject[3] = new stdClass(); - $cargoObject[3]->name = 'UPS Kargo'; - $cargoObject[3]->value = '4'; - - $cargoObject[4] = new stdClass(); - $cargoObject[4]->name = 'Sürat Kargo'; - $cargoObject[4]->value = '5'; + $cargoObject[$key] = new stdClass(); + $cargoObject[$key]->name = $cargo['name']; + $cargoObject[$key]->value = $cargo['value']; + } $pluginUrl = plugins_url().IYZICO_PLUGIN_NAME; ?> From b663481dbe0ac2e9e6009bea05f94c26ed1ed644 Mon Sep 17 00:00:00 2001 From: Mehmet Selim Dil Date: Mon, 11 Feb 2019 14:16:29 +0300 Subject: [PATCH 06/11] Cargo tracking - development --- ...yzico-for-woocommerce-buyer-protection.php | 30 ++++++++++++++----- ...woocommerce-gateway-formobjectgenerate.php | 4 --- woocommerce-gateway-iyzico.php | 1 + 3 files changed, 24 insertions(+), 11 deletions(-) diff --git a/library/iyzico-for-woocommerce-buyer-protection.php b/library/iyzico-for-woocommerce-buyer-protection.php index 6077c5f..b9b6799 100644 --- a/library/iyzico-for-woocommerce-buyer-protection.php +++ b/library/iyzico-for-woocommerce-buyer-protection.php @@ -7,8 +7,10 @@ class Iyzico_Checkout_For_WooCommerce_Buyer_Protection { public static function iyziCargoTracking($order) { - $cargoCodeValue = 'iyzico_cargo_no_'.$order->get_id(); - $cargoNameValue = 'iyzico_cargo_name_'.$order->get_id(); + $orderId = (int) $order->get_id(); + + $cargoCodeValue = 'iyzico_cargo_no_'.$orderId; + $cargoNameValue = 'iyzico_cargo_name_'.$orderId; $cargoTrackingNumber = get_option($cargoCodeValue); $cargoNumber = get_option($cargoNameValue); @@ -16,13 +18,25 @@ public static function iyziCargoTracking($order) { $orderStatusArray = array('processing','on-hold','completed'); $orderStatus = in_array($currentOrderStatus,$orderStatusArray); $paymentMethod = $order->get_payment_method(); + $protectedControl = get_option('iyzico_overlay_token'); + + /* Payment Gateways */ + $gateway_controller = WC_Payment_Gateways::instance(); + $all_gateways = $gateway_controller->payment_gateways(); + $iyzico = $all_gateways['iyzico']->settings; + $apiType = $iyzico['api_type']; + + if($apiType == 'https://sandbox-api.iyzipay.com') { + $protectedControl = true; + } /* Cargo Object */ $cargoArray = array(array('name' => 'MNG Kargo', 'value' => 1), array('name' => 'Aras Kargo', 'value' => 4), array('name' => 'Yurtiçi Kargo', 'value' => 6), array('name' => 'UPS Kargo', 'value' => 10), - array('name' => 'Sürat Kargo', 'value' => 15)); + array('name' => 'Sürat Kargo', 'value' => 15) + ); foreach ($cargoArray as $key => $cargo) { @@ -34,7 +48,7 @@ public static function iyziCargoTracking($order) { $pluginUrl = plugins_url().IYZICO_PLUGIN_NAME; ?> - +

iyzico Korumalı Alışveriş

@@ -56,6 +70,8 @@ public static function iyziCargoTracking($order) { public static function iyziCargoTrackingSave($order_id) { + $orderId = (int) $order_id; + $cargoNumber = esc_sql($_POST['cargoNumber']); $cargoTrackingNumber = esc_sql($_POST['cargoTrackingNumber']); $createOrUpdateControl = false; @@ -66,8 +82,8 @@ public static function iyziCargoTrackingSave($order_id) { return; } - $cargoTrackingField = 'iyzico_cargo_no_'.$order_id; - $cargoNumberField = 'iyzico_cargo_name_'.$order_id; + $cargoTrackingField = 'iyzico_cargo_no_'.$orderId; + $cargoNumberField = 'iyzico_cargo_name_'.$orderId; $cargoTrackingOption = get_option($cargoTrackingField); $cargoNumberOption = get_option($cargoNumberField); @@ -92,7 +108,7 @@ public static function iyziCargoTrackingSave($order_id) { $randNumer = rand(1,99999); $iyziModel = new Iyzico_Checkout_For_WooCommerce_Model(); - $paymentId = $iyziModel->findPaymentId($order_id); + $paymentId = $iyziModel->findPaymentId($orderId); /* Post iyzico */ $formObjectGenerate = new Iyzico_Checkout_For_WooCommerce_FormObjectGenerate(); diff --git a/library/iyzico-for-woocommerce-gateway-formobjectgenerate.php b/library/iyzico-for-woocommerce-gateway-formobjectgenerate.php index a5cc5bf..a0c1c06 100755 --- a/library/iyzico-for-woocommerce-gateway-formobjectgenerate.php +++ b/library/iyzico-for-woocommerce-gateway-formobjectgenerate.php @@ -160,10 +160,6 @@ public function oneProductCalc($order) { } public function generateCargoTracking($trackingNumber,$paymentId,$shippingCompanyId) { - - /* - createOrUpdateControl - */ $cargoObject = new stdClass(); diff --git a/woocommerce-gateway-iyzico.php b/woocommerce-gateway-iyzico.php index 0830d81..827afcf 100755 --- a/woocommerce-gateway-iyzico.php +++ b/woocommerce-gateway-iyzico.php @@ -132,6 +132,7 @@ public function InitIyzicoPaymentGateway() { add_action('woocommerce_process_shop_order_meta', array('Iyzico_Checkout_For_WooCommerce_Buyer_Protection', 'iyziCargoTrackingSave')); + } From 4faecac6878e5c9798afe740b6d4deca03b91f54 Mon Sep 17 00:00:00 2001 From: Mehmet Selim Dil Date: Mon, 11 Feb 2019 17:41:11 +0300 Subject: [PATCH 07/11] Cargo tracking - development --- .../iyzico-for-woocommerce-buyer-protection.php | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/library/iyzico-for-woocommerce-buyer-protection.php b/library/iyzico-for-woocommerce-buyer-protection.php index b9b6799..6eadbb5 100644 --- a/library/iyzico-for-woocommerce-buyer-protection.php +++ b/library/iyzico-for-woocommerce-buyer-protection.php @@ -50,10 +50,11 @@ public static function iyziCargoTracking($order) { ?> -

iyzico Korumalı Alışveriş

- -

Kargo Bilgi Ekranı

- $cargo): ?> -
-
- +

Kargo Takip Numarası

+ Date: Tue, 12 Feb 2019 13:25:34 +0300 Subject: [PATCH 08/11] Cargo tracking - development --- i18n/languages/woocommerce-iyzico-en_US.mo | Bin 1872 -> 2370 bytes i18n/languages/woocommerce-iyzico-en_US.po | 17 ++++++++++++++++- i18n/languages/woocommerce-iyzico-tr_TR.mo | Bin 1947 -> 2437 bytes i18n/languages/woocommerce-iyzico-tr_TR.po | 18 ++++++++++++++++-- ...yzico-for-woocommerce-buyer-protection.php | 12 ++++++------ 5 files changed, 38 insertions(+), 9 deletions(-) diff --git a/i18n/languages/woocommerce-iyzico-en_US.mo b/i18n/languages/woocommerce-iyzico-en_US.mo index f9c6343936697da143995f48f0f54b0a47650e5c..739e4357b798f94ea2b944d6adcacc8dd11d118d 100755 GIT binary patch literal 2370 zcmd^<&yO256vtgCbO|j*^oKw~U{H||?PNFN&}Dxdnq-$o?6PSR$`66SnR!XfdhE#d zY)P+h<;WSX{1;q6964|SAr8w8aYpI|_4_81T~N88azR9s`S{t-&-V8{&(BYs{7m3? z3IC_@-#EdR5br*4%u{H-2YU%5Fn|_(1U#(x8_0gYgBQU+z{kJ~4+`-xcnLfSUIrfp zSHQF2M%BLq^86d%Y4B~3=a0ZMU;(}WehfYXehHofzpci90x!V+734U)SPfVL&x7Yc z-v5i>LtvvCzY6mHn&9JL2YeEIr?LY$fc**hGWY{{89aj^r=ZmvJ09{Xd5n$A1ar@v9*3uL+j=fTcbluNy$t z=TngNIRsgsi+uQNQ!QVkS;@g{N}@TFWFvWP$1+YxhKZg|OT(*lpBuKwhvcOjVO$64 zd`A9?oVh}#%3^XTJhACzT7>9w_)gRTNl(hisB@Z6k+BL`7cFH|GKMnIa{1IyM5|3B zRhTHYtQs1UdUji?i)`Q-Cc!o?UA z+k6feUJ;O-tSAd{k@mW%fd=~Dx_s1^xdGV{0-~avRuixKG@}K+=+y&Dln4$mx delta 581 zcmYMxOG^S_6vpv)Y-}tqg=uJr*}@RobXj$Q2x=7-fgeCZiNZioC|fk!qNK&(BHFoW z6%lTOpiPT5eS)CK@6rF!frR0A-Z^^aJmXvZGv6gc#Vq!40_~we zKZQxov#2?1IEtH?z&+IBWennp->>7iagDj4DAKsaCHzH)w~%6O4b1T?4Je?JFZiya z`dg^vJE+CWsN{82@^e&j7nS_lKi{Ln^UVW=l0TsaykHtXFpoXd-xFr4lFy;Ow~k7_ zi&~_NN?t`JKSeEmgZ($__dBThk2s^`?-WX&(UgtaQEt1^>|1QsD&6nEf#o&qyY6x@ UZFxU|7^CLT2V^_VpVXHPMaag?lQY6q)-BW z+`JV}1p{8ho2A|qFHJx^dr%M&@gyRiJc|F9Cf2aKzj-@5Z{EDDbUo}TecsjlSn=!U zKEOSikVvW9TQ+TDc!#(h4MynWR{UD`2g-N9aS#5%PV8+`sulaO83%AXp2jYvN@}z| zaRnv86z;&AC<*4U0}FT*@8cnSjy?FcKK}`OiNB-dk=?dIJMP9Flmi^c7Ccj%FDZ4F zfmAq-J8=T{;!Hh`FiHFXhw&p0UQ`3vymiKz?4ZuCzpj>Ry|9Zc@cdk5HT&PXl+{Hq%s19WUZtG#ieAd*tc$E~ z7l%~kMHqAH3$r#iYgKaXQp-wWVA`xdlW8?sE8(JbwH);@S*wUcN=3_GT3$7Wy&j|N0cgj*`Of2wkm@rNr z!8ArO+jas~pTd5e!ERi^5N@E2+t`J>n82gf@18j)P=gDMVGY&5$2i{O7(QYazc7h* zN2{K}H2FBH&n$N00;X^oHTV_=aj#w9#~$Mub4-w@P{C>Z#4uaPFt!G8cuEZ?QMrpc z$zt18bja6HgP))dQb8_r!b diff --git a/i18n/languages/woocommerce-iyzico-tr_TR.po b/i18n/languages/woocommerce-iyzico-tr_TR.po index d5160ca..27d2591 100755 --- a/i18n/languages/woocommerce-iyzico-tr_TR.po +++ b/i18n/languages/woocommerce-iyzico-tr_TR.po @@ -40,7 +40,6 @@ msgstr "iyzico ile ödemeyi etkinleştir" msgid "Payment Form Design" msgstr "Ödeme Formu Görünümü" - msgid "Left" msgstr "Alt Sol" @@ -104,4 +103,19 @@ msgid "Refunded" msgstr "İade Edildi" msgid "Failed" -msgstr "Başarısız" \ No newline at end of file +msgstr "Başarısız" + +msgid "iyzico Protected Shopping Shipping Tracking" +msgstr "iyzico Korumalı Alışveriş Kargo Takibi" + +msgid "By entering the shipping tracking number of this order, you can ensure your customer have real time order tracking." +msgstr "Siparişin kargo takip numarasını girerek, müşterinizin anlık kargo takibi yapmasını sağlayabilirsiniz." + +msgid "Select" +msgstr "Seçiniz" + +msgid "Shipping Company" +msgstr "Kargo Firması" + +msgid "Shipping Tracking Number" +msgstr "Kargo Takip Numarası" \ No newline at end of file diff --git a/library/iyzico-for-woocommerce-buyer-protection.php b/library/iyzico-for-woocommerce-buyer-protection.php index 6eadbb5..fa5c5b4 100644 --- a/library/iyzico-for-woocommerce-buyer-protection.php +++ b/library/iyzico-for-woocommerce-buyer-protection.php @@ -51,19 +51,19 @@ public static function iyziCargoTracking($order) { -

iyzico Korumalı Alışveriş Kargo Takibi

-

Siparişin kargo takip numarasını girerek, müşterinizin anlık kargo takibi yapmasını sağlayabilirsiniz.

-

Kargo Firması

+

+

+

-

Kargo Takip Numarası

- +

+ Date: Tue, 12 Feb 2019 15:36:13 +0300 Subject: [PATCH 09/11] Cargo tracking - development --- library/iyzico-for-woocommerce-buyer-protection.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/library/iyzico-for-woocommerce-buyer-protection.php b/library/iyzico-for-woocommerce-buyer-protection.php index fa5c5b4..db7f0f2 100644 --- a/library/iyzico-for-woocommerce-buyer-protection.php +++ b/library/iyzico-for-woocommerce-buyer-protection.php @@ -116,6 +116,10 @@ public static function iyziCargoTrackingSave($order_id) { $iyzicoRequest = new Iyzico_Checkout_For_WooCommerce_iyzicoRequest(); $baseUrl = $iyzico['api_type']; + if($baseUrl == 'https://api.iyzipay.com') { + $baseUrl = 'https://iyziup.iyzipay.com'; + } + $cargoObject = $formObjectGenerate->generateCargoTracking($cargoTrackingNumber,$paymentId,$cargoNumber); $pkiString = $pkiBuilder->pkiStringGenerate($cargoObject); $authorizationData = $pkiBuilder->authorizationGenerate($pkiString,$apiKey,$secretKey,$randNumer); From aafdac86c88abf15d5acff2d5a2a66413261779d Mon Sep 17 00:00:00 2001 From: Mehmet Selim Dil Date: Wed, 13 Feb 2019 12:47:22 +0300 Subject: [PATCH 10/11] Cargo tracking - development --- i18n/languages/woocommerce-iyzico-en_US.mo | Bin 2370 -> 2372 bytes i18n/languages/woocommerce-iyzico-en_US.po | 4 ++-- i18n/languages/woocommerce-iyzico-tr_TR.mo | Bin 2437 -> 2439 bytes i18n/languages/woocommerce-iyzico-tr_TR.po | 4 ++-- ...yzico-for-woocommerce-buyer-protection.php | 4 ++-- .../iyzico-for-woocommerce-gateway-fields.php | 2 +- ...woocommerce-gateway-formobjectgenerate.php | 2 +- woocommerce-gateway-iyzico.php | 1 - 8 files changed, 8 insertions(+), 9 deletions(-) diff --git a/i18n/languages/woocommerce-iyzico-en_US.mo b/i18n/languages/woocommerce-iyzico-en_US.mo index 739e4357b798f94ea2b944d6adcacc8dd11d118d..d59f6b5e97c10a4f17d0c9feb9525bc9498cccce 100755 GIT binary patch delta 343 zcmXZYy-LDi6vy%3-}is{hNPL#9!=_cNQz(s$Jjy_f6s2v`gWMb zJ;w2fgj^N_n8ZuWU;=N?br}ggg*8=_g9T_gr z$F0*CLwi7x!S;VZTd$#A@CB3Dh}=szB=1bv!C%jZJ-kZFyOYvMh_Km15B3Vl$X^0F}>cAFpaE2i+F@@K^H`Kld`uM~gevuG| z#RTRtgC6Fw{;xYo$T%sHxFl05-C%)L++Y*8Si=LB@PyiT$1=Wr=J@C8g7 zW*@*fGVlP-#y8-91If+(-E&UvIp@WD^*&>35lO0+CC8F_SS7wbkSaLD9LH$#-*|+Z zy}uX`|KkZZ9O)QCq?I~INimvwA2}Lu9pbH{g=#z|Bz&A<6PI|3?|6YLJjXSj;UAiY zjw{vCN3&QPO`jOeA_;Od;_@)v$4_YfKfA5npf?g`@CT;&gYU6vy#jf@$KPRwSfF9K2gV=@gfA>u5WaK%q2UjEjU0h2km&L0tL_4nBbp zXCFZ5=HLT3mp+2uO9Pklx#wK&Ip;Ne2|sR})wQIiC;5()Vw1ezkdAPK3(V2hzwsD< zYyZ%Y@34huzI1{HX{9dmqy+7I4>`Ie9Af5crBg053T>R@1wLbhZ+MBHc#c2V!7bW` zjewyTp^ diff --git a/i18n/languages/woocommerce-iyzico-tr_TR.po b/i18n/languages/woocommerce-iyzico-tr_TR.po index 27d2591..1efdceb 100755 --- a/i18n/languages/woocommerce-iyzico-tr_TR.po +++ b/i18n/languages/woocommerce-iyzico-tr_TR.po @@ -105,8 +105,8 @@ msgstr "İade Edildi" msgid "Failed" msgstr "Başarısız" -msgid "iyzico Protected Shopping Shipping Tracking" -msgstr "iyzico Korumalı Alışveriş Kargo Takibi" +msgid "iyzico Protected Shopping, Shipping Tracking" +msgstr "iyzico Korumalı Alışveriş, Kargo Takibi" msgid "By entering the shipping tracking number of this order, you can ensure your customer have real time order tracking." msgstr "Siparişin kargo takip numarasını girerek, müşterinizin anlık kargo takibi yapmasını sağlayabilirsiniz." diff --git a/library/iyzico-for-woocommerce-buyer-protection.php b/library/iyzico-for-woocommerce-buyer-protection.php index db7f0f2..b34f39c 100644 --- a/library/iyzico-for-woocommerce-buyer-protection.php +++ b/library/iyzico-for-woocommerce-buyer-protection.php @@ -51,7 +51,7 @@ public static function iyziCargoTracking($order) { -

+