Skip to main content

Page d'annulation de commande

More
13 years 10 months ago - 13 years 9 months ago #76044 by lesyeux
J'ai ajouté une page d'annulation et une page de confirmation de commande à mon plugin PayPal.

La page d'annulation est la suivante, en SEF : annulation-paiement-paypal/

Après une annulation PayPal, la page qui s'affiche est celle-là : mon-panier/order/cancel_order/order_id-8/annulation-paiement-paypal/

Au vu de cet "order_id-8", je suppose qu'elle peut encore être différente…

Ce qui me génère une page d'erreur.

Comment faire ?

++++++++++
J'ai testé la page de retour en cas de paiement PayPal effectué, la page de confirmation, et celle-ci fonctionne bien.
Last edit: 13 years 9 months ago by lesyeux.

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

More
13 years 10 months ago #76183 by Xavier
Bonjour,

Pouvez-vous ré-essayer en activant le fil d'ariane simplifié dans l'onglet "Principal" de la configuration HikaShop ?

Merci de nous afficher le screenshot de la page d'erreur après avoir affiché le debug mode de Joomla.

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

More
13 years 10 months ago #76214 by lesyeux
J'ai activé le fil d'ariane simplifié. Au niveau des URL créées, c'est bien mieux. Mais l'erreur sur cette page est encore là.

Je vais cloner le site pour pouvoir refaire des tests à part.

Et quant au "screenshot" pas sûr d'avoir bien compris. J'ai un PDF de la page entière avec tout le détail du debug : ça prend 10 pages. Je vous passe le lien.

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

More
13 years 10 months ago #76329 by Xavier
Je viens d'essayer l'URL et il semble que vous avez résolu votre problème, la page de paiement annulé s'affiche correctement.

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

More
13 years 10 months ago #76338 by lesyeux

Xavier wrote: Je viens d'essayer l'URL et il semble que vous avez résolu votre problème, la page de paiement annulé s'affiche correctement.


J'ai seulement bidouillé en établissant (avec sh404SEF) des redirections du type :
mon-panier/order/cancel_order/order_id-20/annulation-paiement-paypal/
mon-panier/order/cancel_order/order_id-21/annulation-paiement-paypal/
mon-panier/order/cancel_order/order_id-22/annulation-paiement-paypal/
etc.

Je suis en train de faire des tests sur un clone du site. Pour l'instant j'ai toujours le problème mais je cherche !

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

More
13 years 10 months ago #76343 by lesyeux
Je crois bien que c'est le SEF qui me joue des tours.

Il me rajoute "mon-panier/order/cancel_order/order_id-20/" devant l'URL SEF normale de la page d'annulation (cancel_url) : annulation-paiement-paypal/

Je ne vois pas d'où vient le problème, surtout que c'est ok avec l'autre page de retour, celle de confirmation du paiement (return_url).

Connaissez-vous un moyen d'empêcher une url d'une page précise d'être réécrite ?

index.php?option=com_content&Itemid=218&catid=36&id=14&lang=fr&view=article

Avec sh404SEF, il faudrait créer toutes les URL SEF, supprimer l'URL SEF de cette page cancel_url puis configurer sh404SEF pour ne plus effectuer de redirection 301 de non-SEF vers SEF, mais cela voudrait dire que si une URL SEF n'existe pas (produit venant d'être ajouté), elle ne sera pas créée, et donc que certaines règles basées sur SEF (en particulier l'affichage des modules) ne fonctionneront pas pour les pages en questions. Pas très confortable.

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

More
13 years 10 months ago #76361 by lesyeux
Après annulation, en l'absence de SEF, en l'absence de page de redirection spécifiée, la page qui s'affiche est celle qui correspond au menu 304 qui permet au client d'aller au checkout depuis un module de menu "Mon compte".

index.php?option=com_hikashop&ctrl=product&task=listing&Itemid=304

Mais avant d'afficher cette URL, je vois se succéder peut-être 2 URL intermédiaires. J'ai réussi à en attraper une : index.php?option=com_hikashop&ctrl=checkout&step=0&Itemid=304

Et c'est là que le SEF doit me créer mon-panier/order/cancel_order/. Quant au order_id-20 ou autre numéro (correspondant au numéro de la commande créée)… ?

Sauf qu'il devrait ensuite basculer sur annulation-paiement-paypal/ au lieu de concatener les 2 URL (les 3 avec ce order_id-20/)

Si je pouvais supprimer ce fragment "order_id-20/" je pourrais au moins rediriger de manière permanente vers "mon-panier/order/cancel_order/annulation-paiement-paypal/"

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

More
13 years 10 months ago #76458 by Xavier
Si le souci viens du fragment "order_id-20", essayez d'éditer le plugin PayPal.
Dans votre arborescence de fichier, éditez le fichier "plugins/hikashoppayment/paypal/paypal.php", dans la fonction onAfterOrderConfirm() modifiez la ligne:
Code:
$return_url = HIKASHOP_LIVE.'index.php?option=com_hikashop&ctrl=checkout&task=after_end&order_id='.$order->order_id.$url_itemid;
en:
Code:
$return_url = HIKASHOP_LIVE.'index.php?option=com_hikashop&ctrl=checkout&task=after_end'.$url_itemid;
The following user(s) said Thank You: lesyeux

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

More
13 years 10 months ago #76559 by lesyeux
Cela corrige le problème car je peux maintenant établir une redirection générique, puisqu'il n'y a plus de fragment variable "order_id-xx" dans l'URL. Merci pour l'astuce.

Question subsidiaire : pour les plugins system, on peux faire des overrides. Mais pour ce plugin PayPal ?

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

More
13 years 10 months ago #76664 by Xavier
Non on ne peux pas faire d'override pour les plugin.
Par contre vous pouvez dupliquer ce plugin, comme cela lors des mise à jours le plugin standard sera modifié mais pas celui copié.

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

Time to create page: 0.291 seconds
Powered by Kunena Forum