From 83c4b8c0acba32a53dc7192e5960fd4164f4fe86 Mon Sep 17 00:00:00 2001 From: Fatih Toprak Date: Mon, 25 Apr 2022 10:06:54 +0300 Subject: [PATCH] Version 2.9.5 released --- core/library/Moka_Gateway.php | 68 +++++++++++++++++++++++++++++++++-- core/library/Moka_Init.php | 2 +- index.php | 2 +- readme.md | 3 ++ 4 files changed, 70 insertions(+), 5 deletions(-) diff --git a/core/library/Moka_Gateway.php b/core/library/Moka_Gateway.php index 7d7859d..6f6761f 100644 --- a/core/library/Moka_Gateway.php +++ b/core/library/Moka_Gateway.php @@ -468,6 +468,7 @@ public function receipt_page( $orderId ) { global $woocommerce; + $fetchData = self::getHash(['orderId' => $orderId]); $orderDetails = json_decode( data_get($fetchData, 'order_details'), true ); @@ -524,11 +525,22 @@ public function receipt_page( $orderId ) exit; } else { - wc_add_notice('Ödemeniz tahsil edilemedi. Lütfen yeniden deneyiniz.', 'error' ); + $order = new WC_order($orderId); $order->update_status('pending', __('Waiting for user payment.', 'moka-woocommerce')); - $recordParams['result_message'] = __('Waiting for user payment.', 'moka-woocommerce'); - self::saveRecord($recordParams); + + if(isset($_POST) && data_get($_POST, 'resultCode') && data_get($_POST, 'hashValue')) + { + wc_add_notice('Ödemeniz tahsil edilemedi. Lütfen yeniden deneyiniz.', 'notice' ); + echo '
'; + $recordParams['result_message'] = self::errorMessagesWithErrorCodes(data_get($_POST, 'resultCode')); + self::saveRecord($recordParams); + + } else { + wc_add_notice('Ödemeniz tahsil edilemedi. Lütfen yeniden deneyiniz.', 'notice' ); + $recordParams['result_message'] = __('Waiting for user payment.', 'moka-woocommerce'); + self::saveRecord($recordParams); + } } } @@ -782,6 +794,9 @@ private function mokaPosErrorMessages($string) case "PaymentDealer.CheckPaymentDealerAuthentication.InvalidRequest": $errorOutput = "Hatalı hash bilgisi"; break; + case "Limit is insufficient": + $errorOutput = "Kart limitiniz yetersiz."; + break; case "PaymentDealer.RequiredFields.AmountRequired": $errorOutput = "Tutar Göndermek Zorunludur."; break; @@ -821,6 +836,53 @@ private function mokaPosErrorMessages($string) return $errorOutput; } + /** + * Error Codes + * + * @param [string] $code + */ + private function errorMessagesWithErrorCodes($code) + { + $codes = [ + '000' => 'Genel Hata', + '001' => 'Kart Sahibi Onayı Alınamadı', + '002' => 'Kartınızın limiti yetersiz.', + '003' => 'Kredi Kartı Numarası Geçerli Formatta Değil', + '004' => 'Genel Red', + '005' => 'Kart Sahibine Açık Olmayan İşlem', + '006' => 'Kartın Son Kullanma Tarihi Hatali', + '007' => 'Geçersiz İşlem', + '008' => 'Bankaya Bağlanılamadı', + '009' => 'Tanımsız Hata Kodu', + '010' => 'Banka SSL Hatası', + '011' => 'Manual Onay İçin Bankayı Arayınız', + '012' => 'Kart Bilgileri Hatalı - Kart No veya CVV2', + '013' => 'Visa MC Dışındaki Kartlar 3D Secure Desteklemiyor', + '014' => 'Geçersiz Hesap Numarası', + '015' => 'Geçersiz CVV', + '016' => 'Onay Mekanizması Mevcut Değil', + '017' => 'Sistem Hatası', + '018' => 'Çalıntı Kart', + '019' => 'Kayıp Kart', + '020' => 'Kısıtlı Kart', + '021' => 'Zaman Aşımı', + '022' => 'Geçersiz İşyeri', + '023' => 'Sahte Onay', + '024' => '3D Onayı Alındı Ancak Para Karttan Çekilemedi', + '025' => '3D Onay Alma Hatası', + '026' => 'Kart Sahibi Banka veya Kart 3D-Secure Üyesi Değil', + '027' => 'Kullanıcı Bu İşlemi Yapmaya Yetkili Değil', + '028' => 'Fraud Olasılığı', + '029' => 'Kartınız e-ticaret İşlemlerine Kapalıdır', + ]; + + if(in_array($code, array_keys($codes))) { + return $codes[$code]; + } else { + return 'Beklenmeyen bir hata oluştu'; + } + } + /** * Save Installment Rates to DB * diff --git a/core/library/Moka_Init.php b/core/library/Moka_Init.php index 44eb161..fa6b3e3 100644 --- a/core/library/Moka_Init.php +++ b/core/library/Moka_Init.php @@ -3,7 +3,7 @@ exit; } -define('OPTIMISTHUB_MOKA_PAY_VERSION', '2.9.4'); +define('OPTIMISTHUB_MOKA_PAY_VERSION', '2.9.5'); global $mokaVersion; $mokaVersion = OPTIMISTHUB_MOKA_PAY_VERSION; diff --git a/index.php b/index.php index 59deb50..402020c 100644 --- a/index.php +++ b/index.php @@ -3,7 +3,7 @@ * Plugin Name: Moka Payment Gateway for WooCommerce * Plugin URI: https://github.com/optimisthub/moka-woocommerce * Description: Moka Payment gateway for woocommerce - * Version: 2.9.4 + * Version: 2.9.5 * Author: Optimist Hub * Author URI: https://optimisthub.com?ref=mokaPayment * Domain Path: /languages/ diff --git a/readme.md b/readme.md index de5312e..40cc08d 100644 --- a/readme.md +++ b/readme.md @@ -72,6 +72,9 @@ Moka Pos, Moka Pay plugin; ### Changelog +#### Version 2.9.5 +- Issues : Moka api errors on reciept page. + #### Version 2.9.4 - Feature : You can choose what the status of the order will be when your payments are successfully completed. - Issue : Customer notes replaced system notes in order notes.