- JPGO a écrit:
- Météor a écrit:
Alors, on va reexpliquer...
PayPal est interfacé avec les systèmes Visa MasterCard et autres.
Un résultat positif de transaction n'est pas émis si le transfert de fond n'est pas effectif.
Bin ça commence mal tes explications, car Paypal est une banque avec un compte, comme toute banque. Si ton compte est provisionné, il ne sera pas déclenché de prélèvement sur un compte extérieur. Ce compte extérieur est défini soit par une carte bancaire, soit par un compte bancaire classique. La connexion avec Visa ou Mastercard n'est ni plus ni moins la même que celle avec les autres commerçants, à l'autorisation de prélèvement permanent près.
Comme toute banque, il y a des gestionnaires de compte qu'on peux contacter facilement et qui répondent immédiatement.
Comme j'utilise le système à grosse dose depuis 2006, j'ai un peu regardé le truc et pas en simple spectateur
Waouhh ! Depuis 2006, moi c'est depuis 2004. Enfin bon, on va pas faire un concours de celui qui a la plus longue..... expérience bien sûr !
Ce que j'ai essayé d'expliquer, c'est qu'on se fout complètement de ce qui se passe chez
Paypal (comme sur le site d'une banque également), c'est leur cuisine interne.
L'important, comme avec un TPE je persiste, c'est le retour du status IPN associé à un numéro de transaction (token) : l'equivalent du message "paiement accepté" du TPE qui lui non-plus ne s'affiche jamais par hasard...
Donc, on s'en fout, mais du coup je vais l'expliquer quand même.
Voici le schéma de principe , a gauche le site du vendeur, à droite
Paypal :
source : Paypal developer - pfp_expresscheckout_pp.pdfCliquer sur le bouton payer avec
Paypal engendre l'échange 1, le vendeur envoi son ID vendeur, mot de passe, le type de transaction, le prix, la monnaie, etc.
En retour, le token (n° de transaction) est donné par
Paypal - échange 2.
De là, l'acheteur est envoyé sur le site
Paypal avec le Token en référence en message 3.
L'acheteur s'identifie chez
Paypal, approuve la méthode valide de paiement proposée par
Paypal pour le montant, la monnaie et le vendeur demandeur.
Dans tous les cas, si la transaction n'est pas réalisable simplement (par exemple, solde
Paypal insuffisant donc besoin de compléter par carte, ou même encore carte expirée, ou autorisation de prélèvement invalide sur un compte associé, que sais-je), il y a message dans la fenêtre "Review" avant la transaction 4.
C'est avant l'échange 4 où le client pré-informe
Paypal de son accord pour la futur transaction et le client a été obligé de sélectionner un mode de paiement réalisable.
Si on passe l'étape 4, alors on est de retour chez le vendeur pour la validation de commande, là, les ID du vendeur, et maintenant ID de l'acheteur, le token de transaction, le montant, etc sont connus des deux parties (
Paypal et vendeur).
Mais ce n'est qu'a ce point par exemple que l'adresse
Paypal confirmée liée au compte va être transmise au vendeur (avec la transaction 5), s'il le demande.
Là, certains vendeurs bloquent, car ils refusent des expéditions à adresse différente (question d'assurance transport entre autre).
La transaction 6 sera LA confirmation que les choix de l'étape 4 (confirm details) ont été réalisés, encore une fois, la transaction 4 n'est qu'une pré-autorisation.
Le "response/transaction result" est LE résultat remis au vendeur.
Donc, A LUI LE VENDEUR d'ajuster le message pour le client à la fin, OK ou ECHEC.
Paypal ne va pas générer un status 0 (zero = successful) si la transaction n'est pas réellement faite.
Un vendeur ne doit pas confirmer de transaction s'il obtient un status >0, donc ne PAS ACCEPTER la commande.
En cas d'échec,
Paypal recommande de renvoyer l'acheteur sur la page du panier.
Et pout finir, voir les recommendations
Paypal lors de l'implémentation d'un processus IPN, afin de finaliser une commande, issu du site français de
Paypal :
<<
PayPal répondra à la publication avec un seul mot, REUSSITE ou ECHEC, sur une ligne dans le corps de la réponse. Dès la réception d'une réponse VERIFIE, vous devez procéder à plusieurs vérifications avant d'honorer la commande :
- Confirmez que la variable payment_status a pour valeur Terminé dans la mesure où les Notifications instantanées de paiement sont également envoyées pour d'autres résultats tels que En attente ou Échec.
- Vérifiez que la variable txn_id n'est pas un doublon pour empêcher un fraudeur de réutiliser une ancienne transaction terminée.
- Validez la variable "receiver_email" comme étant l'adresse email inscrite sur votre compte
PayPal, pour éviter l'envoi du paiement sur le compte d'un fraudeur.
- Vérifiez d'autres détails de la transaction comme le numéro et le prix de l'objet pour confirmer que le prix n'a pas changé.
Une fois que vous avez procédé aux vérifications ci-dessus, vous pouvez mettre à jour votre base de données avec les données IPN et traiter l'achat.
Si vous recevez une notification "NON VALIDE", considérez-la comme douteuse et menez votre étude.
>>
Il y a même un système de réexpédition des réponses
Paypal à
Paypal afin qu'il les authentifient par double vérification.
Sur ce, je vous laisse.