Les étapes du processus de paiement pour un développeur PayPal Express Checkout


SandboxExpressCheckoutFlow
Le diagramme des traitements des processus marchands du côté de l’institution financière a été copié dans une image jointe au logiciel. « Express Checkout flow.png » (« PayPal Sandbox User Guide » (en anglais) p41 :  « Testing PayPal NVP APIs ») version 2.3

C’est PayPal Express Checkout Name-Value Pair (NVP) API en cURL qui est utilisé.
Basiquement, il y a 3 fonctions (mis dans des fichiers du même nom) :
– SetExpressCheckout : Définir les informations pour le paiement
– GetExpressCheckout : Obtenir des informations sur l’acheteur
– DoExpressCheckoutPayment : Exécute le paiement et Obtenir confirmation de l’exécution du paiement

1. L’acheteur séléctionne une commande. Les informations du formulaire (montant + devise + langue) ainsi que les informations du vendeur (API_username, API_password, API_signature) sont injectés dans le SetExpressCheckout à destination de la plateforme de paiement (en cURL).

2. Le ACK du SetExpressCheckout est un succès ou un échec.

3. Si le ACK du SetExpressCheckout est un succès, l’acheteur est redirigé vers la plateforme de paiement (en spécifiant le Token du ACK dans l’url) via une redirection HTTP (JavaScript ou html). L’acheteur se logue et confirme sa commande. (L’acheteur paye sur le PSP)

4. L’acheteur est ensuite redirigé (grâce à une adresse de retour fourni dans le SetExpressCheckout) sur la plateforme de ecommerce. L’ url fournit par le PSP contient un token et le PayerID.

5. Le token peut servir à récupérer les informations de la transactions définie dans le SetExpressCheckout. Les informations sont ensuite injecté dans un GetExpressCheckout,

6. puis dans un DoExpressCheckoutPayment.

7. Si le ACK du DoExpressCheckoutPayment est un succès, les traitements du vendeur s’exécutent.

Les status / états d’une transaction : 2 : validé (Processed), 1 : test , 0 : en attente (Pending), -1 : annulé (Cancelled), -2 : Échoué (Failed ), -3 : Retour arrière (Chargeback)
Optionnel :
– Enregistrer les réponses du PSP dans un table. (KISS : Keep it Simple, Stupid)
– Pour changer la devise : définir le CURRENCYCODE dans SetExpressCheckout et DoExpressCheckoutPayment
– La langue locale est définie uniquement dans le SetExpressCheckout. (AU,DE,FR,GB,IT,ES,JP,US accepté par le PSP)


Le script ne prend en compte que les champs obligatoires par mesure de simplification. Pour ce qui est des champs facultatifs : se référer à la documentation officielle.

source :

https://developer.paypal.com/

http://developer.paypal-portal.com/pdn/board?board.id=fr

http://sourceforge.net/projects/paybook/

http://paybook.sourceforge.net/

Laisser un commentaire

Choisissez une méthode de connexion pour poster votre commentaire:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :