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
      Fonctionnement des PaymentIntents
      Mises à jour de l'état des paiements
      Capture asynchrone
      Comparer à Charges
    API Setup Intents
    Moyens de paiement
    Produits et tarifs
    API plus anciennes
    Phases de publication
Build with LLMs
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 APIsPayment Intents API

Capture asynchrone

Utilisez la capture asynchrone pour accélérer les confirmations de PaymentIntent.

Copier la page

La capture asynchrone réduit la latence des confirmations de PaymentIntent en faisant en sorte que l’opération de capture se déroule en arrière-plan. Après avoir effectué la demande de capture, votre intégration reçoit une réponse positive et Stripe finalise la capture du paiement dans le back-end. Pour utiliser ces captures de PaymentIntent plus rapides, définissez le paramètre capture_method=automatic_async lors de la confirmation d’un PaymentIntent.

Accepter la capture asynchrone

Pour mettre à niveau votre intégration existante et ajouter la prise en charge de la capture asynchrone, utilisez automatic_async comme méthode de capture lors de la création d’un PaymentIntent. La spécification du paramètre capture_method=automatic_async est facultative, car Stripe active la fonctionnalité par défaut dans la dernière version de l’API.

Command Line
curl
curl https://api.stripe.com/v1/payment_intents \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d amount=2000 \ -d currency=usd \ -d "payment_method_types[]"=card \ -d payment_method=pm_card_visa \ -d capture_method=automatic_async \ -d confirm=true

Il se peut que vous deviez apporter des modifications supplémentaires lorsque vous optez pour la capture asynchrone, car la réponse de l’API et certains webhooks ont un comportement différent de celui des autres méthodes de capture.

Pour tous les paiements, la balance_transaction est null pour les objets suivants. Pour les paiements Connect, le transfer et l’application_fee sont également null pour les objets suivants :

  • l’objet Charge joint à la réponse de l’API
  • webhook charge.succeeded
  • webhook payment_intent.succeeded

Objet Charge modifié sur le webhook charge.succeeded :

# Charge Object { "id": "ch_123", "object": "charge", "amount_captured": 1000, # the capture has happened "application_fee_amount": 100, "captured": true, "balance_transaction": "txn_123", # applicable to all charges. "transfer": "tr_123", # applicable to destination charge only. "application_fee": "fee_123", # applicable to destination charge only. "balance_transaction": null, # object might not be created yet, might be shown as nil. "transfer": null, # object might not be created yet, might be shown as nil. "application_fee": null, # object might not be created yet, might be shown as nil. ... }

Modification de la réponse de l’API et du webhook payment_intent.succeeded : (varie selon la version de l’API)

API version 2022-11-15 ou ultérieure
# PaymentIntent Object { "id": "pi_123", "object": "payment_intent", "capture_method": "automatic_async", "status": "succeeded", "latest_charge": "ch_**" # if expanded, this is the Modified Charge object above }

Écoutez les webhooks pour recevoir une notification lorsque des données supplémentaires sont disponibles

Avertissement

Notre accord de niveau de service (SLA) pour le webhook charge.updated est d’une heure après la confirmation du PaymentIntent.

Vous pouvez écouter les webhooks pour vérifier l’état des objets qui sont initialement à l’état null lors de l’utilisation de la capture asynchrone.

  • Pour obtenir le balance_transaction, abonnez-vous à l’événement webhook charge.updated.
  • Pour obtenir l’application_fee, abonnez-vous à l’événement webhook application_fee.created.
  • Pour obtenir le transfer, abonnez-vous aux événements webhook transfer.created.

Webhooks pour la capture asynchrone

# charge.updated events { "data": { "id": "ch_123", "object": "charge", "amount": 100, "balance_transaction": "txn_123", # applicable to all charges. "transfer": "tr_123", # applicable to destination charge only. "application_fee": "fee_123", # applicable to destination charge only. ... }, previous_attributes: { "balance_transaction": null, # applicable to all charges. "transfer": null, # applicable to destination charge only. "application_fee": null, # applicable to destination charge only. } }
# transfer.created events { "data": { "id": "tr_123", "object": "transfer", "amount": 1000, ... } }
# application_fee.created events { "data": { "id": "fee_123", "object": "application_fee", "amount": 100, ... } }
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