Intégration de redirection
L'intégration de redirection est un processus simple et sécurisé qui utilise la page de paiement du côté de la passerelle de paiement. Le principal avantage de cette méthode d'intégration est que vous n'avez pas besoin de collecter et traiter les données de carte sur votre site web. L'API est utilisée de manière minimale dans ce cas, donc cette méthode ne nécessite pas beaucoup d'expertise en développement.
Tout d'abord, vous devriez vous abonner aux webhooks suivants (voir Webhooks pour plus de détails) :
-
session.completed- se produit quand une session a été complétée avec succès. -
session.expired- se produit quand une session est expirée.
(requête "/sessions") activate PG PG -->> OS: id, paymentUrl OS -->> C: Rediriger vers l'URL de paiement C ->> PG: Saisir les données de carte PG -->> PG: Traiter le paiement PG -->> C: Rediriger vers l'URL de succès deactivate C PG -->> OS: webhook "session.completed"
deactivate OS deactivate PG
Un client sélectionne un produit dans la boutique en ligne, puis clique sur Acheter.
-
La boutique en ligne demande la création de session en envoyant une requête POST
/sessionsà la passerelle de paiement. La requête doit contenir les paramètres suivants :-
amount- le montant du paiement en unités monétaires mineures. Par exemple, pour spécifier 100 $, utilisezamount=10000etcurrency=USD(10000 centimes). -
currency- code de la devise de paiement, selon ISO 4217. -
successUrl- l'adresse vers laquelle le client sera redirigé après un paiement réussi à l'Étape 7. -
failureUrl- l'adresse vers laquelle le client sera redirigé à l'Étape 7, si le paiement échoue.
Exemple de requête :
curl -X POST "https://dev.bpcbt.com/api2/sessions" \ -H "X-Api-Key: 6HUXQFbeomV1zf5i8cgm5W8KfncENVEa5uh8RngB" \ -H "X-Version: 2023-10-31" \ -H "Content-Type: application/json" \ -d '{ "amount": 10000, "currency": "EUR", "successUrl": "https://mybestmerchantreturnurl.com/success", "failureUrl": "https://mybestmerchantreturnurl.com/failure" }' -
-
La passerelle de paiement crée une session et envoie une réponse au serveur de la boutique en ligne. La réponse contient un
id(l'identifiant unique de la session dans la passerelle de paiement) et unepaymentUrl(l'URL vers laquelle la boutique en ligne devrait rediriger le client pour le paiement à l'Étape 4). Les autres champs envoyés dans la requête sont également retournés dans la réponse.Exemple de réponse :
{ "id": "ps_2GRSigkh7m3hqz5pMCAYCzJaXjsHgypQui6nMBss3XLVLF8gwDASHP", "amount": 10000, "created": "2024-03-28T08:26:37Z", "currency": "EUR", "customerDetails": {}, "expiresAt": "2024-03-28T08:46:37Z", "failureUrl": "https://mybestmerchantreturnurl.com/failure", "locale": "EN", "merchantReferenceId": "4000", "metadata": {}, "paymentData": { "captureMethod": "automatic" }, "paymentStatus": "unpaid", "paymentUrl": "https://dev.bpcbt.com/payment/merchants/ecom/payment.html?mdOrder=12a19f56-50e6-74bc-a289-c93d00a9c8eb&language=en", "status": "open", "successUrl": "https://mybestmerchantreturnurl.com/success" } La boutique en ligne redirige le client vers l'URL reçue dans le paramètre
paymentUrl. La redirection peut être effectuée dans la même fenêtre ou dans une nouvelle fenêtre.Le client saisit son numéro de carte, la date d'expiration et le CVV/CVC, puis clique sur Payer.
La passerelle de paiement traite la demande de paiement.
-
Le client est redirigé vers la page de la boutique en ligne définie dans le paramètre
successUrl(spécifié à l'Étape 2). L'URL de redirection contiendra l'ID de la session, par exemple :https://mybestmerchantreturnurl.com/success?sessionId=ps_aksdhauedqiuwehdiqwbdq. La boutique en ligne attend le webhook
session.completedpour s'assurer que le paiement a été réussi. Vous devez toujours vérifier la signature du webhook dans l'en-têteX-Signature(voir Webhooks pour les détails).