Module Banque
De Hegyd Doc.
| Ligne 1 : | Ligne 1 : | ||
| + | Ci dessous la liste des modification à effectuer pour chaque module de banque par CMS : | ||
| + | |||
== Prestashop == | == 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]; | ||
[[Catégorie:Support Viaduc]] | [[Catégorie:Support Viaduc]] | ||
Version du 2 janvier 2012 à 10:28
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];
