THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


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

Offline


Merci pour ces infos. Le CA abuse. Il pourrait mettre le capture D dans leur interface de gestion des encaissements

Last edited by epock29 (27-01-2008 21:58:38)


Geek vintage
Secrets de filles