Sign in to follow this  
Followers 0

PAYPAL - problème potentiel

5 posts in this topic

Posted · Report post

Il y a quand un soucis auquel j ai pensé avec le paiement paypal :

lorsque le client a fait le paiement paypal, il peut etre satisfait et ne pas cliquer sur 'retour a la boutique' (d'ailleurs le message 'vous allez sur un site non sécurisé' n'est pas engageant). Pour lui il a un recu de paiement donc tout est ok.

Le problème c 'est que dans ce cas on execute pas la page paiement ok de peel, et que donc le statut 'réglée' n'est pas mis à jour dans l'administration.

Donc il peut se produire des cas ou le client a réglé et l'admin pense qu'il ne l'a pas fait (si il n'a pas vérifié son compte paypal) et donc ne déclenche pas l'envoi des produits. Le client ne voie pas non plus sa commande comme payée dans son statut des commandes.

Comment régler ce problème ?

EDIT : a priori il faut inclure l'adresse du fichier ipn sur son compte paypal. Je vais essayer cela.

Share this post


: post
Share on other sites

Posted · Report post

Bon j'ai vu que sur les paramètres de son compte paypal, on peut cocher l'option de retourner directement sur le site après le paiement, ce qui serait pas mal.

Quelle url mettre dans le champ de retour sur le site paypal ?

normalement les url communiquées lors de la commande au site paypal (cf template.php) sont :

-ok.php si commande ok

-nok.php si commande nok

-ipn.php pour notify

le problème c'est que je dois marquer une url fixe (pas avec le command_id), donc je marque quoi, ipn.php ?

comment fonctionne exactement le principe de notification ?

le but ultime étant, une fois que l'utilisateur a payé sur paypal et sans action supplémentaire de sa part, que le retour sur le site soit effectué et que les statuts commande, etc, soient mis à jour.

Merci de votre aide,

Shogun.

Share this post


: post
Share on other sites

Posted · Report post

Bonsoir,

Comme les sessions ne serront plus bonnes il n'y aura plus rien dans le panier....

Je verrais bien une trace de l'adresse IP dans la commande et un timer de validitée (peut etre)

quand le gars passe sa commande l'adresse IP est mise dans un des champs de la table commande, de ce fait quand le gars revient avec la page ok.php on compare son adresse ip et celle contenue dans la base depuis 1 jour ... et paf le chien !!

bonne soirée

Share this post


: post
Share on other sites

Posted · Report post

Bon,

pour ceux que ça intéresse, la solution est simple :

Aller sur le site de paypal puis, sur son compte paypal vendeur (celui renseigné dans PEEL), il faut choisir dans la configuration le retour automatique à la boutique ainsi que la notification (cocher les cases). Dans l'url de retour il faut mettre : http://www.monsite.com/modules/paypal/ipn.php

Ensuite dès lors que le client clique 'payer' dans son site paypal, la redirection est automatique sur votre site (sous un délai de 5 secondes) et il n'y a plus de message d'avertissement 'vous allez sur un site non sécurisé'.

Sur votre site, le code ok.php est exécuté et le client voit bien le msg 'votre paiement est enregistré...etc...etc' et le statut de la commande passe automatiquement à 'réglé'

Donc d'un point de vue client, plus de pb !

Prochaine étape de la réflexion : s'arranger pour que le mail de confirmation client ne soit envoyé que lorsque le paiement est au statut réglé (et que le panier ne soit vidé qu'à ce moment)

A+

Shogun

Share this post


: post
Share on other sites

Posted · Report post

Bonjour Shogun,

Effectivement, on insère en base de données (Table peel_commandes et peel_commandes_articles) les infos concernant une commande par CB ou PAypal AVANT d'arriver sur l'interface de paiement, cad AVANT que le client final n'ait eu l'opprtunité de payer.

On envoie également un email de confirmation de commande.

Le code correspondant se trouve dans : affichage_fin_succes

La fonction qui envoie l'email de confirmation des commande est : email_commande

Je donne ici au passage le code qui permet de ne pas envoyer cet email pour le cas d'une commande Paypal ou CB :

Il faut remplacer dans affichage_fin_succes:

email_commande($commandeid);

$result = query('SELECT * FROM peel_commandes WHERE id ="' . $commandeid . '"');

$com = fetch_object($result);

par

$result = query('SELECT * FROM peel_commandes WHERE id ="' . $commandeid . '"');

$com = fetch_object($result);

if(!(in_array($com->paiement, array(CB, PAYPAL)))){

email_commande($commandeid);

}

Ca pourra peut-être servir à certains, du moins je l'espére (code bien entendu à tester !!)

Par ailleurs, je cite Shogun :

Le problème c 'est que dans ce cas on execute pas la page paiement ok de peel, et que donc le statut 'réglée' n'est pas mis à jour dans l'administration.

--> Normalement, Abandonner un paiement Paypal doit exécuter le fichier nok.php du module paypal, qui met à jour le statut de votre commande vers "6".

Share this post


: post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

Twitter Advisto ecommerce

Facebook PEEL Shopping