Statut de commande "créée" au lieu de "confirmée" après le paiement sur Paypal

  • Posts: 28
  • Thank you received: 1
4 years 7 months ago #309515

-- HikaShop version -- : 4.2.1
-- Joomla version -- : 3.9.10
-- PHP version -- : 7.2

Bonjour.

Je ne suis pas le premier à poser la question, donc j'ai déjà parcouru le forum, en vain...
Je pense qu'un détail m'échappe...

J'ai créé un mode paiement Paypal (HikaShop Paypal payment plugin), que j'essaie de valider en utilisant la Sandbox de Paypal.
Je suis bien redirigé vers Paypal, le lien annuler et le paiement fonctionnent.
La redirection vers mon site est fonctionnelle dans les deux cas.

Il me reste à envoyer un email de confirmation au(x) vendeur(s) (plusieurs vendeurs possibles dans une seule commande), et je suppose qu'il faut déjà que le statut de la commande passe à "confirmée" pour pouvoir déclencher l'envoi des emails.

Le problème, c'est que ma commande conserve le statut "créée" après le paiement sur Paypal (au lien de "confirmée").

Est-ce que le problème peut venir du fait que j'utilise la Sandbox de Paypal ?

J'ai lu quelque part sur le forum qu'il faut configurer l'IPN, mais je ne trouve pas où il faut le configurer.
Est-ce que le problème peut venir de là ?

Merci d'avance pour votre aide.

plastic1st

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

  • Posts: 12953
  • Thank you received: 1778
4 years 7 months ago #309518

Bonjour,

Votre problème provient probablement de la manière dont vous avez configuré l'option "Allow payment notification from PayPal" via la page de configuration de votre méthode de paiement PayPal ("Hikashop->System->Payment methods").

Pourriez vous vérifier que cette option est bien initialisée à OUI ? Merci.

En vous souhaitant une très belle journée,
Bien cordialement,
Mohamed Thelji.

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

  • Posts: 28
  • Thank you received: 1
4 years 7 months ago #309544

Bonjour Mohamed.

Merci pour votre réponse.
L'option est bien paramétrée (voir copie d'écran ci-jointe)

Attachments:
Last edit: 4 years 7 months ago by plastic1st.

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

  • Posts: 81361
  • Thank you received: 13037
  • MODERATOR
4 years 7 months ago #309558

Bonjour,

Les options de votre méthode de paiement ont l'air correctes.
Cela peut venir d'autres choses.
Par exemple, si votre site n'est pour l'instant pas accessible depuis l'extérieur, PayPal ne peut pas le contacter pour le notifier du paiement.
Il est aussi possible que la notification se fasse, mais que votre site ne puisse authentifier la notification de paiement car l'accès à l'extérieur n'est pas autorisé sur votre serveur (le serveur peut répondre à une demande, mais ne peut pas initié de demande).
Dans ce cas, il peut être intéressant d'activer l'option de débug de la méthode de paiement, de faire un paiement et de regarder ce qui est rajouté dans le log de paiement de la configuration HikaShop. Cela devrait permettre d'identifier le problème.
Tout cela est expliqué ici:
www.hikashop.com/support/documentation/i...or.html#notification

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

  • Posts: 28
  • Thank you received: 1
4 years 7 months ago #309595

Bonjour Nicolas.

Merci pour votre réponse.
Je viens de retenter un paiement.
Et le fichier de logs se termine par :

08.07.19 17:14:13 - paypal

Array
(
    [scheme] => https
    [host] => www.sandbox.paypal.com
    [path] => /cgi-bin/webscr
    [query] => 
    [port] => 443
    [host_socket] => ssl://www.sandbox.paypal.com
)

08.07.19 17:14:15 - paypal
VERIFIED

08.07.19 17:14:15 - paypal
PayPal transaction id: 91D06757270890823

Je ne vois pas de message d'erreur...

Une idée ?

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

  • Posts: 81361
  • Thank you received: 13037
  • MODERATOR
4 years 7 months ago #309600

Bonjour,

D'après le log de paiement, la notification du paiement est bien reçue. Vérifiez l'option "Statut vérifié" de votre méthode de paiement PayPal. Elle doit être configurée sur "confirmée" si vous voulez que les commandes soient confirmées suite au paiement.
Si ce n'est pas le soucis, alors normalement, vous devriez recevoir une notification de paiement par email avec plus d'information sur le soucis. Ces emails (ainsi que les autres emails envoyés par HikaShop) sont historisés dans le menu Customers>Emails history. Donc vérifiez si vous avez ces emails de type "payment notification" et regardez l'email correspondant à votre commande de test (notez que l'option "payment notification email address" de la configuration doit être remplie pour que cet email soit envoyé).

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

  • Posts: 28
  • Thank you received: 1
4 years 7 months ago #309617

Bonjour Nicolas,

Merci pour ces explications.

Dans le journal des emails, j'ai 2 types d'emails :

  • Notification de création de commande,
  • Notification de commande à l'administrateur.

Mais aucun email de notification de paiement (l'option "payment notification email address" étant pourtant bien renseignée).

J'ai regardé du côté de Paypal (Sandbox), et j'ai des notifications de paiement pour mes tests d'hier, mais je n'ai jamais reçu ces emails.
En revanche, aucune notification pour le test que je viens d'effectuer...

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

  • Posts: 81361
  • Thank you received: 13037
  • MODERATOR
4 years 7 months ago #309631

Bonjour,

Et du coup, avez-vous pu vérifier l'option "Statut vérifié" de votre méthode de paiement ?

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

  • Posts: 28
  • Thank you received: 1
4 years 7 months ago #309653

Oui, l'option "Statut vérifié" est bien configurée ("confirmée")

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

  • Posts: 81361
  • Thank you received: 13037
  • MODERATOR
4 years 7 months ago #309654

Mmm. Il faudrait voir le morceau du log avant ce que vous avez fourni pour avoir plus d'information sur la notification de paiement en provenance de PayPal.
Je suppose que vous ne l'avez pas fourni car cela contient des données sensibles.
Dans ce cas, vous pourriez nous les envoyer sur contact AT hikashop DOT com avec un lien vers ce sujet.
Aussi, si vous pouviez nous envoyer un accès backend, cela nous permettrait de mieux comprendre la situation.

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

  • Posts: 28
  • Thank you received: 1
4 years 7 months ago #309679

Bonjour Nicolas.

Je viens d'envoyer un email à l'adresse indiquée avec le lien vers mon backend, et les identifiants que j'ai créés pour vous.

Merci pour tout le temps que vous consacrez à mon problème !!

Bonne journée

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

  • Posts: 81361
  • Thank you received: 13037
  • MODERATOR
4 years 7 months ago #309693

Bonjour,

D'après le log de paiement, le paiement est en attente du coté de PayPal car la devise utilisée n'est pas une devise déjà acceptée sur le compte marchand:
[payment_status] => Pending
[pending_reason] => multi_currency
Vu que votre commande est en euros, je suppose que votre compte marchand est configuré avec une autre devise genre le dollar.
Il va falloir vous connecter à votre compte marchand PayPal pour valider le paiement et autoriser les paiements dans la devise euro et ensuite cela devrait fonctionner correctement.

The following user(s) said Thank You: plastic1st

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

  • Posts: 28
  • Thank you received: 1
4 years 7 months ago #309701

Oh punaise, c'était ça.
C'était si bête comme erreur...
J'ai créé plusieurs comptes sur Paypal, un seul était configuré sur "US", et il a fallu que ce soit celui que je choisisse :lol:

Un énorme merci !!!!

Je viens de faire un test, et - magie ! - le statut de ma commande est bien "confirmée" :)

Je vais pouvoir enchaîner sur la suite : envoyer des emails au(x) vendeur(s) dès que la commande est confirmée.
Je suppose que le trigger

onAfterOrderConfirm(&$order,&$methods,$method_id)
me permettra d'atteindre mon but ?

Encore une fois, merci pour le temps que vous consacrez à tous nous aider. Merci pour votre réactivité.

Last edit: 4 years 7 months ago by plastic1st.

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

  • Posts: 81361
  • Thank you received: 13037
  • MODERATOR
4 years 7 months ago #309702

Notez que si vous utilisez HikaMarket Multivendor, alors les vendeurs sont automatiquement notifiés lors de commandes avec des produits les concernant.
Maintenant, si vous voulez faire votre propre plugin pour envoyer des emails suite à la confirmation de la commande, vous allez vouloir utiliser le trigger onAfterOrderUpdate(&$order) et vérifier la condition

!empty($order->order_status) && $order->order_status == "confirmed" && $order->order_status != $order->old->order_status
. Ainsi votre code se fera uniquement si le statut de la commande est en train d'être modifié, et que le nouveau statut est égal à "confirmed" et que l'ancien est différent de "confirmed".

The following user(s) said Thank You: plastic1st

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

  • Posts: 28
  • Thank you received: 1
4 years 7 months ago #309715

Si j'avais le budget, j'opterais pour la solution HikaMarket Multivendor, qui me faciliterait grandement la tâche.
Malheureusement, je développe ce site pour des amis qui ont un budget de... 0€.

Je vais donc devoir partir sur la seconde option. Le côté positif, c'est que j'apprends beaucoup.
Merci pour le trigger et la condition à vérifier !!

The following user(s) said Thank You: Mohamed Thelji

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

Time to create page: 0.100 seconds
Powered by Kunena Forum