diff --git a/upload/catalog/controller/payment/globalpay.php b/upload/catalog/controller/payment/globalpay.php index 89d4b655116..eb0e3eb1147 100644 --- a/upload/catalog/controller/payment/globalpay.php +++ b/upload/catalog/controller/payment/globalpay.php @@ -134,12 +134,37 @@ public function notify() { $message .= '
' . $this->language->get('text_avs_address') . ': ' . $this->request->post['AVSADDRESSRESULT']; } - if (isset($this->request->post['ECI']) && !empty($this->request->post['ECI'])) { - if ($this->request->post['ECI'] == 6 && (!isset($this->request->post['CAVV']) || empty($this->request->post['CAVV'])) && (!isset($this->request->post['XID']) || empty($this->request->post['CAVV']))) { - $this->request->post['ECI'] = 1; + //3D Secure message + if (isset($this->request->post['ECI']) && isset($this->request->post['CAVV']) && isset($this->request->post['XID'])) { + $eci = $this->request->post['ECI']; + + if (($this->request->post['ECI'] == 6 || $this->request->post['ECI'] == 1) && empty($this->request->post['CAVV']) && empty($this->request->post['XID'])) { + $scenario_id = 1; } - $message .= '
' . $this->language->get('text_eci') . ': (' . $this->request->post['ECI'] . ') ' . $this->language->get('text_3d_s' . $this->request->post['ECI']); + if (($this->request->post['ECI'] == 5 || $this->request->post['ECI'] == 0) && !empty($this->request->post['CAVV']) && !empty($this->request->post['XID'])) { + $scenario_id = 5; + } + + if (($this->request->post['ECI'] == 6 || $this->request->post['ECI'] == 1) && !empty($this->request->post['CAVV']) && !empty($this->request->post['XID'])) { + $scenario_id = 6; + } + + if (isset($scenario_id)) { + $scenario_message = $this->language->get('text_3d_s' . $scenario_id); + } else { + if (isset($this->request->post['CARDTYPE'])) { + if ($this->request->post['CARDTYPE'] == 'VISA') { + $eci = 7; + } else { + $eci = 2; + } + } + + $scenario_message = $this->language->get('text_3d_liability'); + } + + $message .= '
' . $this->language->get('text_eci') . ': (' . $eci . ') ' . $scenario_message; } if ($tss == 1 && isset($this->request->post['TSS'])) { diff --git a/upload/catalog/controller/payment/realex.php b/upload/catalog/controller/payment/realex.php index b7ce7a6a42b..e5e8387f4d0 100644 --- a/upload/catalog/controller/payment/realex.php +++ b/upload/catalog/controller/payment/realex.php @@ -134,12 +134,37 @@ public function notify() { $message .= '
' . $this->language->get('text_avs_address') . ': ' . $this->request->post['AVSADDRESSRESULT']; } - if (isset($this->request->post['ECI']) && !empty($this->request->post['ECI'])) { - if ($this->request->post['ECI'] == 6 && (!isset($this->request->post['CAVV']) || empty($this->request->post['CAVV'])) && (!isset($this->request->post['XID']) || empty($this->request->post['CAVV']))) { - $this->request->post['ECI'] = 1; + //3D Secure message + if (isset($this->request->post['ECI']) && isset($this->request->post['CAVV']) && isset($this->request->post['XID'])) { + $eci = $this->request->post['ECI']; + + if (($this->request->post['ECI'] == 6 || $this->request->post['ECI'] == 1) && empty($this->request->post['CAVV']) && empty($this->request->post['XID'])) { + $scenario_id = 1; } - $message .= '
' . $this->language->get('text_eci') . ': (' . $this->request->post['ECI'] . ') ' . $this->language->get('text_3d_s' . $this->request->post['ECI']); + if (($this->request->post['ECI'] == 5 || $this->request->post['ECI'] == 0) && !empty($this->request->post['CAVV']) && !empty($this->request->post['XID'])) { + $scenario_id = 5; + } + + if (($this->request->post['ECI'] == 6 || $this->request->post['ECI'] == 1) && !empty($this->request->post['CAVV']) && !empty($this->request->post['XID'])) { + $scenario_id = 6; + } + + if (isset($scenario_id)) { + $scenario_message = $this->language->get('text_3d_s' . $scenario_id); + } else { + if (isset($this->request->post['CARDTYPE'])) { + if ($this->request->post['CARDTYPE'] == 'VISA') { + $eci = 7; + } else { + $eci = 2; + } + } + + $scenario_message = $this->language->get('text_3d_liability'); + } + + $message .= '
' . $this->language->get('text_eci') . ': (' . $eci . ') ' . $scenario_message; } if ($tss == 1 && isset($this->request->post['TSS'])) { diff --git a/upload/catalog/language/english/payment/globalpay.php b/upload/catalog/language/english/payment/globalpay.php index 3c144f093ca..e25439db131 100644 --- a/upload/catalog/language/english/payment/globalpay.php +++ b/upload/catalog/language/english/payment/globalpay.php @@ -39,6 +39,7 @@ $_['text_3d_s8'] = 'Authentication Unavailable, no liability shift'; $_['text_3d_s9'] = 'Invalid Response From ACS, no liability shift'; $_['text_3d_s10'] = 'RealMPI Fatal Error, no liability shift'; +$_['text_3d_liability'] = 'No Liability Shift'; $_['text_card_visa'] = 'Visa'; $_['text_card_mc'] = 'Mastercard'; $_['text_card_amex'] = 'American Express'; diff --git a/upload/catalog/language/english/payment/realex.php b/upload/catalog/language/english/payment/realex.php index 7d4fcef0543..fce66406f71 100644 --- a/upload/catalog/language/english/payment/realex.php +++ b/upload/catalog/language/english/payment/realex.php @@ -39,6 +39,7 @@ $_['text_3d_s8'] = 'Authentication Unavailable, no liability shift'; $_['text_3d_s9'] = 'Invalid Response From ACS, no liability shift'; $_['text_3d_s10'] = 'RealMPI Fatal Error, no liability shift'; +$_['text_3d_liability'] = 'No Liability Shift'; $_['text_card_visa'] = 'Visa'; $_['text_card_mc'] = 'Mastercard'; $_['text_card_amex'] = 'American Express';