Accepter un paiement
Acceptez les paiements en ligne en toute sécurité.
Créez un formulaire de paiement ou utilisez une page de paiement préconfigurée pour commencer à accepter les paiements en ligne.
Vous n'êtes pas développeur ?
Utilisez les options sans codage de Stripe ou les applications de nos partenaires pour démarrer et tirer le meilleur parti de votre compte Stripe, sans à écrire la moindre ligne de code. Si vous utilisez une plateforme tierce pour créer et gérer un site Web, vous pouvez ajouter les paiements Stripe à l’aide d’un plugin.
Redirigez vers une page de paiement hébergée par Stripe à l’aide de Stripe Checkout. Comparez cette intégration aux autres types d’intégration de Stripe.
Effort d'intégration
Type d'intégration
Redirection vers la page de paiement hébergée par Stripe
Personnalisation de l'interface utilisateur
Tout d’abord, inscrivez-vous pour créer un Compte Stripe.
Utilisez nos bibliothèques officielles pour accéder à l’API Stripe depuis votre application :
Rediriger votre client vers Stripe CheckoutCôté clientCôté serveur
Ajoutez un endpoint sur votre serveur pour créer une session Checkout. Une session Checkout est la représentation programmatique de ce que votre client voit lorsqu’il est redirigé vers le formulaire de paiement. Vous pouvez la configurer à l’aide de différents paramètres, par exemple :
- line_items pour définir le prix et la devise de ce que vous facturez
- success_url pour rediriger votre client une fois le paiement effectué
De nombreux autres paramètres sont disponibles, tels que customer, qui vous permet de préremplir les champs Checkout avec des coordonnées connues et d’unifier votre historique d’achats. Consultez la section créer une session Checkout pour obtenir la liste complète des paramètres.
Après avoir créé une session Checkout, redirigez votre client vers l’URL renvoyée dans la réponse.
Remarque
Par défaut, les sessions Checkout expirent 24 heures après leur création.
# This example sets up an endpoint using the Sinatra framework. require 'json' require 'sinatra' require 'stripe' # Don't put any keys in code. See https://docs.stripe.com/keys-best-practices. # Find your keys at https://dashboard.stripe.com/apikeys. client = Stripe::StripeClient.new() post '/create-checkout-session' do session = client.v1.checkout.sessions.create({ line_items: [{ price_data: { currency: 'usd', product_data: { name: 'T-shirt', }, unit_amount: 2000, }, quantity: 1, }], mode: 'payment', success_url: 'https://example.com/success', }) redirect session.url, 303 end'sk_test_VePHdqKTYQjKNInc7u56JBrQ'
Ajouter un bouton de paiement à votre site Web
Créez une page HTML avec un bouton de paiement qui redirige votre client vers l’endpoint côté serveur que vous avez créé.
<html> <head> <title>Buy cool new product</title> </head> <body> <!-- Use action="/create-checkout-session.php" if your server is PHP based. --> <form action="/create-checkout-session" method="POST"> <button type="submit">Checkout</button> </form> </body> </html>
Moyens de paiement
Par défaut, Stripe active les cartes bancaires et autres moyens de paiement courants. Vous avez la possibilité d’activer ou de désactiver des moyens de paiement directement depuis le Dashboard Stripe. Dans Checkout, Stripe évalue la devise et les restrictions éventuelles, puis présente dynamiquement au client les moyens de paiement pris en charge.
Pour voir comment vos moyens de paiement s’affichent pour les clients, saisissez un ID de transaction ou définissez le montant et la devise d’une commande sur la page Vérification des moyens de paiement du Dashboard.
Checkout prend en charge Apple Pay et Google Pay sans modifications au niveau de l’intégration. Découvrez comment tester les wallets.
Vérifier votre intégration
Vous devriez maintenant disposer d’un bouton de paiement fonctionnel qui redirige votre client vers Stripe Checkout.
- Cliquez sur le bouton de paiement.
- Vous êtes redirigé(e) vers le formulaire de paiement Stripe Checkout.
Si votre intégration ne fonctionne pas :
- Ouvrez l’onglet Réseau dans les outils de développement de votre navigateur.
- Cliquez sur le bouton de paiement et assurez-vous qu’une requête XHR est bien envoyée à votre endpoint côté serveur (
POST /create-checkout-session). - Vérifiez que la requête renvoie bien un état 200.
- Utilisez
console.dans l’écouteur du clic sur le bouton pour vous assurer qu’il renvoie les données appropriées.log(session)
Afficher une page de confirmation de paiementCôté clientCôté serveur
Il est important que votre client voie une page de confirmation après avoir envoyé le formulaire de paiement. Hébergez cette page de confirmation sur votre site.
Créez une page de confirmation minimale :
<html> <head><title>Thanks for your order!</title></head> <body> <h1>Thanks for your order!</h1> <p> We appreciate your business! If you have any questions, please email <a href="mailto:orders@example.com">orders@example.com</a>. </p> </body> </html>
Ensuite, mettez à jour le paramètre success_url dans votre endpoint de création de session Checkout pour qu’il pointe vers cette nouvelle page (par exemple, http://localhost:4242/success.).
Remarque
Pour personnaliser votre page de confirmation de paiement, consultez le guide dédié à ce sujet.
Gérer les événements post-paiementCôté serveur
Stripe envoie un événement checkout.session.completed lorsqu’un client effectue un paiement par session Checkout. Utilisez l’outil de webhook Dashboard ou suivez le guide consacré aux webhooks pour recevoir et gérer ces événements. Ceux-ci peuvent vous conduire à :
- Envoyez un e-mail de confirmation de commande à votre client.
- Enregistrez la vente dans une base de données.
- Démarrez un flux de travail d’expédition.
Écoutez les événements plutôt que d’attendre que votre client soit redirigé vers votre site. Déclencher l’exécution uniquement depuis votre page de confirmation des paiements n’est pas fiable.
Pour en savoir plus, consultez notre guide de traitement des commandes avec Checkout.
Tester votre intégration
Pour tester votre intégration de formulaire de paiement hébergé par Stripe :
- Créez une session Checkout.
- Renseignez les informations d’un moyen de paiement du tableau suivant.
- Saisissez une date d’expiration postérieure à la date du jour.
- Saisissez un code CVC à 3 chiffres.
- Saisissez un code postal de facturation.
- Cliquez sur Payer. Vous êtes redirigé(e) vers votre
success_.url - Accédez au Dashboard et recherchez le paiement sur la page Transactions. Si votre paiement a abouti, il apparaîtra dans cette liste.
- Cliquez sur votre paiement afin d’afficher plus d’informations, par exemple un récapitulatif Checkout contenant les informations de facturation et la liste des articles achetés. Vous pouvez utiliser ces informations pour traiter votre commande.
- Confirmez que votre endpoint de webhook a bien reçu et traité l’événement
checkout..session. completed
| Numéro de carte | Scénario | Méthode de test |
|---|---|---|
| Le paiement par carte bancaire aboutit et ne nécessite pas d’authentification. | Remplissez le formulaire de paiement par carte bancaire en saisissant le numéro de carte ainsi que la date d’expiration, le CVC et le code postal de votre choix. | |
| Le paiement par carte bancaire requiert une authentification. | Remplissez le formulaire de paiement par carte bancaire en saisissant le numéro de carte ainsi que la date d’expiration, le CVC et le code postal de votre choix. | |
La carte est refusée avec un code de refus de type insufficient_. | Remplissez le formulaire de paiement par carte bancaire en saisissant le numéro de carte ainsi que la date d’expiration, le CVC et le code postal de votre choix. | |
| La carte UnionPay a un numéro d’une longueur variable, allant de 13 à 19 chiffres. | Remplissez le formulaire de paiement par carte bancaire en saisissant le numéro de carte ainsi que la date d’expiration, le CVC et le code postal de votre choix. |
Consultez la section consacrée aux tests pour obtenir des informations supplémentaires sur la manière de tester votre intégration.
