Accéder directement au contenu
Créez un compte
ou
connectez-vous
Le logo de la documentation Stripe
/
Demander à l’IA
Créer un compte
Connectez-vous
Commencer
Paiements
Automatisation des finances
Plateformes et places de marché
Gestion des fonds
Outils de développement
Commencer
Paiements
Automatisation des finances
Commencer
Paiements
Automatisation des finances
Plateformes et places de marché
Gestion des fonds
AperçuDécouvrez 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
        Enregistrer une carte
        Bloquer une somme d'argent sur une carte
        Paiements avec Connect
      Sources
    Phases de publication
Build with LLMs
Utiliser Stripe sans codage
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
Gérer les litiges
Vérifier l'identité
AccueilCommencerAbout the APIsOlder APIsCharges

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

Acceptez 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
  • Bank requests for card authentication
  • Strong Customer Authentication

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 gérer de données sensibles. Les informations de carte sont ensuite transformées en jeton représentatif que vous pouvez envoyer sans risque à vos serveurs. Votre serveur peut ensuite utiliser ce jeton pour créer un paiement.

Configurer votre compte 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éer votre formulaire de paiement
Côté client

Pour collecter les informations des cartes de vos clients en toute sécurité, 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 sans que vous ayez à les créer.

Configurer 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');

L’Element card simplifie le formulaire et réduit le nombre de champs requis en insérant un champ de saisie flexible et unique qui collecte 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 multisaisie flexible.

Remarques

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.

The single line Card Element automatically collects and sends the customer’s postal code to Stripe. If you build your payment form with split Elements (Card Number, Expiry, CVC), add a separate input field for the customer’s postal code.

Consultez notre documentation de référence sur Stripe.js pour obtenir la liste complète des types de composants Element pris en charge.

Créer un jeton
Côté client

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

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) qui contient 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 ce qui suit :

  • result.token : un jeton a bien été créé.
  • result.error : une erreur s’est produite. Cela comprend les erreurs de validation côté client. Consultez la documentation sur les 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.

Envoyer le jeton à votre serveur
Côté client

Envoyez le jeton à 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éer un paiement avec le jeton
Côté serveur

Une fois que le client a publié le jeton sur votre serveur, vous pouvez l’utiliser pour créer un paiement. Sur votre serveur, prenez le jeton Stripe dans les paramètres POST envoyés par votre formulaire. Ensuite, il suffit d’un appel à l’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 faites afficher une page indiquant que son paiement a été effectué. Sinon, faites afficher une page contenant un message d’erreur.


Tester votre intégration

Si vous pouvez saisir le numéro d’une carte de 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 venez de terminer une intégration de paiement de base avec l’API Charges. Cette API ne prend pas en charge l’expansion des entreprises ou de la clientèle en dehors des États-Unis et du Canada. Pour des paiements plus sûrs à l’international, 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.

  • Découvrez Stripe Elements
  • Enregistrement de cartes avec l’API Charges
Cette page vous a-t-elle été utile?
OuiNon
Besoin d'aide? Contactez le service d'assistance.
Rejoignez notre programme d'accès anticipé.
Consultez notre journal des modifications.
Des questions? Contactez l'équipe commerciale.
GML? Lire llms.txt.
Optimisé par Markdoc