Skip to content

Online Payment

The following documentation describes the implementation, via API, of online payment through the PSP set up by Resamania on behalf of the club.

Resamania currently allows the use of two different PSPs:

  • Payline
  • Stripe

Macro Process and Prerequisites

The process of using promo codes follows these steps:

  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

Create a payment object

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.

You must specify the validUrl and 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.

Redirect the user

User redirection depends on the PSP used.

In the case of Payline

Redirection is simple: Retrieve the redirectURL from the PayableObject received in response.

In the case of 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]

Handle success or failure

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.

Retrieve the status of a payment

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.

In return, you receive the updated PayableObject.

Use its state property to determine its status. Vous pouvez également utiliser sa propriété logs pour avoir plus d'informations.

StateDescription
createdJust created, not yet used
pendingWaiting for information from the PSP
requestedPayment pending
canceledPayment request canceled
validatedPayment received
refusedPayment refused