From: Vincent Vanwaelscappel Date: Thu, 7 Jul 2022 13:09:12 +0000 (+0200) Subject: wait #5349 @1 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=9cd5a34a2c83c750089694eb836d4b76f6191036;p=dtlc.git wait #5349 @1 --- diff --git a/framework/application/controllers/SogecommerceController.php b/framework/application/controllers/SogecommerceController.php index 26114a5..3452b42 100644 --- a/framework/application/controllers/SogecommerceController.php +++ b/framework/application/controllers/SogecommerceController.php @@ -38,12 +38,16 @@ class SogecommerceController extends CubeIT_Controller_PageController } $amounts = DTLC_Util::getDevisAmounts($devis); + $error = ''; + + $am = round($amounts['ttc'] * 100); + $statusesOK = ['AUTHORISED', 'CAPTURED']; if ( - in_array($response['vads_trans_status'], ['AUTHORISED']) && + in_array($response['vads_trans_status'], $statusesOK) && $response['vads_occurrence_type'] === 'UNITAIRE' && $response['vads_currency'] == 978 && - $response['vads_amount'] == $amounts['ttc'] * 100) { + $response['vads_amount'] == $am) { // Conditions pour valider le paiement // reponse = 00 // devis EUR @@ -51,9 +55,24 @@ class SogecommerceController extends CubeIT_Controller_PageController $status = 2; } else { $status = 4; + + $e = []; + if ($response['vads_amount'] != $am) { + $e[] = 'Wrong amount : ' . $response['vads_amount'] . " || " . $am; + } + if (!in_array($response['vads_trans_status'], $statusesOK)) { + $e[] = 'Wrong status : ' . $response['vads_trans_status']; + } + if ($response['vads_currency'] != 978) { + $e[] = 'Wrong currency : ' . $response['vads_currency']; + } + if ($response['vads_occurrence_type'] !== 'UNITAIRE') { + $e[] = 'Wrong occurence type : ' . $response['vads_occurrence_type']; + } + $error = "\n\n" . implode("\n", $e); } - $data = array('infos_paiement' => print_r($response, true), 'date_paiement' => CubeIT_Date::now(), 'status' => $status); + $data = array('infos_paiement' => print_r($response, true) . $error, 'date_paiement' => CubeIT_Date::now(), 'status' => $status); $db->compliantUpdate('devis', $data, array('id = ?' => $devis->id)); if ($status == 2) {