Bonjour,
Bonjour à tous
J'ai un site en oscommerce et dans mon admin j'ai un module nommé Atos board
Atos board sert a recupéré les journaux de fond afin de recupéré le nom du client, de verifier les perte de commandes. Ces journaux de fond étais en format xls mais malheureusement le format à changer en csv.
Cette modification rend inutilisable atos bord donc j'assaye de le modifier et je travail sur un bout de code depuis 1 semaine
$row = 1;
$handle = fopen("$tmp_file", "rb");
while (($lines = fgetcsv($handle, 0, ",")) !== FALSE) {
echo $header;
foreach($lines as $field)
{
// Post-format
//
if ( $i++ % 2 ) $line_format = str_replace("CLASS", "dataTableatos", $origin_line_format);
else $line_format = str_replace("CLASS", "dataTableatos", $origin_line_format);
// Tout va bien !
//
$error_flag = false;
$val = explode("\t", $field);
// On saute les entêtes ...
//
if ( $val[0] != "TRANSACTION" ) continue;
// Valeurs du journal ATOS
//
$entete = $val[0];
$transaction_id = $val[1];
$merchant_id = $val[2];
$payment_means = $val[3];
$origin_amount = $val[4];
$amount = $val[5];
$payment_date = $val[18];
$payment_time = $val[8];
$card_validity = $val[9];
$card_type = $val[10];
$card_number = $val[11];
$response_code = $val[12];
$cvv_response_code = $val[13];
$complementary_code = $val[14];
$certificate = $val[15];
$authorization_id = $val[16];
$capture_date = $val[17];
$transaction_status = $val[7];
$return_context = $val[19];
$autoresponse_status = $val[20];
$atos_order_id = $val[21];
$atos_customer_id = $val[22];
$customer_ip_address = $val[23];
$account_serial = $val[24];
$session_id = $val[25];
$transaction_condition = $val[26];
$cavv_ucaf = $val[27];
$complementary_info = $val[28];
$bank_response_code = $val[29];
// Post-traitements afin d'obtenir des équivalences entre les valeurs ATOS/osC
//
$payment_date = preg_replace('/([0-9]{4})([0-9]{2})([0-9]{2})/', '\1-\2-\3', $payment_date);
$payment_time = preg_replace('/([0-9]{2})([0-9]{2})([0-9]{2})/', '\1:\2:\3', $payment_time);
$card_number = preg_replace('/([0-9]{4}).([0-9]{2})/', '\1 #### #### ##\2', $card_number);
$amount = (float)($amount / 100);
Pour le moment ce code ne marche pas et je ne vois pas bien ou ce trouve mon erreur donc si quelqu'un connais la réponse merci d'avance.
Afficher la suite