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 notre composant d’interface de carte préconfiguré 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 la 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.

Remarques

Les étapes de ce guide sont entièrement implémentées sur GitHub. Clonez le référentiel et suivez les instructions pour exécuter l’application de démonstration.

Configurer votre compte Stripe
Côté client
Côté serveur

Côté serveur

Pour cette intégration, votre serveur doit être doté de points de terminaison qui communiquent avec l’API de Stripe. Utilisez nos bibliothèques officielles pour accéder à l’API de Stripe depuis votre serveur :

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'

Côté client

La trousse SDK Stripe Android est à code source libre et possède une documentation complète.

To install the SDK, add stripe-android to the dependencies block of your app/build.gradle file:

build.gradle.kts
Kotlin
plugins { id("com.android.application") } android { ... } dependencies { // ... // Stripe Android SDK implementation("com.stripe:stripe-android:21.13.0") // Include the financial connections SDK to support US bank account as a payment method implementation("com.stripe:financial-connections:21.13.0") }

Remarques

Pour obtenir de plus amples informations sur la version la plus récente de la trousse SDK et ses versions antérieures, consultez la page des versions sur GitHub. Pour savoir quand une nouvelle version est disponible, surveillez les versions du référentiel.

Configurez la trousse SDK avec votre clé publique Stripe de façon à ce qu’elle puisse envoyer des requêtes à l’API Stripe, par exemple à la sous-classe Application :

Kotlin
import com.stripe.android.PaymentConfiguration class MyApp : Application() { override fun onCreate() { super.onCreate() PaymentConfiguration.init( applicationContext,
"pk_test_TYooMQauvdEDq54NiTphI7jx"
) } }

Remarques

Use your test keys while you test and develop, and your live mode keys when you publish your app.

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

Côté client, collectez les données de carte voulues de manière sécurisée avec le CardInputWidget, un composant d’interface utilisateur prêt à l’emploi fourni par la trousse SDK qui collecte le numéro de carte, la date d’expiration, le CVC et le code postal.

CardInputWidget effectue la validation et le formatage à la volée.

Créez une instance du composant de la carte et un bouton Payer en ajoutant ce qui suit à votre page de paiement

content_checkout.xml
Afficher l'exemple dans son intégralité
<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior" tools:showIn="@layout/activity_checkout" tools:context=".CheckoutActivity"> <!-- ... --> <com.stripe.android.view.CardInputWidget android:id="@+id/cardInputWidget" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:layout_marginRight="20dp"/> <Button android:text="Pay" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/payButton" android:layout_marginTop="20dp" app:layout_constraintTop_toBottomOf="@+id/cardInputWidget" app:layout_constraintStart_toStartOf="@+id/cardInputWidget" app:layout_constraintEnd_toEndOf="@+id/cardInputWidget"/> <!-- ... --> </androidx.constraintlayout.widget.ConstraintLayout>

Exécutez votre application et assurez-vous que votre page de paiement affiche le composant de carte et le bouton de paiement.

Créer un jeton
Côté client

Quand l’utilisateur appuie sur le bouton de paiement, transformez les informations de carte collectées par CardInputWidget en un jeton Stripe. L’utilisation de jetons garantit qu’aucune donnée de carte sensible ne transite par votre serveur, afin que votre intégration reste conforme à la norme PCI.

Le code suivant montre comment utiliser Stripe#createToken(). La méthode prend une instance Card comme premier paramètre. Le second paramètre est l’instance ApiResultCallback<Token> que le client invoque en cas de réussite ou d’échec. Une fois la transformation en jeton effectuée, envoyez l’ID du jeton renvoyé à votre serveur.

CheckoutActivityKotlin.kt
Kotlin
Afficher l'exemple dans son intégralité
// Hook up the pay button to the card widget and Stripe instance val payButton: Button = findViewById(R.id.payButton) val weakActivity = WeakReference<Activity>(this@CheckoutActivityKotlin) payButton.setOnClickListener { // Get the card details from the card widget val cardInputWidget = findViewById<CardInputWidget>(R.id.cardInputWidget) cardInputWidget.card?.let { card -> // Create a Stripe token from the card details stripe = Stripe(applicationContext, PaymentConfiguration.getInstance(applicationContext).publishableKey) stripe.createToken(card, object: ApiResultCallback<Token> { override fun onSuccess(result: Token) { val tokenID = result.id // Send the Token identifier to the server... } override fun onError(e: java.lang.Exception) { // Handle error } }) } }

Envoyez l’ID du jeton à votre serveur à partir du client.

Créer un paiement avec le jeton
Côté serveur

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, vous pouvez traiter la commande du client et faire afficher une page indiquant que son paiement a été effectué. Sinon, vous pouvez faire afficher une page contenant un message d’erreur.

Tester votre intégration

Si vous pouvez saisir un numéro de carte de test dans l’élément de carte, envoyez-le au serveur et vérifiez qu’il a créé le paiement. Votre intégration est alors terminée.

Vous avez créé une intégration avec l’API Charges pour commencer à accepter immédiatement des paiements par carte. 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

  • Accepter Google Pay
  • 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