Flux de paiement
L'API Hero est conçue pour être simple, efficace et sécurisée.
Définitions
Avant de lire les explications de notre flux de paiement, il est important d'avoir quelques définitions à l'esprit :
Client
: vos clientsType de paiement
: la façon dont les clients paieront Hero. Pour notre Solution de Traitement, cela ne peut être qu'en 1 versement, instantanément.
Explications
Voici un schéma de notre flux de paiement :
Étape 1-a : Requête CreatePayment
Lorsque le client choisit de payer avec Hero sur votre Checkout, votre back-end doit faire une requête pour createPayment.
À cette étape, vous devez fournir certaines informations comme une URI de redirection. Le client sera redirigé vers cette URI lorsque son paiement sera confirmé.
Pour des raisons de sécurité, nous vérifions la valeur de l'URI de redirection. Par exemple, une requête incluant une URI se terminant par .localhost
sera bloquée. Utilisez une URI de redirection non suspecte 😇
Étape 1-b : Retourner l'ID de paiement
Hero vous donnera l'ID de paiement (commençant par payment_id
), veuillez le sauvegarder, vous en aurez besoin.
Étape 2 : Redirection vers la page de paiement en utilisant l'ID de paiement
Maintenant que vous avez l'ID de paiement, vous pouvez rediriger le client sur cette URI :
- Production :
https://pay.heropay.eu/checkout/{payment_id}
- Staging :
https://staging.pay.heropay.eu/checkout/{payment_id}
Votre client est maintenant en train de payer via Hero !
Si vous souhaitez tester notre flux de paiement sur l'environnement de staging, utilisez les informations de carte suivantes :
numéro de carte : 4010061700000021
expiration : 12/26
CVV : 123
Étape 3 : Paiement
Votre client paie sur notre page de paiement. Ses informations de carte sont traitées en toute sécurité.
Étape 4 : Redirection
Votre client a finalisé le paiement, il est redirigé vers votre URI de redirection afin de valider sa commande sur votre site web.
Étape 5-a : Appeler getPaymentsInfos
Vous pouvez vérifier les informations du paiement pour savoir si un paiement a été initié ou non, et pour savoir si un montant a été ou est en cours de remboursement.
Appelez le point de terminaison getPaymentsInfos avec le payment_id
correspondant, puis :
Étape 5-b : Vérifier les informations des paiements
Notre back-end vous donne les informations pertinentes pour ce paiement :
- Si le paiement est initié, cela signifie que le client a payé
- S'il y a une erreur, informez le client que le paiement ne peut pas être finalisé et contactez notre support à support@hero.fr pour plus d'informations. Le paiement n'a pas été finalisé et le client devrait essayer de payer à nouveau.