dimanche 9 octobre 2011

Solution de paiement en lign ATOS-SIPS sur serveur mutualisé

Lorsque l'on utilise la solution de paiement en ligne ATOS-SIPS sur un hébergeur comme Viaduc ou OVH avec un serveur mutualisé et pour des raisons de sécurité, les hébergeurs bloquent l'exécution de l'API et obligent l'usage d'une passerelle.
La passerelle, dans certains cas, supprime des caractères essentiels au bon fonctionnement de l'API, d'où la pratique de remplacer les espaces par des &. 

Pour un tuto complet pour la mise en oeuvre de la solution ATOS SIPS de paiement en ligne, je recommande le site : http://thierry-godin.developpez.com/php/atos/.


Call_request appelle normal :
//$parm contient l'ensemble des paramètres de la solution de paiement en ligne à passer au "call_request"
$path_bin = "chemin_du_fichier_call_request";
$result=exec("$path_bin $parm");


Call_request appelle via une passerelle :
//$parm contient l'ensemble des paramètres de la solution de paiement en ligne à passer au "call_request"
$request_path = 'http://www.monsite.fr/cgi-bin/atos-sips/request.cgi?';
$requete = $request_path.$parm;
$result = print(file_get_contents($requete));


La méthode est la même pour accéder aux API auto_response et response

Call_response appelle normal :
$message="message=$HTTP_POST_VARS[DATA]";
$pathfile="pathfile=chemin_du_fichier_pathfile";
$path_bin = "chemin_du_fichier_response";
$result=exec("$path_bin $pathfile $message");

Call_response appelle via une passerelle :
    $message="message=".escapeshellcmd($_POST['DATA']);       
    $pathfile="pathfile=/xxx/xxxx/clients/xxxx/xpay/pathfile";
   
    $parm = $pathfile.'&'.$message;
   
    $requete = 'http://www.monsite.fr/cgi-bin/atos-sips/response.cgi?'.$parm;
    $result = file_get_contents($requete);

2 commentaires:

  1. excuse me, what is the request.cgi about and anyway i can get it?

    RépondreSupprimer
  2. It isan API that manage the secured communication with the banking service. It is provided by the bank company and its IP is owned by ATOS.

    RépondreSupprimer