Comment faciliter la relance d'un paiement échoué ?

  • Posts: 477
  • Thank you received: 31
  • Hikashop Business
3 months 1 week ago #363186

Bonjour,

Pas mal de clients ne comprennent pas comment relancer un paiement…

À chaque échec de paiement, j'envoie un email de relance, avec des explications. Mais le menu déroulant "Actions", dans lequel on trouve la commande "Payer maintenant", apparemment, ils ne le trouvent pas, ou ne comprennent pas comment l'utiliser. Je ne sais pas. Je ne parle même pas du lien "Payer maintenant" qui se trouve dans l'email de création de commande, c'est encore pire.

Résultat, les clients recréent leurs commandes quasiment systématiquement, autant de fois que nécessaire. Sur deux sites, j'ai des acheteurs âgés qui ont du mal avec les contraintes de sécurité aujourd'hui imposées par les banques, ou même par PayPal. Alors le problème se produit régulièrement.

Dans le listing des commandes, est-ce que je peux ajouter, pour chaque commande restée impayée, un bouton bien visible "Payer maintenant" (en plus de la commande "cachée" dans le menu déroulant "Actions") ? Par exemple, juste à droite du label "Créée", sur la ligne du numéro de commande.

Merci d'avance pour vos conseils

Last edit: 1 month 11 hours ago by lesyeux. Reason: Résolu

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

  • Posts: 83024
  • Thank you received: 13403
  • MODERATOR
3 months 1 week ago #363187

Bonjour,

Notez que nous proposons un plugin "reminder" sur notre marketplace:
www.hikashop.com/marketplace/product/241-reminder-plugin.html
Ce plugin se charge de relancer automatiquement les clients pour les commandes non payées ( et ne relance pas le client si une commande plus récente a été confirmée pour ce même client ). Aussi, l'email qu'il envoie dispose d'un gros bouton inratable pour accéder directement au paiement.

Notez aussi que lorsque vous envoyez un email via le bouton "email" d'une commande dans le backend, si vous avez bien configuré les status de commande dans la colonne "unpaid" du menu System>Order statuses, alors l'email contiendra également le bouton "payer maintenant" de l'email de création de commande.
Peut être serait-il intéressant de rajouter un peu de code CSS à vos emails via le menu System>Email pour rendre ce lien plus visible ?

Après, mettre un bouton "payer maintenant" plus visible directement à coter du statut de la commande, c'est possible en faisant un override de la vue order / listing via le menu Display>Views d'HikaShop.
Le lien de paiement dans le bouton "actions" est affiché avec le code:

			if(!empty($row->show_payment_button) && bccomp(sprintf('%F',$row->order_full_price), 0, 5) > 0) {
				$url_param = ($this->payment_change) ? '&select_payment=1' : '';
				$url = hikashop_completeLink('order&task=pay&order_id='.$row->order_id.$url_param.$url_itemid);
				if($this->config->get('force_ssl',0) && strpos('https://',$url) === false)
					$url = str_replace('http://','https://', $url);
				$dropData[] = array(
					'name' => '<i class="fas fa-money-bill-alt"></i> '. JText::_('PAY_NOW'),
					'link' => $url
				);
			}
Et le statut de commande est affiché avec :
echo hikashop_orderStatus($row->order_status);
Donc vous pourriez rajouter quelque chose comme cela après cette ligne:
			if(!empty($row->show_payment_button) && bccomp(sprintf('%F',$row->order_full_price), 0, 5) > 0) {
				$url_param = ($this->payment_change) ? '&select_payment=1' : '';
				$url = hikashop_completeLink('order&task=pay&order_id='.$row->order_id.$url_param.$url_itemid);
				if($this->config->get('force_ssl',0) && strpos('https://',$url) === false)
					$url = str_replace('http://','https://', $url);
					echo '<a class="lien_de_paiement" href="'.$url.'"><i class="fas fa-money-bill-alt"></i> '. JText::_('PAY_NOW').'</a>';
				);
			}
Et vous pouvez utiliser la classe lien_de_paiement pour personnaliser l'affichage du lien.

The following user(s) said Thank You: lesyeux

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

  • Posts: 477
  • Thank you received: 31
  • Hikashop Business
1 month 11 hours ago #364670

Bonjour,
J'ai pu ajouter un bouton "Payer maintenant" grâce à vos conseils. Parfait.
Et si je veux le même bouton sur la page de la vue "user/cpanel_orders.php" (parce que c'est là que le client va arriver en premier), je peux utiliser le même code ?

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

  • Posts: 477
  • Thank you received: 31
  • Hikashop Business
1 month 11 hours ago #364671

C'est bon, j'ai pu adapter le code pour la vue cpanel_orders !

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

  • Posts: 477
  • Thank you received: 31
  • Hikashop Business
1 month 11 hours ago #364672

Mon code pour la vue order/listing.php

<span class="order-label order-label-<?php echo preg_replace('#[^a-z_0-9]#i', '_', str_replace(' ','_', $row->order_status)); ?>"><?php
							echo hikashop_orderStatus($row->order_status); ?></span>
							<span><?php if(!empty($row->show_payment_button) && bccomp(sprintf('%F',$row->order_full_price), 0, 5) > 0) {
				$url_param = ($this->payment_change) ? '&select_payment=1' : '';
				$url = hikashop_completeLink('order&task=pay&order_id='.$row->order_id.$url_param.$url_itemid);
				if($this->config->get('force_ssl',0) && strpos('https://',$url) === false)
					$url = str_replace('http://','https://', $url);
					echo '<a class="button button-red button-small button-rounded smallpaddingall smallmarginleft" href="'.$url.'">'. JText::_('PAY_NOW').'</a>';
			}
						?></span>

Mon code pour la vue user/cpanel_orders.php
<span class="order-label order-label-<?php echo $order->order_status; ?>"><?php echo hikashop_orderStatus($order->order_status); ?></span>
				<span><?php if(!empty($order->show_payment_button) && bccomp(sprintf('%F',$order->order_full_price), 0, 5) > 0) {
			$url_param = ($this->payment_change) ? '&select_payment=1' : '';
			$url = hikashop_completeLink('order&task=pay&order_id='.$order->order_id.$url_param.$url_itemid);
			if($this->config->get('force_ssl',0) && strpos('https://',$url) === false)
				$url = str_replace('http://','https://', $url);
					echo '<a class="button button-red button-small smallpaddingall smallmarginleft" href="'.$url.'">'. JText::_('PAY_NOW').'</a>';
			}
						?></span>

Dans les deux cas j'utilise un bouton avec les class css du template et pas d'icône devant le lien.

Last edit: 1 month 11 hours ago by lesyeux.
The following user(s) said Thank You: nicolas

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

Time to create page: 0.065 seconds
Powered by Kunena Forum