# Mise en place du paiement par Paypal

## *Récupérer les informations de connexion à l’API Paypal*

&#x20;

Tout d'abord récupérer les informations de connexion à l'API Paypal, afin de pouvoir interfacer le client au compte Paypal, pour cela :

&#x20;

Une fois connecté à votre compte Paypal professionnel, cliquez sur mon compte/préférences.

Dans la colonne Informations personnelles, cliquer sur "Accès à l'API" puis sur afficher une signature API, Récupérer l'identifiant, le mot de passe, et la signature API.

&#x20;

Exemple :

Identifiant API :           vendeur\_2652131796\_biz\_api1.nout.fr

Mot de passe API :      3548450953

Signature API : FgEFHzAUhyzdfGT.DN54HF.Fd1StHdYDDfPMDdrtgdDHER5hDFEgETG2

&#x20;

&#x20;

&#x20;

Il faudra ensuite renseigner les informations de connexion à l'api dans les informations de l'entreprise depuis le client SIMAX Windows.

&#x20;

Pour le renseignement de ces informations, utiliser les champs ("Identifiant API Paypal" (modèle Texte), "Mot de passe API Paypal" (modèle mot de passe), "Signature API Paypal" (modèle texte) et "Fonctionner en mode Sandbox API Paypal" (modèle vrai/faux), qui sont créé lors de l'import du SMX Paypal.smx

&#x20;

Note : il est possible de ne pas renseigner ces champs, il faudra alors passer les valeurs des informations de l'API Paypal à l'action particulière paiement Paypal

&#x20;

Il est possible de cocher la case "Fonctionner en mode Sandbox API paypal" afin d'effectuer des tests grâce à la "sandbox" Paypal, il faudra dans ce cas utiliser les informations d'une compte vendeur sandbox (cf. : <https://developer.paypal.com>).

&#x20;

Pour effectuer le paiement à proprement parler, utiliser l'action particulière "paiement paypal" avec prix et  devise.

&#x20;

## &#x20;*Workflow et utilisation des actions* <a href="#toc326682148" id="toc326682148"></a>

L'action "paiement paypal" sera appelé, Afin de préparer un paiement paypal, si elle s'exécute, tout est prêt pour exécuter le paiement et le payeur a accepté le paiement éventuel.

&#x20;

Dès lors le paiement peut être effectué grâce à la fonction ExecutePaiementPaypal, par exemple sur "automatisme sur action" suite à l'action "paiement paypal". Cette fonction valide le paiement auprès de paypal : une fois appelé, le paiement sera validé. (Sauf en cas d'erreur).

&#x20;

Les fonctions EtatPaiementPaypal et InformationPaiementPaypal peuvent elles être appelés quand on le désire pour vérifier l'état du paiement. Par exemple, à la suite d'une préparation de paiement (action particulière "paiement paypal") ou de l'exécution du paiement (fonction ExecutePaiementPaypal).

&#x20;

&#x20;

## *Paramétrage de l’action particulière Paypal*

Exécution de l'action particulière "Paiement Paypal" disponible dans le SMX "Paypal.smx"

&#x20;

Paiement Paypal, parametre : Montant, Devise, Token transaction Paypal, Identifiant payeur, Identifiant API Paypal, Mot de passe API Paypal, Signature API Paypal, Sandbox API Paypal

&#x20;

Les paramètres  " Montant"  et "Devise" sont obligatoires.

Les paramètres " Token transaction Paypal" et " Identifiant payeur" ne doivent pas être remplis, ils sont nécessaire pour exécuter l'action, mais sont remplis par simax lors de la préparation du paiement paypal.

Les paramètres d'API (Identifiant API Paypal, Mot de passe API Paypal, Signature API Paypal, Sandbox API Paypal) peuvent être renseignés, dans le cas contraire ils sont récupérés dans les informations de "Ma société"

&#x20;

&#x20;

Le Montant est sous forme décimal (ex : 10,00) Attention : n'importe quel champs monétaire peut être utilisé (2,3 décimal ...) cependant la valeur sera TRONQUE à 2 décimal (tronquer et non pas arrondi).

La devise est un code de devise à 3 caractères ISO-4217 (ex : EUR, USD) (cf. : <https://cms.paypal.com/fr/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_nvp_currency_codes>)

(ces valeur ne sont pour l'instant pas gérer par un modèle, ou une liste simax existante).

Le paramètre vrai/faux Sandbox API Paypal permet de préciser si l'on souhaite utiliser un compte de test Paypal (dit "SandBox")

Token transaction Paypal et  Identifiant payeur ne doivent pas être renseignés.

&#x20;

## &#x20;*Fonctions pour état et information du paiement*

Les deux fonctions pour obtenir des informations sur l'état du paiement

&#x20;

EtatPaiementPaypal(Montant, Devise, Login Vendeur, Mot de Passe Vendeur, Signature Vendeur, Token de la transaction, ID du payeur \[, Sandbox=faux]) => entier

&#x20;

Renvoi un entier qui indique l'état du paiement :

\* -1 erreur                  (PaymentActionFailed)

\* 0 non initialisé                     (PaymentActionNoInitiated)

\* 1 en cours                (PaymentActionInProgress)

\* 2 complet                (PaymentActionCompleted)

&#x20;

Exemple d'utilisation : cette fonction permet de mettre une condition au paiement paypal

Si (EtatPaiementPaypal(...)=0, ExecutePaiementPaypal(...))

&#x20;

InformationPaiementPaypal(Montant, Devise, Login Vendeur, Mot de Passe Vendeur, Signature Vendeur, Token de la transaction, ID du payeur \[, Sandbox=faux]) => Texte

&#x20;

Renvoi une chaine avec les informations de paiement séparés par des, :

Etat du paiement en texte, le montant, la divise et l'identifiant de la transaction si l'état est Complet.

## *Fonctions pour exécution du paiement*

ExecutePaiementPaypal(Montant, Devise, Login Vendeur, Mot de Passe Vendeur, Signature Vendeur, Token de la transaction, ID du payeur \[, Sandbox=faux]) => Texte

&#x20;

La fonction ExecutePaiementPaypal procède au paiement réel ; le vendeur n'est crédité qu'une fois que cette fonction a été exécutée.

La fonction retourne l'identifiant de la transaction : 17 caractères (lettres et chiffres) qui identifie la transaction de manière unique (utile pour les réclamations ou annulation).

&#x20;

Exemple d'ID de transaction : 9F364408YT940513W

<br>

&#x20;
