Module Banque

De Hegyd Doc.

(Différences entre les versions)
Ligne 3 : Ligne 3 :
== Prestashop ==
== Prestashop ==
-
Remplacer le code ci-dessous de la fonction '''private function getAtosForm($cart)''' :
+
Remplacer le code ci-dessous de la fonction "'''private function getAtosForm($cart)''' :"
-
        // Do not add \n or something else
+
<pre>
-
        $parm = 'merchant_id='.Configuration::get('ATOS_MERCHANT_ID').' language='.$lang->iso_code.' customer_id='.intval($cart->id_customer).' caddie='.intval($cart->id).' merchant_country=fr amount='.(int)round(sprintf('%f', $cart->getOrderTotal() * 100)).' currency_code='.$currency_num.' pathfile="'.dirname(__FILE__).'/pathfile" normal_return_url="'.$returnPage.'" cancel_return_url="'.$cancelPage.'" automatic_response_url="'.$ipnPage.'" customer_ip_address='.$_SERVER['REMOTE_ADDR'].$redirect;
+
// Do not add \n or something else
 +
$parm = 'merchant_id='.Configuration::get('ATOS_MERCHANT_ID').' language='.$lang->iso_code.' customer_id='.intval($cart->id_customer).' caddie='.intval($cart->id).' merchant_country=fr amount='.(int)round(sprintf('%f', $cart->getOrderTotal() * 100)).' currency_code='.$currency_num.' pathfile="'.dirname(__FILE__).'/pathfile" normal_return_url="'.$returnPage.'" cancel_return_url="'.$cancelPage.'" automatic_response_url="'.$ipnPage.'" customer_ip_address='.$_SERVER['REMOTE_ADDR'].$redirect;
-
        if (!$result = exec(Configuration::get('ATOS_BIN_DIR').'request '.$parm))
+
if (!$result = exec(Configuration::get('ATOS_BIN_DIR').'request '.$parm))
-
            return $this->l('Atos error: can\'t execute binary');
+
    return $this->l('Atos error: can\'t execute binary');
-
        $resultArray = explode('!', $result);
+
$resultArray = explode('!', $result);
-
        if ($resultArray[1] == -1)                                                                                                                                                                                                           
+
if ($resultArray[1] == -1)                                                                                                                                                                                                           
-
            return $this->l('Atos error:').' '.$resultArray[2];
+
    return $this->l('Atos error:').' '.$resultArray[2];
-
        elseif (!isset($resultArray[3]))
+
elseif (!isset($resultArray[3]))
-
            return $this->l('Atos error: can\'t execute request');
+
    return $this->l('Atos error: can\'t execute request');
-
        return $resultArray[3];
+
 
 +
return $resultArray[3];
 +
</pre>
Par ce qui suit :
Par ce qui suit :
 +
<pre>
$parm = 'merchant_id='.Configuration::get('ATOS_MERCHANT_ID').' language='.$lang->iso_code.' customer_id='.intval($cart->id_customer).' caddie='.intval($cart->id).' merchant_country=fr amount='.(int)round(sprintf('%f', $cart->getOrderTotal() * 100)).' currency_code='.$currency_num.' pathfile="'.urlencode( dirname(__FILE__).'/pathfile').'" normal_return_url="'.urlencode( $returnPage).'" cancel_return_url="'.urlencode( $cancelPage).'" automatic_response_url="'.urlencode( $ipnPage).'" customer_ip_address='.$_SERVER['REMOTE_ADDR'].' '.urlencode($redirect);
$parm = 'merchant_id='.Configuration::get('ATOS_MERCHANT_ID').' language='.$lang->iso_code.' customer_id='.intval($cart->id_customer).' caddie='.intval($cart->id).' merchant_country=fr amount='.(int)round(sprintf('%f', $cart->getOrderTotal() * 100)).' currency_code='.$currency_num.' pathfile="'.urlencode( dirname(__FILE__).'/pathfile').'" normal_return_url="'.urlencode( $returnPage).'" cancel_return_url="'.urlencode( $cancelPage).'" automatic_response_url="'.urlencode( $ipnPage).'" customer_ip_address='.$_SERVER['REMOTE_ADDR'].' '.urlencode($redirect);
Ligne 30 : Ligne 34 :
$resultArray = explode('!', $result);
$resultArray = explode('!', $result);
return $resultArray[0];
return $resultArray[0];
 +
</pre>
[[Catégorie:Support Viaduc]]
[[Catégorie:Support Viaduc]]

Version du 2 janvier 2012 à 10:31

Ci dessous la liste des modification à effectuer pour chaque module de banque par CMS :

Prestashop

Remplacer le code ci-dessous de la fonction "private function getAtosForm($cart) :"

// Do not add \n or something else
$parm = 'merchant_id='.Configuration::get('ATOS_MERCHANT_ID').' language='.$lang->iso_code.' customer_id='.intval($cart->id_customer).' caddie='.intval($cart->id).' merchant_country=fr amount='.(int)round(sprintf('%f', $cart->getOrderTotal() * 100)).' currency_code='.$currency_num.' pathfile="'.dirname(__FILE__).'/pathfile" normal_return_url="'.$returnPage.'" cancel_return_url="'.$cancelPage.'" automatic_response_url="'.$ipnPage.'" customer_ip_address='.$_SERVER['REMOTE_ADDR'].$redirect;

if (!$result = exec(Configuration::get('ATOS_BIN_DIR').'request '.$parm))
    return $this->l('Atos error: can\'t execute binary');

$resultArray = explode('!', $result);
if ($resultArray[1] == -1)                                                                                                                                                                                                           
    return $this->l('Atos error:').' '.$resultArray[2];
elseif (!isset($resultArray[3]))
    return $this->l('Atos error: can\'t execute request');

return $resultArray[3];

Par ce qui suit :

$parm = 'merchant_id='.Configuration::get('ATOS_MERCHANT_ID').' language='.$lang->iso_code.' customer_id='.intval($cart->id_customer).' caddie='.intval($cart->id).' merchant_country=fr amount='.(int)round(sprintf('%f', $cart->getOrderTotal() * 100)).' currency_code='.$currency_num.' pathfile="'.urlencode( dirname(__FILE__).'/pathfile').'" normal_return_url="'.urlencode( $returnPage).'" cancel_return_url="'.urlencode( $cancelPage).'" automatic_response_url="'.urlencode( $ipnPage).'" customer_ip_address='.$_SERVER['REMOTE_ADDR'].' '.urlencode($redirect);

$parm = preg_replace( '/ /', '&', trim($parm));
$parm = preg_replace( '/"/', '', $parm);

if (!$result = file_get_contents( 'http://'.htmlspecialchars($_SERVER['HTTP_HOST'], ENT_COMPAT, 'UTF-8').__PS_BASE_URI__.'cgi-bin/mercanet-request.cgi?'.$parm))
     return $this->l('Atos error: can\'t execute binary');

$resultArray = explode('!', $result);
return $resultArray[0];