Carte de crédit et rafraichissement d'écran

  • Posts: 230
  • Thank you received: 6
12 years 10 months ago #36287

J'ai un soucis avec le rafraichissement de la page quand quelqu'un choisi l'option carte de crédit.

Par défaut par exemple paypal est sélectionné et en bas complètement de la page c'est indiqué "Vous avez choisi le mode de paiement: PayPal"
Si je change le mode de paiement pour chèque la page se rafraichi et en bas ça change pour "Vous avez choisi le mode de paiement: Chèque"

Là ou est le problème c'est quand la personne choisi carte de crédit. La fenêtre agrandie pour faire apparaitre l'information qu'il faut saisir mais en bas le mode de paiement n'est pas rafraichi il reste au choix précédent "Vous avez choisi le mode de paiement: PayPal ou Chèque"

Après la personne coche qu'elle accepte les conditions générales de vente et clique sur le bouton pour passer la commande. Là la page se rafraichi et le client pense que la commande est passé. Pour effectuer la commande le client doit appuyer de nouveau sur le bouton pour passer la commande. (notez qu'après ce rafraichissement, la page affiche correctement "Vous avez choisi le mode de paiement: Carte de crédit" )

Cela pose souvent problème au clients car il doit appuyer 2 fois sur le bouton pour passer la commande quand il utilise la carte de crédit.

Avez-vous une idée pour corriger ce problème ?

Le problème survient autant dans IE que dans Firefox.

Merci

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

  • Posts: 82863
  • Thank you received: 13372
  • MODERATOR
12 years 10 months ago #36327

Et bien ca n'est pas vraiment un problème. C'est juste la façon dont cela est fait.

pour changer cela, il vous faudra changer la ligne:
if(($old_payment_id!=$payment_id || $old_payment_method!=$payment) && $this->_getStep('confirm',(int)$this->previous)===(int)$this->previous){

en:
if(false){

dans le fichier components/com_hikashop/controllers/checkout.php

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

  • Posts: 230
  • Thank you received: 6
12 years 10 months ago #36337

Merci cette modification fonctionne

J'ai aussi modifié la vue status pour enlever l'affichage du mode de paiement puisqu'il n'affiche pas le bon mode pour la carte de crédit.



Une autre chose que j'ai remarqué c'est quand quelqu'un choisi par exemple le mode de paiement carte de crédit et qu'il change d'idée et clique sur Paypal, cela active un rafraichissement et procède automatiquement à l'achat sans que la personne pèse sur le bouton pour acheter. Donc dès la sélection la personne est dirigé vers Paypal. (quand elle est connecté au site)

Avez-vous déjà vu cela?

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

  • Posts: 82863
  • Thank you received: 13372
  • MODERATOR
12 years 10 months ago #36338

Oui, c'est en effet le cas car le système considère que la personne n'a pas changé de système de paiement et que donc vu qu'aucune information n'a changée, le passage en caisse peut passer à l'étape d'après.

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

  • Posts: 230
  • Thank you received: 6
12 years 10 months ago #36343

Le soucis est le suivant:

Comme discuté en changeant la méthode de paiement cela fait que la commande se fait automatiquement mais la personne ne peut pas entrer son code de coupon ou réviser son panier avant de passer sa commande puisque celle-ci se fait tout seul.


Je pense qu'il serait plus efficace et plus sécurisant pour le client que ce soit lors d'une intervention de la personne que l'on passe à l'étape suivante (en appuyant sur le bouton). Il ne faut pas présumer que le client n'était pas entrain de réviser l'ensemble de son panier y compris sa méthode de paiement avant de procéder à l'achat.

De notre côté plusieurs clients ont eu ce problème.

Encore merci pour votre support.

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

  • Posts: 82863
  • Thank you received: 13372
  • MODERATOR
12 years 10 months ago #36386

En fait si vous voulez faire cela, le mieux est peut être de changer votre flux de passage en caisse comme ceci:

login_address_shipping_payment_coupon_cart_fields,confirm_cart_status,end
Comme cela, vous avez une étape de confirmation avant d'envoyer l'utilisateur sur paypal (ou une autre plateforme de paiement).

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

  • Posts: 230
  • Thank you received: 6
12 years 10 months ago #36392

je vais essayer cela.

Présentement il n'y a aucune étape de configuré, tout est dans la première page.

Merci

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

  • Posts: 230
  • Thank you received: 6
12 years 10 months ago #36406

Merci cela fonctionne effectivement mieux en mettant des étapes.

Y a t-il moyen d'ajouter un bouton précédent dans les étapes. Il faudrait qu'il n'apparaisse pas à la première étape si possible.

Aussi à la dernière étape serai-il possible de faire une manoeuvre pour que le bouton "suivant" affiche par exemple "Passer la commande"


Merci

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

  • Posts: 82863
  • Thank you received: 13372
  • MODERATOR
12 years 10 months ago #36446

Voici un thread qui explique comment afficher les bouttons du passage en caisse comme vous le souhaitez:
www.hikashop.com/support/forum/4-how-to/...n.html?lang=en#36167

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

  • Posts: 230
  • Thank you received: 6
12 years 10 months ago #36470

Merci je vais essayer ceci plus tard et vous reviens si j'ai des difficultés

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

  • Posts: 230
  • Thank you received: 6
12 years 10 months ago #36539

ça fonctionne et j'ai modifié le code pour représenter la dernière version d'Hikashop

J'ai aussi ajouté la variable HIKA_LAST_STEP pour permettre de personnaliser la langue

Y-a-t-il moyen de détecter le dernier step pour rendre le code dynamique selon les modifications du flux, donc remplacer if($this->step==4) par exemple if($this->step== maxstep)...ou quelque chose du genre

if($this->step==4){  
echo $this->cart->displayButton(JText::_('HIKA_LAST_STEP'),'next',$this->params,hikashop_completeLink('checkout&task=step&step='.($this->step+1)),'if(hikashopCheckChangeForm(\'order\',\'hikashop_checkout_form\')){ if(hikashopCheckMethods()){ document.getElementById(\'hikashop_validate\').value=1; document.forms[\'hikashop_checkout_form\'].submit();}} return false;','id="hikashop_checkout_next_button"');
}else{  
echo $this->cart->displayButton(JText::_('HIKA_NEXT'),'next',$this->params,hikashop_completeLink('checkout&task=step&step='.($this->step+1)),'if(hikashopCheckChangeForm(\'order\',\'hikashop_checkout_form\')){ if(hikashopCheckMethods()){ document.getElementById(\'hikashop_validate\').value=1; document.forms[\'hikashop_checkout_form\'].submit();}} return false;','id="hikashop_checkout_next_button"');

Ceci pourrait faire partie de la version officielle d'Hikashop avec la détection dynamique du dernier step

Merci

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

  • Posts: 82863
  • Thank you received: 13372
  • MODERATOR
12 years 10 months ago #36589

En fait le problème c'est que suivant le flux de passage en caisse choisi et les différentes options configurées, on ne peut pas savoir quel sera le dernier step avant la fin du passage en caisse. D'où le fais qu'on a laissé un seul bouton pour tout le passage en caisse.

Pour connaitre le nombre de step total vous pouvez utiliser ceci:
count($this->steps)

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

  • Posts: 230
  • Thank you received: 6
12 years 9 months ago #36598

merci cela fonctionne

cela devient maintenant universel pour moi en supposant que le dernier step est toujours "end" et seul. Je peux donc réorganiser le flux comme je veux.

if($this->step==(count($this->steps)-2)){
echo $this->cart->displayButton(JText::_('HIKA_LAST_STEP'),'next',$this->params,hikashop_completeLink('checkout&task=step&step='.($this->step+1)),'if(hikashopCheckChangeForm(\'order\',\'hikashop_checkout_form\')){ if(hikashopCheckMethods()){ document.getElementById(\'hikashop_validate\').value=1; document.forms[\'hikashop_checkout_form\'].submit();}} return false;','id="hikashop_checkout_next_button"');
}else{  
echo $this->cart->displayButton(JText::_('HIKA_NEXT'),'next',$this->params,hikashop_completeLink('checkout&task=step&step='.($this->step+1)),'if(hikashopCheckChangeForm(\'order\',\'hikashop_checkout_form\')){ if(hikashopCheckMethods()){ document.getElementById(\'hikashop_validate\').value=1; document.forms[\'hikashop_checkout_form\'].submit();}} return false;','id="hikashop_checkout_next_button"');
}

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

  • Posts: 230
  • Thank you received: 6
12 years 9 months ago #36687

Petite amélioration pour afficher le bouton "suivant" seulement lorsque l'utilisateur est connecté

$connecteduser =& JFactory::getUser();
if($this->step==(count($this->steps)-2)){
echo $this->cart->displayButton(JText::_('HIKA_LAST_STEP'),'next',$this->params,hikashop_completeLink('checkout&task=step&step='.($this->step+1)),'if(hikashopCheckChangeForm(\'order\',\'hikashop_checkout_form\')){ if(hikashopCheckMethods()){ document.getElementById(\'hikashop_validate\').value=1; document.forms[\'hikashop_checkout_form\'].submit();}} return false;','id="hikashop_checkout_next_button"');
}else{  
if (!$connecteduser->guest) {echo $this->cart->displayButton(JText::_('HIKA_NEXT'),'next',$this->params,hikashop_completeLink('checkout&task=step&step='.($this->step+1)),'if(hikashopCheckChangeForm(\'order\',\'hikashop_checkout_form\')){ if(hikashopCheckMethods()){ document.getElementById(\'hikashop_validate\').value=1; document.forms[\'hikashop_checkout_form\'].submit();}} return false;','id="hikashop_checkout_next_button"');}
}

Dans le cas contraire le bouton suivant ne fonctionne pas au début lorsque l'utilisateur n'est pas connecté. Donc ceci permet de ne pas l'afficher.

Last edit: 12 years 9 months ago by greniers.

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

Time to create page: 0.090 seconds
Powered by Kunena Forum