Bonjour
Je suis entrain d'installer le paiement securisé mercanet/atos de la bnp sur hebergement mutualisé OVH Pro.
J'ai suivi le read me du plugin atos mais les commandes sont toujours marquée non-payé. (Je suis en phase de test avec le kit fourni par la banque)
Est ce que quel qu'un a déja installé ce module de paiement et aurait trouvé la solution?
Voila le contenu de mon fichier confirmation.php
<?php
foreach ($_POST as $key => $value) $$key = $value;
foreach ($_GET as $key => $value) $$key = $value;
?>
<?php
include_once("../../../classes/Commande.class.php");
include_once("../../../fonctions/divers.php");
$commande = new Commande();
// Récupération de la variable cryptée DATA
$DATA = escapeshellcmd($_POST["DATA"]);
$message="message=$DATA";
// Initialisation du chemin du fichier pathfile (à modifier)
// ex :
// -> Windows : $pathfile="pathfile=c:\\repertoire\\pathfile"
// -> Unix : $pathfile="pathfile=/home/repertoire/pathfile"
//
// Cette variable est facultative. Si elle n'est pas renseignée,
// l'API positionne la valeur à "./pathfile".
$pathfile="pathfile=conf/pathfile";
//Initialisation du chemin de l'executable response (à modifier)
//ex :
//-> Windows : $path_bin = "c:\\repertoire\\bin\\response"
//-> Unix : $path_bin = "/home/repertoire/bin/response"
//
$path_bin = "bin/response";
// Appel du binaire response
$result=exec("$path_bin $pathfile $message");
// Sortie de la fonction : !code!error!v1!v2!v3!...!v29
// - code=0 : la fonction retourne les données de la transaction dans les variables v1, v2, ...
// : Ces variables sont décrites dans le GUIDE DU PROGRAMMEUR
// - code=-1 : La fonction retourne un message d'erreur dans la variable error
// on separe les differents champs et on les met dans une variable tableau
$tableau = explode ("!", $result);
$code = $tableau[1];
$error = $tableau[2];
$merchant_id = $tableau[3];
$merchant_country = $tableau[4];
$amount = $tableau[5];
$transaction_id = $tableau[6];
$payment_means = $tableau[7];
$transmission_date= $tableau[8];
$payment_time = $tableau[9];
$payment_date = $tableau[10];
$response_code = $tableau[11];
$payment_certificate = $tableau[12];
$authorisation_id = $tableau[13];
$currency_code = $tableau[14];
$card_number = $tableau[15];
$cvv_flag = $tableau[16];
$cvv_response_code = $tableau[17];
$bank_response_code = $tableau[18];
$complementary_code = $tableau[19];
$complementary_info = $tableau[20];
$return_context = $tableau[21];
$caddie = $tableau[22];
$receipt_complement = $tableau[23];
$merchant_language = $tableau[24];
$language = $tableau[25];
$customer_id = $tableau[26];
$order_id = $tableau[27];
$customer_email = $tableau[28];
$customer_ip_address = $tableau[29];
$capture_day = $tableau[30];
$capture_mode = $tableau[31];
$data = $tableau[32];
$commande->charger_trans($transaction_id);
if($response_code == "00"){
$commande->statut = 2;
$commande->genfact();
}
$commande->maj();
modules_fonction("confirmation", $commande);
// Initialisation du chemin du fichier de log (à modifier)
// ex :
// -> Windows : $logfile="c:\\repertoire\\log\\logfile.txt";
// -> Unix : $logfile="/home/repertoire/log/logfile.txt";
//
$logfile="/homez.xxx/login/www/client/plugins/atos/log.txt";
// Ouverture du fichier de log en append
$fp=fopen($logfile, "a");
// analyse du code retour
fputs($fp, "code $customer_ip_address \n");
if (( $code == "" ) && ( $error == "" ) )
{
fwrite($fp, "erreur appel response\n");
print ("executable response non trouve $path_bin\n");
}
// Erreur, sauvegarde le message d'erreur
else if ( $code != 0 ){
fwrite($fp, " API call error.\n");
fwrite($fp, "Error message : $error\n");
}
else {
// OK, Sauvegarde des champs de la réponse
fwrite( $fp, "merchant_id : $merchant_id\n");
fwrite( $fp, "merchant_country : $merchant_country\n");
fwrite( $fp, "amount : $amount\n");
fwrite( $fp, "transaction_id : $transaction_id\n");
fwrite( $fp, "transmission_date: $transmission_date\n");
fwrite( $fp, "payment_means: $payment_means\n");
fwrite( $fp, "payment_time : $payment_time\n");
fwrite( $fp, "payment_date : $payment_date\n");
fwrite( $fp, "response_code : $response_code\n");
fwrite( $fp, "payment_certificate : $payment_certificate\n");
fwrite( $fp, "authorisation_id : $authorisation_id\n");
fwrite( $fp, "currency_code : $currency_code\n");
fwrite( $fp, "card_number : $card_number\n");
fwrite( $fp, "cvv_flag: $cvv_flag\n");
fwrite( $fp, "cvv_response_code: $cvv_response_code\n");
fwrite( $fp, "bank_response_code: $bank_response_code\n");
fwrite( $fp, "complementary_code: $complementary_code\n");
fwrite( $fp, "complementary_info: $complementary_info\n");
fwrite( $fp, "return_context: $return_context\n");
fwrite( $fp, "caddie : $caddie\n");
fwrite( $fp, "receipt_complement: $receipt_complement\n");
fwrite( $fp, "merchant_language: $merchant_language\n");
fwrite( $fp, "language: $language\n");
fwrite( $fp, "customer_id: $customer_id\n");
fwrite( $fp, "order_id: $order_id\n");
fwrite( $fp, "customer_email: $customer_email\n");
fwrite( $fp, "customer_ip_address: $customer_ip_address\n");
fwrite( $fp, "capture_day: $capture_day\n");
fwrite( $fp, "capture_mode: $capture_mode\n");
fwrite( $fp, "data: $data\n");
fwrite( $fp, "-------------------------------------------\n");
}
fclose ($fp);
?>
le fichier pathfile n'est pas modifié
le certificat et paramcom en 755
paramcode.18729623693
###############################################################################
#
# Fichier des paramètres du commercant
#
# Remarque : Ce fichier paramètre est sous la responsabilité du
# commercant
#
###############################################################################
# URL de retour automatique de la reponse du paiement
#AUTO_RESPONSE_URL!http://www.lesite.com/client/plugins/atos/confirmationtoto.php!
# URL de retour suite a paiement refuse
CANCEL_URL!http://www.lesite.com/regret.php!
# URL de retour suite a paiement accepte
RETURN_URL!http://www.lesite.com/merci.php!
# Code devise ( 978=EURO )
CURRENCY!978!
# Logo du commercant
LOGO2!commercant.gif!
# Liste des moyens de paiement acceptés
PAYMENT_MEANS!CB,2,VISA,2,MASTERCARD,2!
# END OF FILE
Est ce qu'il faut modifier quelquechose dans paiement.php?
merci pour votre aide
Patbonf