PDA

Voir la version complète : autoresponse.cgi d'ovh


Malkie
12/10/2006, 14h53
quelqu'un a-t'il déjà utiliser le autoresponse.cgi d'ovh
je n'arrive pas à le configurer et je crois que la hotline ne sait pas non plus ...


help !

amadeus
12/10/2006, 16h54
Qu'est-ce que ta question fait dans la section paiement sécurisé ??

Malkie
12/10/2006, 17h00
c'est parce qu'il s'agit de l'installation du kit d'ovh pour le paiement sécorisé tout simplement

cyclope
14/10/2006, 13h11
Je ne sais pas s'il s'agit d'un probléme lié au script autoresponse.cgi d'ovh car je ne connais pas le script d'ovh. Par contre les tests que j'ai effectués indiquent que le script autoresponse n'a rien à voir avec le probléme.

Je suis en train d'installer le kit E-transactions pour un client. Je constate simplement que le script autoresponse.php n'est même pas interrogé en mode de réponse automatique alors qu'il l'est en mode de réponse normal (si le client clique sur "Retour à la boutique" aprés transaction).
Il s'agit là d'un probléme de communication de serveur à serveur entre le serveur de la banque et le serveur OVH.
Les logs sur le serveur de la banque ont été vérifié avec le support technique d'E-transaction et le statut de la réponse aprés transaction est bien à SENT ce qui signifie que la réponse a bien été reçue par le serveur OVH.
Conclusion : En mode communication serveur/serveur, quelque chose "coince" l'accés au script autoresponse.php et la réponse automatique chez OVH.
De mon côté, le probléme est signalé et reste en attente d'informations et de résolution.

J'ai installé maintes fois les différents kits de paiement sur les serveurs mutualisés d'ovh sans aucun soucis. Ce qui est moins drôle, c'est que si cette anomalie est généralisée sur tous les serveurs OVH, tous les kits installés doivent avoir le même probléme.

Tolly
14/10/2006, 15h35
l'url de la reponse automatique est envoie en crypte sur le serveur de la banque lors du clic sur l'image de CB. Le URL doit etre dans la variable : "automatic_response_url" pour tester on peux ajouter n'importe quelle lien, mais pour verifier que cella fonction ( pas de navigateur ) il faut crée un script qui ecrit par exemple un fichier log sur le disque.

cyclope
14/10/2006, 18h16
Cela a été bien compris Tolly.
Tout ce qui était faisable a été essayé de mon côté et aussi du côté du support technique d'E-transactions. Aprés des heures de communication, le résultat est qu'aucun probléme n'est rencontré du côté de E-transactions et tout converge vers une anomalie sur le serveur d'OVH.
Si la source du probléme était dans un script ou un mauvais paramétre, y a longtemps qu'il serait réglé.
Depuis la premiére installation l'URL de réponse automatique est indiqué dans la variable : "automatic_response_url".
Pour aller un peu plus loin, j'ai aussi indiqué l'URL du script autoresponse.php à "normal_return_url".
Je précise que le script autoresponse.php ne contient plus qu'un simple email envoyé à moi-même.
Force est de constater que celui-ci est correctement interrogé en réponse manuelle alors qu'il ne l'est pas en réponse automatique !

Bref, en mode de réponse automatique, la communication serveur banque/serveur OVH ne se fait pas et rien ne fonctionne.

Tolly
15/10/2006, 15h50
Je ne sais pas qua dire mais chez moi ca fonctione avec Cyberplus. Vu que les 2 utilise els solution Atos si il n'y a pas l'apelle du script ca vien forcement de la banque.

cyclope
15/10/2006, 17h19
Je doute fort que le probléme vienne du serveur de la banque car comme écrit précédemment : "Les logs sur le serveur de la banque ont été vérifié avec le support technique d'E-transaction et le statut de la réponse aprés transaction est bien à SENT ce qui signifie que la réponse a bien été reçue par le serveur OVH."
Concernant ce probléme, je n'ai aucun retour des clients ovh à qui j'ai installé ce kit. Peut-être s'agit-il d'une anomalie sur le serveur hébergeant le domaine...
Je n'ai aucune certitudes, ne suis pas expert en commnunication serveur/serveur et ma démarche ne suis qu'une logique appuyée par une série de tests.
Ce dont je suis certain, c'est que ce probléme me prend un temps précieux et que nous attendons une réponse d'ovh (avec qui la communication est des plus difficiles) sur les traces des appels reçus sur le serveur hébergeant le domaine.

Malkie
16/10/2006, 08h46
je galere toujours ...mainetnant j'arrive à appeler la page de reponse automatique mais impossible de lire les données à l'interrieur .. j'ai juste besoin de l'id-order ... mon script fonctionne si je mets un $id-oder = 19; mais sinon rien ... pourtant c'est le script de la banque



J'ai mis le script dans mon répertoire cgi-bin (je suis chez ovh en mutualisé) . Et voici mon code :

$message="message=$DATA";
$login = "casamalk";
$path_bin = "/home/casamalk/cgi-bin/response.cgi";
$result=exec($path_bin.$message);

$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];
$return_context = $tableau[20];
$caddie = $tableau[21];
$receipt_complement = $tableau[22];
$merchant_language = $tableau[23];
$language = $tableau[24];
$customer_id = $tableau[25];
$order_id = $tableau[26];
$customer_email = $tableau[27];
$customer_ip_address = $tableau[28];
$capture_day = $tableau[29];
$capture_mode = $tableau[30];
$data = $tableau[31];
?>

En fait ce bout de code doit lire le numero de commande et après je me debrouille
malheureusement ... le champs id-order est toujours vide ...
voyez vous où je peux bien me tromper ?

Tolly
16/10/2006, 10h05
C'est normal.
Lors que tu envoie les valeurs vers la banque tu doit donner a la variable order_id ( je ne sais pas pour quei tu a $id-oder dans la doc c'est order_id) ne nr de la commande ( generée par toi ) Pour cette variable se serveur de la banque ne fait rien d'autre que te retourner la valeur qui lui a été envoie.

En tout cas dans moi j'ai 32 variable donc une plus que toi. Si l'erreur est la, c'est que tu verifie pas la bonne varaible. En fin c'est une piste... Voici mes variable utilise :

$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];

Chez toi il n'y a pas "$complementary_info= $tableau[20];" et à partir de la c'est otu decalée. Mais si ton code viens de la banque je ne comprend pas..

Malkie
16/10/2006, 10h11
merci pour ta réponse !
en fait la banque m'a conseillée de mettre la réponse automatique à la place de la réponse manuelle
et sans rien toucher le script marche parfaitement ... $order_id est lu, je reçois mon mail , le client aussi et la base sql est modifiée.

par contre quand le script est en réponse automatique il n'arrive pas à lire les variables .
JE viens d'envoyer un mail au support pour savoir s'il n'y a pas des droits à modifier sur el serveur ... peut etre .... j'espere que c'est çà

Tolly
16/10/2006, 10h39
Ca resemble avec le probleme de cyclope...
Un question vous avez pris tout les 2 l'option de payement CHEZ OVH pour faire ca ? Et dans tout exemple donée ici vous l'utilisée ?

Malkie
16/10/2006, 10h48
oui j'ai installé le kit d'ovh (avec du mal mais c'est fait)
apres le kit il n'y quasiement zero explication et pour la réponse automatique je me suis inspiré des scripts de la banque .. et çà marche puisque si je mets mon script prévu en réponse auto en réponse manuelle tout va bien ...
et quand je remet le script en réponse auto, je reçois un mail non complété ...
j'ai l'impression que çà vient du serveur , de ce que l'on peut ou pas faire sur le serveur

Malkie
16/10/2006, 10h53
j'ai envoyé un mail à la hotline de cyberplus et un aussi à celle d'ovh ... j'espere que je vais avoir une réponse :-(

Tolly
16/10/2006, 11h08
essaie de changer le nombre des variable avec ma liste et fait un test ca ne coute rien...

$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];

Malkie
16/10/2006, 11h29
je viens de tester ... cela ne change rien

domage que cyclope ne passe plus sur le site ... il a l'air d'avoir trouver la solution

Tolly
16/10/2006, 11h42
Apparament le probleme viens des scripts OVH. Ja solution c'est de ne pas utiliser leur Kit.

cyclope
16/10/2006, 12h37
Apparament le probleme viens des scripts OVH. Ja solution c'est de ne pas utiliser leur Kit.

Aucune solution en vue pour le moment...
Pour ma part, je n'ai jamais utilisé les scripts OVH mais toujours les kits fournis par la banque.

Tolly
16/10/2006, 12h39
Moi non plus je n'utilise pas le KIt OVH. Pour quai payer 150 € pour avoir plus des problemes...

cyclope
16/10/2006, 12h45
Apparemment, le probléme n'est pas un probléme de script mais de communication entre le serveur de la banque et le serveur OVH.
Mais dans l'attente, je dis ça et je dis rien...

Tolly
16/10/2006, 13h55
just pour voir sur quelle plan vous fait les tests...

cyclope
16/10/2006, 14h41
Le client est sur un 90Plan.

Malkie
18/10/2006, 12h49
ayez tout marche de mon coté ... j'ai bien galéré mais çà marche .. d'installations en cafouillage le système est opérationnel .. il reste à faire venir les visiteurs maintenant :)
si vous avez le temps ... http://www.casamalkie.fr
et merci pour votre aide précieuse

Mystic260
31/10/2006, 09h07
hello,
je galère un peu sur la mise en place également.
tu pourrais nous donner ta soluce pour l'autoreponse ?

merci d'avance.

Malkie
31/10/2006, 10h32
bonjour,
est ce toi qui m'a envoyé un mail ?
cdt
MAlkie

Mystic260
31/10/2006, 10h56
tout à fait :D

Mystic260
31/10/2006, 11h51
en fait c'est plus le fonctionnement de leur response.cgi qui me chagrine, aucune info, aucune doc rien.
quand j'utilise cyberplus en direct, c'est config en 1h et basta, là c'est vraiement à chier leur truc à deux balles...

donc si tu as un bout de code qui utilise le response.cgi ça m'interresse.
le auto aussi :)
merci d'avance.

Mystic260
02/11/2006, 15h45
Problème résolu rapidement avec la hotline et en ayant les bonnes infos....

En fait, il faut demander la création d'un compte sur paiesec2 et non paiesec sinon effectivement ça ne peut pas fonctionner.

Un install.sh est à votre disposition par la suite.
1ere etape :
passer le kit en mode test
entrer les bonnes infos

2e etape :
creer le fichier certif sur ce compte, entrer le certif
sauvegarder ^^

3e etape:
relancer le script install.sh en utilisant le mode pré-production

à partir de la tout fonctionne correctement.
Le fichier autoreponse que vous créez reçoit des infos en _POST
et le fichier manuel de retour en _GET

Voilà si vous avez des soucis n'hésitez pas à me demander.

Ps : c'est de bien mettre que vous avez trouver la soluce (pour certains), mettre la manip est nettement mieux et fait gagner du temps à tout le monde.

scarabus
28/11/2006, 10h30
J'ai trouver une différence de fonctionnement entre les excecutables d'OVH et ceux de ATOS :
Chez OVH les fichiers sont: sips_response, sips_request, et sips_autoresponse(?)
ils acceptent des parametres tel que :
./sips_request param1 param2 param3 etc ....

Les scripts fournit par ATOS sont : request et response
ils acceptent des parametres tel que :
./request nom_param1=valeur_param1 nom_param2=valeur_param2 etc


==> J'UTILISE LES SCRIPTS D'ATOS ( au moins j'ai le minimum de support de la part de Mercanet ... )

Tips N°1 : mettre tout dans un tableau: ( dans les 3 fichiers resp autoresp requ)
$ar['code'] = $tableau[1];
$ar['error'] = $tableau[2];
$ar['merchant_id'] = $tableau[3];
.........
.........
// mise en ligne au format Nom=Valeur
foreach ( $ar as $nom => $v )
{
if ( $v !="" ) $line .= "&".$nom."=".$v ;
}

TipsN°2 : envoie de la response : en php avec HEADER
$redir="Location: ".$REMOTE_URL."?osCsid=".$ar['caddie'];
header($redir);

Tips N°3 : autoresponse avec LWP :
$redir = $autoresponsepath."?".$line ;
exec ("lwp-request \"$redir\" ");

Yeepie
21/02/2007, 18h45
Bonjour, je relance ce topic pour confirmer les propos de Cyclope :
La réponse automatique ne s'exécute pas en communication serveur/serveur sur dédié OVH.

Pour exemple, si dans le paramétrage de l'API de paiement ATOS (donc, plus ou moins quelle que soit la banque...) je précise l'exécution de la réponse automatique (call_autoresponse) en remplacement de la réponse manuelle (call_response), alors, call_autoresponse est bien exécuté et effectue toutes les tâches qu'on lui demande (mais on l'affiche dans le navigateur, ce qui n'est pas prévu au contraire de call_response qui est fait pour ça). Ce n'est donc en aucun cas un problème de script.

Pour ma part, j'utilise en général la réponse automatique pour effectuer des traitements sur une base de données ainsi qu'un envoi d'email (utilisation normale de la réponse automatique selon les préconisation d'ATOS).

Il me parait évident que nous avons affaire à un problème de stratégie de sécurité sur une partie du domaine OVH qui, par ses restrictions, n'autorise pas ce type de communication entre deux machines (domaines différents)

Si je peux lire ici ou là qu'OVH semble faire preuve d'une faible réactivité sur ce problème, cela ne m'étonne toutefois pas vraiment. En effet, OVH propose des services de paiement sécurisés qui répondent certainement au problème et ne remettent pas en cause la stratégie de sécurité citée plus haut. Alors, quel interet de débloquer des solutions où OVH ne gagne rien (mais pourrait gagner) ?

Cette stratégie me parait contestable dans la mesure ou la location d'un serveur dédié ne devrait pas imposer de restrictions que l'on ne rencontre même pas sur certains hébergements mutualisés.

Dans la série, je peux citer aussi la version 600 de l'API ATOS dont même les commerciaux vous disent qu'elle n'est pas compatible avec OVH.

On stagne donc sur la 500...

J'arrète là mon monologue en disant que je suis également bloqué sur cette réponse automatique et finis en disant que croiser les doigts pour que mon visiteur clique sur le bouton "retour à la boutique" ne me suffit malheureusement pas.

Trouvera-t-on une solution ?

QG218-OVH
15/04/2007, 15h48
Le champ qui manque montre qu'il y a une différence de version dans l'API ATOS (versions 5 et version 6 où cette variable supplémentaire est apparue).

Pour ma part je n'arrive pas à appeler le call_request.php depuis mon formulaire :

action="\home\compte\cgi-bin\call_request.php?<paramètres>" ne fonctionne pas et j'aimerais savoir quel contournement utiliser.

J'ai essayé un fichier relais.php qui utilise hearder("Location: le chemin si dessus"); mais ça ne fonctionne pas non plus.

En bref, si votre call_request.php est situé dans le répertoire cgi-bin, comment l'appelez-vous ?

Merci