Version installée: 1.3.2
Bonjour,
J'ai voulu modifier la valeur du capture_day afin de différer l'envoi de la transaction en banque et ainsi laisser un laps de temps de 3 jours à mon client pour annuler sa commande en cas de rupture de stock ou autre problème.
J'ai eu pas mal de difficultés, voici donc quelques éléments pour ceux qui seraient intéressés:
Résumé des échanges avec le support du Crédit Agricole:
mick38f wrote:Je ne parviens pas à modifier les valeurs de CAPTURE_DAY et CAPTURE_MODE.
Pouvez-vous m'aider sur ce point SVP ?
eTransactions wrote:Vous trouverez toutes les informations sur ces 2 champs dans le dictionnaire des données.
Vous pouvez les mettre en place soit dans un fichier de paramétrage (parmcom.xxxxxx) soit dans le script d'appel d'exemple (call_request).
Il y a d'ailleurs des lignes prêtes à être utilisées dans le script d'appel d'exemple.
mick38f wrote:Apparement il s'agissait d'un problème dans les fichiers call_response et call_autoresponse fournis dans le template de la solution Thelia.
Il manquait dans chacun d'eux la ligne:
$complementary_info= $tableau[20];
Ce qui impliquait que la valeur du capture_day était affectée à capture_mode, et celle de capture_mode à data, en tout cas dans ma page de vérification call_response.php.
J'ai donc rajouté cette ligne dans chacun des 2 fichiers et cela semble fonctionner.
eTransactions wrote:L'erreur que vous décrivez est une erreur que l'on a quand on utilise des exécutables V6 avec des scripts V5.
(Le champ complementary_info a été inséré dans la réponse avec la V6.)
Pour résoudre ce problème de décalage des valeurs , j'ai donc remplacé dans les fichier call_response et call_autoresponse:
$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];
par:
$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];
J'ai également remplacé (dans le fichier call_response):
print("<br>complementary_code: $complementary_code\n");
print("<br>return_context: $return_context\n");
par:
print("<br>complementary_code: $complementary_code\n");
print("<br>complementary_info: $complementary_info\n");
print("<br>return_context: $return_context\n");
Et aussi (dans le fichier call_autoresponse):
fwrite( $fp, "complementary_code: $complementary_code\n");
fwrite( $fp, "return_context: $return_context\n");
par:
fwrite( $fp, "complementary_code: $complementary_code\n");
fwrite( $fp, "complementary_info: $complementary_info\n");
fwrite( $fp, "return_context: $return_context\n");
Enfin, pour modifier la valeur du capture_day à 3 au lieu de 0 valeur par défaut si on ne change rien (donc envoi immédiat de la transaction bancaire) , il faut ajouter les lignes suivantes dans le fichier parmcom.xxxxxxx:
# Nombre de jours de délais encaissement
CAPTURE_DAY!3!
Mick