Accéder directement au contenu
Créez un compte
ou
connecter-vous
Logo de la documentation Stripe
/
Demander à l'assistant IA
Créez un compte
Connectez-vous
Démarrer
Paiements
Automatisation des opérations financières
Plateformes et places de marché
Gestion de fonds
Outils de développement
Démarrer
Paiements
Automatisation des opérations financières
Démarrer
Paiements
Automatisation des opérations financières
Plateformes et places de marché
Gestion de fonds
AperçuDécouvrir tous les produits
Commencer à développer
Commencer le développement
Exemples de projets
À propos des API
    Visite guidée de l'API
    API Payment Intents
    API Setup Intents
    Moyens de paiement
    Produits et tarifs
    API plus anciennes
      Paiements
        Migrer vers les nouvelles API
        Accepter un paiement par carte bancaire
        Enregistrer une carte
        Bloquer une somme d'argent sur une carte bancaire
        Paiements avec Connect
      Sources
    Phases de publication
Intégrer des LLM
Utiliser Stripe sans coder
Configurer Stripe
Créer un compte
Dashboard Web
Dashboard mobile
Migrer vers Stripe
Gérer le risque de fraude
Comprendre la fraude
Radar pour la protection contre la fraude
Gestion des litiges
Vérifier l'identité
AccueilDémarrerAbout the APIsOlder APIsCharges

Accepter un paiement avec Stripe Elements et l'API ChargesAPI Charges

Accepter les paiements en ligne de clients américains et canadiens.

Copier la page

Ancienne API

The content of this section refers to a Legacy feature. Use the Payment Intents API instead.

L’API Charges ne prend pas en charge les fonctionnalités suivantes, dont beaucoup sont nécessaires à la conformité d’une carte bancaire :

  • Marchands en Inde
  • Demandes d’authentification de carte émanant des banques
  • Authentification forte du client

Utilisez Stripe Elements, nos composants d’interface préconfigurés, pour créer un formulaire de paiement qui vous permet de collecter les informations de carte d’un client en toute sécurité sans manipuler de données sensibles. Les informations de carte sont ensuite converties en un token représentatif que vous pouvez envoyer sans risque à vos serveurs. Votre serveur peut ensuite utiliser ce token pour créer un paiement.

Configurer Stripe

Pour commencer, il vous faut un compte Stripe. Inscrivez-vous.

Utilisez les bibliothèques officielles pour accéder à l’API Stripe à partir de votre application :

Command Line
Ruby
# Available as a gem sudo gem install stripe
Gemfile
Ruby
# If you use bundler, you can add this line to your Gemfile gem 'stripe'

Créez votre formulaire de paiement
Côté client

Pour recueillir de manière sécurisée les informations des cartes de vos clients, Stripe Elements crée pour vous des composants d’interface utilisateur hébergés par Stripe. Ces composants sont ensuite placés dans votre formulaire de paiement, vous n’avez donc pas besoin de les créer directement.

Configurez Stripe Elements

Pour intégrer Elements dans votre page Web, ajoutez cette balise de script dans la section head de votre page HTML :

payment.html
<script src="https://js.stripe.com/v3/"></script>

Ce script doit toujours être chargé directement à partir de https://js.stripe.com.

Créez une instance d’Elements avec le JavaScript suivant sur votre page de paiement :

client.js
// Set your publishable key: remember to change this to your live publishable key in production // See your keys here: https://dashboard.stripe.com/apikeys const stripe = Stripe(
'pk_test_TYooMQauvdEDq54NiTphI7jx'
); const elements = stripe.elements();

Une fois que vous avez chargé Elements, vous pouvez créer un conteneur DOM vide doté d’un ID unique dans votre formulaire de paiement partout où vous voulez qu’Elements ajoute son champ de saisie. Nous vous conseillons de placer ce conteneur dans une balise <label> ou à côté d’une balise <label> avec un attribut for qui correspond à l’id unique du conteneur Element. Ce faisant, l’élément est automatiquement mis en avant lorsque le client clique sur le libellé correspondant.

Par exemple :

payment.html
<form action="/charge" method="post" id="payment-form"> <div class="form-row"> <label for="card-element"> Credit or debit card </label> <div id="card-element"> <!-- A Stripe Element will be inserted here. --> </div> <!-- Used to display Element errors. --> <div id="card-errors" role="alert"></div> </div> <button>Submit Payment</button> </form>

Lorsque le formulaire ci-dessus est chargé, créez une instance d’un Element card et montez-le sur le conteneur Element créé plus haut :

client.js
// Custom styling can be passed to options when creating an Element. const style = { base: { // Add your base input styles here. For example: fontSize: '16px', color: '#32325d', }, }; // Create an instance of the card Element. const card = elements.create('card', {style}); // Add an instance of the card Element into the `card-element` <div>. card.mount('#card-element');

Le composant Element card simplifie le formulaire et réduit le nombre de champs requis grâce à l’insertion d’un champ de saisie unique flexible qui collecte toutes les informations de carte nécessaires, en toute sécurité.

Vous pouvez aussi combiner les composants Elements cardNumber, cardExpiry et cardCvc pour créer un formulaire de carte multi-saisie flexible.

Remarque

Recueillez toujours un numéro de code postal afin d’améliorer vos taux d’acceptation des cartes bancaires et de réduire la fraude.

Le composant Card Element à une seule ligne recueille automatiquement le code postal du client et l’envoie à Stripe. Si vous créez votre formulaire de paiement avec des Elements fractionnés (Numéro de carte, Expiration, CVC, ajoutez un champ de saisie distinct pour le code postal du client.

Reportez-vous à notre documentation de référence relative à Stripe.js pour obtenir la liste complète des types d’Element pris en charge.

Créez un token
Côté client

Ajoutez un écouteur d’événement qui détecte quand votre client envoie ses informations de carte bancaire et utilisez stripe.createToken(card) pour tokeniser ces informations :

client.js
// Create a token or display an error when the form is submitted. const form = document.getElementById('payment-form'); form.addEventListener('submit', async (event) => { event.preventDefault(); const {token, error} = await stripe.createToken(card); if (error) { // Inform the customer that there was an error. const errorElement = document.getElementById('card-errors'); errorElement.textContent = error.message; } else { // Send the token to your server. stripeTokenHandler(token); } });

createToken accepte aussi un deuxième paramètre facultatif (qui n’est pas utilisé dans cet exemple) contenant des informations de carte supplémentaires collectées auprès du client. La fonction renvoie un paramètre Promise qui est résolu avec un objet result. Cet objet peut renvoyer deux réponses :

  • result.token : un Token a bien été créé.
  • result.error : une erreur s’est produite. Cela inclut les erreurs de validation côté client. Reportez-vous à la documentation relative à l’API pour connaître toutes les erreurs possibles.

Si l’objet contient un result.token, envoyez-le à votre serveur. Sinon, affichez une erreur au client.

Envoyez le token à votre serveur
Côté client

Envoyez le token à votre serveur avec les informations complémentaires collectées :

client.js
const stripeTokenHandler = (token) => { // Insert the token ID into the form so it gets submitted to the server const form = document.getElementById('payment-form'); const hiddenInput = document.createElement('input'); hiddenInput.setAttribute('type', 'hidden'); hiddenInput.setAttribute('name', 'stripeToken'); hiddenInput.setAttribute('value', token.id); form.appendChild(hiddenInput); // Submit the form form.submit(); }

Créez un paiement avec le token
Côté serveur

Une fois que le client a publié le token sur votre serveur, vous pouvez l’utiliser pour créer un paiement. Sur votre serveur, prenez le token Stripe dans les paramètres POST envoyés par votre formulaire. Ensuite, il suffit d’un appel d’API pour débiter la carte :

Command Line
curl
curl https://api.stripe.com/v1/charges \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "amount"=999 \ -d "currency"="usd" \ -d "description"="Example charge" \ -d "source"="tok_visa"

La réponse à la création d’un paiement sera soit un paiement soit une erreur avec un code d’erreur. Si la réponse est positive, traitez la commande du client et affichez une page indiquant que son paiement a abouti. Sinon, affichez une page contenant un message d’erreur.


Tester votre intégration

Si vous pouvez saisir le numéro d’une carte test dans votre formulaire HTML, envoyez-le au serveur et vérifiez qu’il a créé le paiement. Votre intégration est alors terminée.

Félicitations ! Vous avez créé une intégration de paiement de base avec l’API Charges. Cette API ne prend pas en charge la croissance des entreprises ou clients établis en dehors des États-Unis et du Canada. Pour des paiements plus sûrs à l’échelle mondiale, découvrez comment accepter un paiement avec l’API Payment Intents.

Voir aussi

Vous pouvez en apprendre davantage sur Elements et la manière d’enregistrer des cartes avec l’API Charges.

  • En savoir plus sur Stripe Elements
  • Enregistrer des cartes avec l’API Charges
Cette page vous a-t-elle été utile ?
OuiNon
Besoin d'aide ? Contactez le service Support.
Rejoignez notre programme d'accès anticipé.
Consultez notre log des modifications.
Des questions ? Contactez l'équipe commerciale.
LLM ? Lire llms.txt.
Propulsé par Markdoc