Paiements TWINT
Comment accepter TWINT, un moyen de paiement populaire en Suisse.
Mise en garde
Le contenu de cette section fait référence à un produit antérieur. Vous devez plutôt consulter le guide relatif à l’acceptation d’un paiement pour en savoir plus sur le chemin d’intégration le plus récent. Stripe prend toujours en charge ce produit, néanmoins cette prise en charge peut prendre fin si le produit devient obsolète.
TWINT est un moyen de paiement à usage unique utilisé en Suisse. Il permet aux clients d’authentifier et approuver leurs paiements à l’aide d’une application mobile TWINT approuvée.
Vous recevez une notification immédiate indiquant si le paiement a abouti ou échoué.
Dans un premier temps, vous devez créer un compte Stripe. S’inscrire maintenant.
Pour accéder à l’API Stripe depuis votre application, utilisez nos bibliothèques officielles :
Un PaymentIntent est un objet qui représente votre intention d’encaisser un paiement d’un client et suit le processus de paiement. Pour créer un PaymentIntent
qui accepte un moyen de paiement TWINT, spécifiez le montant à collecter, avec chf
comme devise et twint
dans la liste payment_method_types. Si vous gérez une liste de types de moyens de paiement que vous transmettez lors de la création d’un PaymentIntent
, ajoutez-y twint
.
Récupérer la clé secrète du client
Le PaymentIntent contient une clé secrète à utiliser côté client pour finaliser le processus de paiement en toute sécurité. Vous pouvez adopter différentes approches pour transmettre cette clé secrète côté client.
Lorsqu’un client clique pour payer avec TWINT, utilisez Stripe.js pour soumettre le paiement à Stripe. Stripe.js est la bibliothèque JavaScript de base pour créer les tunnels de paiement : elle gère automatiquement les opérations complexes telles que la redirection décrite ci-dessous, et facilite l’extension de votre intégration à d’autres moyens de paiement. Incluez le script Stripe.js sur votre page de paiement en l’ajoutant à la section head
de votre fichier HTML.
Créez une instance de Stripe.js avec le code JavaScript suivant sur votre page de paiement.
Lorsque vous confirmez le paiement, transmettez la clé secrète du client.
Mise en garde
La clé secrète du client doit être utilisée avec prudence, car elle permet d’accéder au PaymentIntent. Ne l’enregistrez pas, ne l’intégrez pas dans des URL et ne la dévoilez à personne d’autre que votre client.
Utilisez stripe.confirmTwintPayment pour rediriger l’utilisateur depuis votre page vers la page du prestataire de services de paiement local. Vous devez préciser l’URL return_
, qui redirige l’utilisateur une fois le paiement effectué.
Le client sélectionne le moyen de paiement spécifique sur la page du prestataire de services de paiement local.
Faites pointer l’attribut return_
vers une page qui fournit l’état du paiement en vérifiant l’état du PaymentIntent. Lorsque Stripe redirige le client vers cette page, nous ajoutons les paramètres de requête d’URL suivants à return_
pour les utiliser dans l’appel de vérification. Vous pouvez également ajouter vos propres paramètres de requête lorsque vous spécifiez l’attribut return_
. Ces paramètres sont conservés tout au long du processus de redirection.
Paramètre | Description |
---|---|
payment_ | L’identifiant unique du PaymentIntent |
payment_ | La clé secrète du client de l’objet PaymentIntent |
Testez votre intégration TWINT en affichant la page de redirection à l’aide de vos clés API de test. Vous pouvez tester la réussite du paiement en l’authentifiant sur la page de redirection. Le PaymentIntent passe alors de l’état requires_
à succeeded
. Pour tester un échec d’authentification de l’utilisateur, utilisez vos clés API de test et accédez à la page de redirection. Sur cette page, cliquez sur Échec du paiement test. Votre PaymentIntent passe de l’état requires_
à requires_
.
Nous vous recommandons d’utiliser Stripe.js pour gérer les redirections et les paiements TWINT côté client avec confirmTwintPayment
. L’utilisation de Stripe.js vous permet d’étendre votre intégration à d’autres moyens de paiement. Cependant, vous pouvez aussi rediriger manuellement vos clients sur votre serveur en suivant ces étapes :
Créez et confirmez un PaymentIntent avec un paramètre
payment_
de typemethod_ data twint
. En précisant le paramètrepayment_
, nous créons un PaymentMethod et l’utilisons immédiatement avec ce PaymentIntent.method_ data Vous devez également renseigner la
return_
, qui redirige l’utilisateur une fois le paiement effectué. Vous pouvez fournir vos propres paramètres de requête dans cette URL. À la fin du flux de redirection, l’URL finale inclut ces paramètres.url Le
PaymentIntent
créé se trouve à l’étatrequires_
et le type deaction next_
est à l’étataction redirect_
.to_ url Redirigez le client vers l’URL fournie dans la propriété
next_
. L’exemple de code fourni ici n’a qu’une valeur illustrative : la méthode de redirection de votre framework web peut différer.action. redirect_ to_ url. url Lorsque le client termine le processus de paiement, nous le redirigeons vers l’URL
return_
spécifiée lors de la création du PaymentIntent. L’URL inclut les paramètres de requête d’URLurl payment_
etintent payment_
. Si vous avez inclus d’autres paramètres lorsque vous avez spécifié laintent_ client_ secret return_
, ils y sont également ajoutés.url Nous vous recommandons d’utiliser des webhooks afin de confirmer l’état du paiement.
Stripe envoie un événement payment_intent.succeeded à l’issue du paiement. Utilisez le Dashboard, un webhook personnalisé ou une solution partenaire pour recevoir ces événements et exécuter des actions, comme envoyer une confirmation de commande par e-mail à votre client, enregistrer la vente dans une base de données ou lancer un workflow de livraison.
Plutôt que d’attendre un rappel de votre client, écoutez ces événements. En effet, côté client, l’acheteur pourrait fermer la fenêtre de son navigateur ou quitter l’application avant l’exécution du rappel. Des personnes malveillantes peuvent en profiter pour manipuler la réponse. Si vous configurez votre intégration de manière à écouter les événements asynchrones, cela vous permettra également d’accepter de nouveaux moyens de paiement plus facilement à l’avenir. Apprenez-en davantage sur les différences entre les différents moyens de paiement pris en charge.
Gérer les événements manuellement dans le Dashboard
Utilisez le Dashboard pour afficher vos paiements de test dans le Dashboard, envoyer des reçus par e-mail, gérer les virements ou réessayer les paiements échoués.
Créer un webhook personnalisé
Créez un gestionnaire de webhook personnalisé pour écouter les événements et créer des tunnels de paiement asynchrones personnalisés. Testez et déboguez votre intégration de webhook localement avec la CLI Stripe.
Intégrer une application prédéfinie
Gérez les événements commerciaux courants, tels que l’automatisation ou le marketing et les ventes, en intégrant une application partenaire.