Fix doublon commande ATOS 1.0 avec retour automatique, Paiment ATOS/SIPS RETOUR AUTO |
Bienvenue invité ( Connexion | Inscription )
Fix doublon commande ATOS 1.0 avec retour automatique, Paiment ATOS/SIPS RETOUR AUTO |
26 Mar 2017, 12:44
Message
#1
|
|
Ceinture orange OSC Groupe : Membres Messages : 191 Inscrit : 18-October 06 Membre no 12709 |
Contributions concernées :
- Paiment ATOS/SIPS RETOUR AUTO : http://addons.oscommerce.com/info/8253 - ATOS v1.0 : http://addons.oscommerce.com/info/8401 Pour les utilisateurs de la contribution "Paiment ATOS/SIPS RETOUR AUTO" (de Brouillard s'embrouille) qui rencontrent un problème de doublon de commande après paiement, je propose une correction qui solutionne définitivement ce bug. Voici des points importants des changements à opérer sur le fichier atos.php (includes/modules/payment/atos.php) : 1. Modification du calcul des décimales du montant encaissé (d’origine il y a une erreur intermittente de 1 centime en défaveur de la boutique par rapport au montant exact de la commande, ceci le corrige) 2. Suppression doublon de commande 3. Modification pour IP v6 (sinon erreur/échec lors du paiement pour les utilisateurs d’IP v6) Dans le fichier atos.php (includes/modules/payment/atos.php), modifier/remplacer la fonction makeRequest à partir de la ligne 375 comme suit : Code // ---------------------------------------------------------------- // makeRequest() // // Make the request by executing the request external application function makeRequest($amount, $currency) { global $customer_id, $_SERVER, $language; // $amount = sprintf("%03d", $amount * $this->_getCurrencyUnit($currency)); $amount = tep_round($amount,2) * $this->_getCurrencyUnit($currency); $pathfile = $this->_getPathFileName(); $command = MODULE_PAYMENT_ATOS_BIN_REQUEST; $command .= " " . $this->os_info['quote'] . "pathfile=" . $pathfile . $this->os_info['quote']; $command .= " merchant_id=" . MODULE_PAYMENT_ATOS_ID; $command .= " amount=" . $amount; $command .= " currency_code=" . $this->_getCurrencyCode(DEFAULT_CURRENCY); $command .= " language=" . $this->_getLanguageCode($language); //Retour automatique a la boutique apres paiement by brouillard s'embrouille $command .= " data=NO_RESPONSE_PAGE"; $command .= " " . $this->os_info['quote'] . "normal_return_url=" . tep_href_link('atos_response.php', '', 'SSL', false) . $this->os_info['quote']; $command .= " " . $this->os_info['quote'] . "cancel_return_url=" . tep_href_link('atos_response.php', '', 'SSL', false) . $this->os_info['quote']; //Fin Retour automatique a la boutique apres paiement by brouillard s'embrouille // BOF Fix doublon commande // $command .= " " . $this->os_info['quote'] . "automatic_response_url=" . tep_href_link(FILENAME_CHECKOUT_PROCESS, tep_session_name() . '=' . tep_session_id(), 'NONSSL', false) . $this->os_info['quote']; $command .= " " . $this->os_info['quote'] . "automatic_response_url=" . tep_href_link(FILENAME_CHECKOUT_PROCESS, '', 'NONSSL', false) . $this->os_info['quote']; // EOF Fix doublon commande $command .= " customer_id=" . $customer_id; // IP V6 fix // $command .= " customer_ip_address=" . $_SERVER['REMOTE_ADDR']; $command .= " customer_ip_address=" . substr($_SERVER['REMOTE_ADDR'], 0, 19); if (!@ini_get("safe_mode")) $command .= ' 2>&1'; $sips_result = exec($command); $sips = array(); $sips_values = preg_split ("/!/", $sips_result); $sips['code'] = $sips_values[1]; $sips['error'] = $sips_values[2]; $sips['message'] = $sips_values[3]; $sips['command'] = $command; $sips['output'] = $sips_result; if (!isset($sips['code'])) { $sips['code'] = -1; $sips['error'] = $sips_result; } if ($sips['code'] != 0) { $sips['amount'] = $amount; $sips['lang'] = $lang; $sips['id'] = tep_session_id(); } return $sips; } Bien évidemment, cette modif préserve le retour automatique à la boutique. Ce message a été modifié par milerwan - 26 Mar 2017, 13:08. -------------------- osCommerce v2.3.4 BS
|
|
Version bas débit | Nous sommes le : 29th March 2024 - 14:42 |
Ce site est déclaré auprès de la commision Nationale de l'Informatique et des Libertés (déclaration n°: 1043896) |