# Asynchronous Capture Verwenden Sie Asynchronous Capture, um PaymentIntents schneller zu bestätigen. Die asynchrone Erfassung reduziert die Latenzzeit von PaymentIntent-Bestätigungen, da der Erfassungsvorgang im Hintergrund ausgeführt wird. Nachdem Sie die Erfassungsanfrage gestellt haben, erhält Ihre Integration eine erfolgreiche Antwort, und Stripe schließt die Zahlungserfassung im Backend ab. Um diese schnellere Erfassung der PaymentIntents zu verwenden, legen Sie bei der Bestätigung eines PaymentIntent den Parameter `capture_method=automatic_async` fest. ## Für die asynchrone Erfassung anmelden Um Ihre bestehende Integration zu aktualisieren und Unterstützung für die asynchrone Erfassung hinzuzufügen, legen Sie beim Erstellen eines PaymentIntent `automatic_async` als Erfassungsmethode fest. Die Angabe des Parameters `capture_method=automatic_async` ist optional, da Stripe seine Funktionalität standardmäßig in der neuesten Version der API aktiviert. #### curl ```bash curl https://api.stripe.com/v1/payment_intents \ -u <>: \ -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 ``` Möglicherweise müssen Sie weitere Änderungen vornehmen, wenn Sie sich für die asynchrone Erfassung entscheiden, da sich die API-Antwort und einige Webhooks anders verhalten als bei anderen Erfassungsmethoden. Für alle Zahlungen ist die [balance_transaction](https://docs.stripe.com/api/balance_transactions.md) bei den folgenden Objekten `null`. Bei Connect-Zahlungen sind [transfer](https://docs.stripe.com/api/charges/object.md#charge_object-transfer) und [application_fee](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-application_fee_amount) bei den folgenden Objekten ebenfalls `null`: - angehängtes [Charge](https://docs.stripe.com/api/charges/object.md)-Objekt der API-Antwort - [charge.succeeded](https://docs.stripe.com/api/events/types.md#event_types-charge.succeeded)-Webhook - [payment_intent.succeeded](https://docs.stripe.com/api/events/types.md#event_types-payment_intent.succeeded)-Webhook Geändertes Charge-Objekt für den Webhook [charge.succeeded](https://docs.stripe.com/api/events/types.md#event_types-charge.succeeded): ```json # Charge Object { "id": "ch_123", "object": "charge", "amount_captured": 1000, # the capture has happened "application_fee_amount": 100, "captured": true,"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. ... } ``` API-Antwort und Webhook [payment_intent.succeeded](https://docs.stripe.com/api/events/types.md#event_types-payment_intent.succeeded) geändert: (je nach [API-Version](https://docs.stripe.com/upgrades.md) unterschiedlich) #### API-Version 2022-11-15 oder später ```json # 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 } ``` ## Überwachen Sie Webhooks, um benachrichtigt zu werden, wenn zusätzliche Daten verfügbar sind > Unsere SLA für den charge.updated Webhook gilt 1 Stunde nach der erfolgreichen Bestätigung der PaymentIntent. Wenn Sie die asynchrone Erfassung nutzen, können Sie Webhooks überwachen, um den Status von Objekten zu überprüfen, die zu anfangs `null` sind. - Um die [balance_transaction](https://docs.stripe.com/api/balance_transactions.md) zu erhalten, abonnieren Sie das Webhook-Ereignis [charge.updated](https://docs.stripe.com/api/events/types.md#event_types-charge.created). - Um die [application_fee](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-application_fee_amount) zu erhalten, abonnieren Sie das Webhook-Ereignis [application_fee.created](https://docs.stripe.com/api/events/types.md#event_types-application_fee.created). - Um die [Übertragung](https://docs.stripe.com/api/charges/object.md#charge_object-transfer) zu erhalten, abonnieren Sie die Webhook-Ereignisse [transfer.created](https://docs.stripe.com/api/events/types.md#event_types-transfer.created). Webhooks für Asynchronous Capture ```json # 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. } } ``` ```json # transfer.created events { "data": { "id": "tr_123", "object": "transfer", "amount": 1000, ... } } ``` ```json # application_fee.created events { "data": { "id": "fee_123", "object": "application_fee", "amount": 100, ... } } ```