Paiement externe

Lorsqu'un client clique sur l'une de vos méthodes de paiement, il est redirigé vers le checkoutUrl fourni à l'étape précédente. Si nécessaire, c'est ici que les clients saisissent leurs informations de paiement pour compléter la commande en cours.

Snipcart custom payment gateway external checkout example

Voir la démo en ligne ici. "SleekyPay" est la méthode de paiement personnalisée sur notre démo officielle.
Voir le dépôt GitHub ici.

Hébergement de votre paiement externe

Il n'y a pas d'exigences spécifiques pour l'hébergement de votre page de paiement externe. À ce stade, les requêtes à l'API, comme la récupération de la session de paiement, peuvent être effectuées soit côté serveur, soit par une application côté client. Comme mentionné dans une entrée précédente, les exemples présentés dans cette documentation utilisent une approche centrée sur l'application client avec des fonctions sans serveur.

Cette page étant hébergée chez vous, il vous incombe d'appliquer de bonnes pratiques de sécurité afin que les clients puissent payer dans un environnement sécurisé. Vous pouvez consulter la cheatsheet OWASP pour tout conseil de sécurité.

Affichage des informations relatives aux clients et aux factures

Pour afficher toute information sur la commande, vous pouvez récupérer la session de paiement en cours en envoyant une requête GET à notre point de terminaison de session de paiement. Une description complète du payload à retourner peut être trouvée dans notre référence technique.

// Get public token from query string
const publicToken = new URLSearchParams(window.location.search).get('publicToken')

// Fetch payment session from API
const response = await fetch(`https://payment.snipcart.com/api/public/custom-payment-gateway/payment-session?publicToken=${publicToken}`);

// Retrieve body as JSON if the request's status code is successful
if (response.ok) {
    const paymentSession = await response.json()
}

Renvoyer les clients vers Snipcart

Si vous voulez laisser les clients retourner au panier de Snipcart ou annuler leur paiement, un champ PaymentAuthorizationRedirectUrl est disponible via l'objet de session de paiement.

paymentSession.PaymentAuthorizationRedirectUrl

La création d'un simple lien HTML vers cette URL devrait faire l'affaire!

Étape suivante

→ Traitement des paiements côté serveur