[Résolu] Erreur redirection aprés paiement Atos

  • Posts: 29
  • Thank you received: 0
12 years 8 months ago #24644

Bonjour,

J'ai un soucis après la validation d'un paiement. Lorsque je clique sur le bouton retour a la boutique, j'ai une erreur "Forbidden Access Flooding"

Dans le champ Url de retour, dans la configuration du plugin, j'ai mis ce lien la : www.monsite.fr/success.php

Voici le code de ce fichier :

<?php
header("Location: www.monsite.fr/index.php?option=com_hika...ckout&task=after_end ");
?>

J'ai aussi essayer en passant par sh404, c'est a dire réécrire l'url ci-dessus et ainsi mettre l'url suivant dans le champ "Url de retour" : www.monsite.fr/success

Il y a apparemment une boucle de redirection qui pose problème

Merci d'avance

Last edit: 12 years 8 months ago by 123monsite.

Please Log in or Create an account to join the conversation.

  • Posts: 81604
  • Thank you received: 13083
  • MODERATOR
12 years 8 months ago #24646

Le problème ne viendrait-il pas de la configuration de sh404sef ? dev.anything-digital.com/Forum/?topic=5083.msg34753
D'après ce thread, il est possible de désactiver l'anti flooding dans les options de sh404sef ce qui devrait résoudre le problème.

Please Log in or Create an account to join the conversation.

  • Posts: 29
  • Thank you received: 0
12 years 8 months ago #24649

J'ai désactiver l'anti flooding mais pas de changement.

J'ai également désactiver sh404, mais toujours pareil

Je vous joint une copie d'écran qui pourra peut être vous aidez.

Attachments:

Please Log in or Create an account to join the conversation.

  • Posts: 81604
  • Thank you received: 13083
  • MODERATOR
12 years 8 months ago #24652

Ca veut dire que www.monsite.fr/index.php?option=com_hika...ckout&task=after_end dirige sur www.monsite.fr/success.php et vice versa. Cela fait donc un loop.

Le problème vient de votre fichier success.php qui n'est pas correct. Il ne faut pas faire de redirect mais directement charger joomla, de la même façon qu'expliqué ici (en modifiant un peu le code à votre cas biensur):
www.hikashop.com/support/forum/4-how-to/...art=20&lang=fr#13262

Please Log in or Create an account to join the conversation.

  • Posts: 29
  • Thank you received: 0
12 years 8 months ago #24659

Ha oui d'accord je vois. Cependant j'ai une autre question.

Cela concerne "automatic_response_url", sachant qu'elle redirige vers www.monsite.fr/atos.php qui comporte le code suivant :

$_GET='com_hikashop';
$_GET='component';
$_GET='checkout';
$_GET='notify';
$_GET='atos';
$_GET='fr';
$_REQUEST='com_hikashop';
$_REQUEST='component';
$_REQUEST='checkout';
$_REQUEST='notify';
$_REQUEST='atos';
$_REQUEST='fr';
include('index.php');

J'imagine que cela redirige vers le controller 'checkout.php' et qui effectue la fonction 'notify'.

Est ce que cette fonction change le statut de la commande en confirmé ?

Car j'ai remarqué que après avoir rentré les coordonnées bancaires, le statut de la commande ne change pas et le panier ne se vide pas.

Pouvez-vous m'éclairer sur ce point ?

Please Log in or Create an account to join the conversation.

  • Posts: 81604
  • Thank you received: 13083
  • MODERATOR
12 years 8 months ago #24660

Oui, cette fonction change le statut.

Si le statut ne change pas, c'est peut être que votre site n'est pas accessible depuis l'extérieur ? Par exemple, s'il est en maintenance, protégé par un htaccess, ou en local, cela ne fonctionnera pas.

Please Log in or Create an account to join the conversation.

  • Posts: 29
  • Thank you received: 0
12 years 8 months ago #24764

Bonjour,

Le site n'est ni en maintenance ni protégé par un htacess (on travaille sur lighttpd et non apapche) mais j'ai pensé à autre chose.
Pour avoir installé la solution atos sur oscommerce, je sais qu'il peut y avoir un test sur l'IP de la banque pour protégé le script et je me demandais s'il y avait la même chose sur le plugin d'hikashop et si oui où la vérification se faisait (je n'ai pas trouvé) car il faudrait que je rajoute une IP.

Merci

Please Log in or Create an account to join the conversation.

  • Posts: 81604
  • Thank you received: 13083
  • MODERATOR
12 years 8 months ago #24765

Il n'y a pas ce genre de vérification pour atos car cela n'est pas nécessaire.
Vous pourriez activer le debug mode du plugin et regarder le fichier de log (le chemin est disponible dans l'onglet fichiers de la config) pour voir si la requête de notification arrive bien jsuqu'à HikaShop.

Il se pourrait aussi que ce soit un firewall ou une extension genre sentinel qui bloque la notification car elle ne provient pas d'un navigateur web.

Please Log in or Create an account to join the conversation.

  • Posts: 29
  • Thank you received: 0
12 years 8 months ago #24796

Honte sur moi !!!
Le statut ne se changeait pas car dans la configuration du module "Activer le mode validation" était activé.
Je vais donc me remettre sur le problème de la redirection au retour sur le site.

Please Log in or Create an account to join the conversation.

  • Posts: 29
  • Thank you received: 0
12 years 8 months ago #24797

J'ai changé le fichier success.php que j'avais mis à la racine pour mettre :

$_GET['option']='com_hikashop';
			$_GET['tmpl']='component';
			$_GET['ctrl']='checkout';
			$_GET['task']='after_end';
			$_GET['Itemid']='102';
			$_GET['lang']='fr';
			$_REQUEST['option']='com_hikashop';
			$_REQUEST['tmpl']='component';
			$_REQUEST['ctrl']='checkout';
			$_REQUEST['task']='after_end';
			$_REQUEST['Itemid']='102';
			$_REQUEST['lang']='fr';
			include('index.php');
Ca m'appelle donc la fonction after_end du controller checkout.
Dans cette fonction je vois qu'il y a une redirection vers le fichier success.php :
if(!empty($paymentOptions->payment_params->return_url)){
	$app->redirect($paymentOptions->payment_params->return_url);
}
J'ai désactiver cette ligne et je n'ai plus l'erreur de la boucle sans fin mais le message s'affiche sans template.
Je ne comprends pas cette ligne :
Si le paramètre "return_url" n'est pas vide, on redirige vers cette page et si je ne remplis pas ce champ dans la config du plugin, il met la valeur par défaut (celle qui est trop longue).
Quelque chose a du m'échapper ...

Please Log in or Create an account to join the conversation.

  • Posts: 81604
  • Thank you received: 13083
  • MODERATOR
12 years 8 months ago #24828

En effet, il y a bien un problème de logique. Nous allons corriger cela comme il faut pour la prochaine version. En attendant la modification que vous proposez est correcte.

Please Log in or Create an account to join the conversation.

  • Posts: 29
  • Thank you received: 0
12 years 8 months ago #24831

En désactivant juste la redirection dans la fonction after_end, j'avais l'affichage du message de retour mais sur une page blanche, mon template ne s'affichait pas.
Donc 2 solutions :
1/ Dans mon fichier success.php, au lieu de mettre

$_GET['option']='com_hikashop';
$_GET['tmpl']='component';
$_GET['ctrl']='checkout';
$_GET['task']='after_end';
$_GET['Itemid']='102';
$_REQUEST['option']='com_hikashop';
$_REQUEST['tmpl']='component';
$_REQUEST['ctrl']='checkout';
$_REQUEST['task']='after_end';
$_REQUEST['Itemid']='102';
include('index.php');
j'ai mis
header("Location: http://www.monsite.fr/index.php?option=com_hikashop&ctrl=checkout&task=after_end&Itemid=102");
et là je retombais sur la bonne page

2/Dans mon fichier success.php, mettre
$_GET['option']='com_hikashop';
$_GET['tmpl']='component';
$_GET['ctrl']='checkout';
$_GET['task']='after_end';
$_GET['Itemid']='102';
$_REQUEST['option']='com_hikashop';
$_REQUEST['tmpl']='component';
$_REQUEST['ctrl']='checkout';
$_REQUEST['task']='after_end';
$_REQUEST['Itemid']='102';
include('index.php');
dans la fonction after_end du controller checkout
au lieu
if(!empty($paymentOptions->payment_params->return_url)){
 $app->redirect($paymentOptions->payment_params->return_url);
}
J'ai mis une redirection vers un article de mon choix :
if(!empty($paymentOptions->payment_params->return_url)){
 $app->redirect('index.php?option=com_content&view=article&id=67Itemid=251');
}

Et voilà, tout fonctionne !

Merci Nicolas pour ton aide.

Please Log in or Create an account to join the conversation.

Time to create page: 0.079 seconds
Powered by Kunena Forum