Skip to content

Paiement en ligne

La documentation suivante décrit la mise en place, via API, du paiement en ligne au travers du PSP mis en place par Resamania pour le compte du club.

Resamania permets actuellement d'utiliser deux PSP différents :

  • Payline
  • Stripe

Macro process et prérequis

Le process d'utilisation des codes promo suit les étapes suivantes:

  1. Créer une vente (consulter la documentation dédiée)
  2. Créer un object de paiement
  3. Rediriger l'usager vers le formulaire de paiement
  4. Traiter le succès ou l'echec
  5. Récupérer l'état d'un paiement

Créer un object de paiement

POST {clientToken}/payable_objects

Les payableObjects sont des demandes de paiement. En indiquant pour quels entités (vente) et quel montant vous souhaitez régler via un paiement en ligne, vous recevez en retour une représentation de payableObject vous permettant de rediriger l'usager vers le formulaire de paiement en ligne.

Vous devez préciser les validUrl et cancelUrl

  • validUrl est l'URL vers laquelle l'usager est renvoyé en cas de succès, comme en cas d'erreur
  • cancelUrl est l'URL vers laquelle l'usager est renvoyé s'il annule la transation

WARNING

Pour savoir si le paiement est accépté ou non, vous devez donc prendre soin de récupérer l'état d'un paiement.

NOTE

Vous pouvez ne réclamer qu'une partie du montant de la vente en paiement en ligne. Si le contact souhaite régler le reste du montant au club par exemple.

Rediriger l'utilisateur

La redirection de l'utilisateur dépend du PSP utilisé.

Dans le cas de Payline

La redirection est simple : Il faut récupérer la redirectURL du PayableObject reçu en réponse.

Dans le cas de Stripe

Le cas de Stripe est un peu particulier puisque nous utilisons les elements que Stripe propose. Un dépôt github de démonstration détaille la manière de l'implémenter : https://github.com/stadline/resamania2-partners-examples/tree/master/stripe/react[Accessible ici]

Traiter le succès ou l'echec

Si vous avez différencié les URLs de succès ou d'echec, il vous suffit simplement de vous y fier pour afficher la bonne page à l'usager.

WARNING: Attention, aucune information n'est renvoyée à ces pages (ni reference, ni identifiants) qui permettraient d'identifier l'usager et sa commande, c'est à vous de les renseigner dans vos validUrl et cancelUrl

Si vous avez utilisé la même URL pour le succès et l'echec, suivez le point suivant pour récupérer l'état du paiement et afficher la bonne page à votre usager.

Récupérer l'état d'un paiement

Utilisez l'endpoint PUT /{clientToken}/payable_objects/{id}/check pour récupérer l'état du paiement. Cet endpoint va vérifier si Resamania a déjà connaissance de l'état du paiement. Et le cas échéant aller demander l'information directement au PSP.

En échange, vous récupérez l'object PayableObject à jour.

Basez vous sur sa propriété state pour connaître son état. Vous pouvez également utiliser sa propriété logs pour avoir plus d'informations.

EtatDescription
createdTout juste créé, pas encore utilisé
pendingEn attente d'information de la part du PSP
requestedPaiement en attente
canceledDemande de paiement annulée
validatedPaiement reçu
refusedPaiement refusé