Weiter zum Inhalt
Konto erstellen oder anmelden
Das Logo der Stripe-Dokumentation
/
KI fragen
Konto erstellenAnmelden
Jetzt starten
Zahlungen
Umsatz
Plattformen und Marktplätze
Geldmanagement
Entwicklerressourcen
APIs und SDKsHilfe
ÜbersichtZahlung annehmenAktualisieren Sie Ihre Integration
Online-Zahlungen
ÜbersichtIhren Use case finden
Payment Links verwenden
Vorgefertigte Checkout-Seite verwenden
Erstellen Sie eine benutzerdefinierte Integration mit Elements
In-App-Integration erstellen
Verwenden Sie Managed Payments
Wiederkehrende Zahlungen
Präsenzzahlungen
Terminal
Zahlungsmethoden
Zahlungsmethoden hinzufügen
    Übersicht
    Optionen für die Integration von Zahlungsmethoden
    Standardzahlungsmethoden im Dashboard verwalten
    Arten von Zahlungsmethoden
    Karten
    Mit Stripe-Guthaben bezahlen
    Stablecoin-Zahlungen
    Lastschriften
      ACH Direct Debit
        Zahlung annehmen
        Bankverbindung speichern
        Migrating to new ACH Direct Debit APIs
          Vorhandene Bankkonten migrieren
        Migration von einem anderen Zahlungsabwickler
        Gesperrte Bankkonten
        SEC-Codes
        Nacha-Regel für E-Commerce-Käufe von Verbraucher/innen
      BACS-Lastschriftverfahren
      Vorab autorisierte Lastschriften in Kanada
      BECS-Lastschriftverfahren (Australien)
      BECS-Lastschriftverfahren in Neuseeland
      SEPA-Lastschrift
    Bank Redirect
    Banküberweisungen
    Überweisungen (Sources)
    Jetzt kaufen, später bezahlen
    Zahlungen in Echtzeit
    Gutscheine
    Geldbörsen
    Lokale Zahlungsmethoden nach Land aktivieren
    Nutzerdefinierte Zahlungsmethoden
Zahlungsmethoden verwalten
Schnellerer Bezahlvorgang mit Link
Zahlungsvorgänge
Analytik
Salden und Abwicklungsdauer
Compliance und Sicherheit
Währungen
Abgelehnte Zahlungen
Anfechtungen
Betrugsprävention
Betrugsprävention von Radar
Auszahlungen
ZahlungsbelegeRückerstattungen und Stornierungen
Erweiterte Integrationen
Nutzerdefinierte Zahlungsabläufe
Flexibles Acquiring
Off-Session-Zahlungen
Multiprozessor-Orchestrierung
Mehr als Zahlungen
Unternehmensgründung
Krypto
Agentenbasierter Handel
Maschinelle Zahlungen
Financial Connections
Climate
Identitäten verifizieren
Vereinigte Staaten
Deutsch
StartseiteZahlungenAdd payment methodsBank debitsACH Direct Debit

Hinweis

Bis jetzt ist diese Seite noch nicht in dieser Sprache verfügbar. Wir arbeiten aber verstärkt daran, unsere Dokumentation in weiteren Sprachen bereitzustellen, und werden die Übersetzung sofort anzeigen, sobald diese verfügbar ist.

Migration von ACH Direct Debit von der Charges API zu neueren APIs

Warum Sie von der Charges API migrieren sollten und wie Sie dies tun.

Stripe is removing support for ACH Direct Debit using legacy integrations.

If you create legacy ACH Direct Debit payments, you must migrate to the Payment Intents API or Checkout Sessions API.

Feature comparison

Stripe’s new APIs offer features that aren’t available in legacy integrations:

MerkmalLegacy IntegrationsPayment Intents API oder Checkout Sessions API
Unterstützung für CheckoutNeinJa
Unterstützung für Payment ElementNeinJa
Unterstützung dynamischer ZahlungsmethodenNeinJa
AbwicklungsgeschwindigkeitT+6T+4 (T+2 bei schnellerer Zahlungsabwicklung)
Sofortige Verifizierung des BankkontosNur über benutzerdefinierte, Drittanbieter-Integrationen verfügbar.Sofortige Verifizierung mit Financial Connections
Fraud preventionNein
  • Radar für ACH
  • Guthabenabfragen über Financial Connections
  • Smart Retries
Unterstützte LänderUSAUSA, EU und Vereinigtes Königreich

Vergleich der Checkout Sessions und Payment Intents APIs

Stripe offers two new APIs to accept ACH Direct Debits payments: Payment Intents and Checkout Sessions APIs.

  • Checkout Sessions API: Unterstützt gängige Bezahlvorgänge mit integrierten Funktionen, die benutzerdefinierten Code überflüssig machen und wird für die meisten Entwickler/innen empfohlen.

  • Payment Intents API: Eine Low-Level-API zum Erstellen eines eigenen Bezahlvorgangs. Sie erfordert deutlich mehr Code und fortlaufende Wartung. Für die meisten Integrationen empfehlen wir Checkout Sessions.

Erfahren Sie mehr über die Unterschiede und wie Sie bewerten, welche für Sie geeignet ist.

ACH Direct Debit-Integration aufbauen

So erstellen Sie eine ACH Direct Debit-Integration für Payment Intents oder Checkout Sessions:

  1. Aktivieren Sie ACH Direct Debit in Ihren Einstellungen für Zahlungsmethoden.

  2. Um neue Zahlungsmethoden einzuziehen und zu verwenden, integrieren Sie ACH über Payment Intents oder Checkout Sessions.

  3. For bank accounts previously collected using the Tokens API, you can continue to use saved BankAccount objects as PaymentMethod objects with the Payment Intents API. For details, see Migrate existing bank accounts.

  4. Testen Sie Ihre Integration.

  5. Migrieren Sie schrittweise alle Zahlungen mit bestehenden Bankkonten zur Payment Intents API oder Checkout Sessions API.

  6. Remove your legacy integration.

Behavioral differences

Some features that exist in both APIs work differently. If you rely on any of the following behaviors, update your integration accordingly.

BehaviorLegacy IntegrationsPayment Intents or Checkout Sessions API
MandatesNot enforced by the API.
  • Enforced by the API. Payments can’t be initiated without an active mandate.
  • Mandates can become inactive, which renders the payment method unusable. This can occur when a customer disputes a payment, when certain payment failures occur, or when Stripe becomes aware that the payment method is no longer valid. For more information, see Blocked bank accounts.
  • If you reuse bank accounts created with the Tokens API, you must first create mandates for them. See Migrate existing bank accounts.
Balance transactions
  • Created when the charge is created.
  • The Balance transaction object is present in the charge.pending event and the API response.
  • Created when the payment is submitted to the banking partner.
  • The Balance transaction object is present in the charge.updated event, but not the API response.
GuthabentypFunds settle in source_type=bank_account.
  • Funds settle in source_type=card, shared with cards and other payment methods.
  • If you manually specify the balance type for payouts or Connect transfers, update your integration to use the new balance type.
  • During migration, you receive one payout for each balance type until all new payments use the new API.
  • For separate charges and transfers with source_transaction, wait for the charge.updated webhook before creating a transfer.
Testeinzahlungen
  • Two microdeposits of random, small amounts for verification.
  • No hosted verification UI.
  • One 1¢ microdeposit with a descriptor code for verification. In rare cases, Stripe sends two microdeposits of random, small amounts instead.
  • Stripe provides a hosted verification page and sends automatic reminder emails to customers.
  • Customers must verify their bank account within 10 days. If they don’t verify in time, the PaymentIntent or SetupIntent reverts to requiring new payment method details.
EmailsStripe doesn’t send automatic emails.
  • Stripe automatically emails customers a mandate confirmation when mandates are created.
  • When a customer attempts to verify a bank account using microdeposits, Stripe emails customers with a link to a hosted verification page.
  • You can disable Stripe emails and send custom notifications instead. For sample mandate text and required content, see Mandate and microdeposit emails.

Webhook differences

If you previously listened to Charge events, you might need to update your integration to listen to new event types. The following table shows how webhook events differ.

Old webhookNew webhook on CheckoutNew webhook on Payment IntentsSpecial instructions
charge.pendingpayment_intent.processingpayment_intent.processingIn legacy integrations, charge.pending includes balance transaction. In new integrations, the balance transaction isn’t available until the charge.updated event.
charge.updatedcharge.updatedcharge.updatedSent when the payment is submitted to the banking partner. Includes the balance transaction.
charge.succeededcheckout.session.completedpayment_intent.succeededDer Webhook charge.succeeded wird ebenfalls übermittelt, sodass Sie Ihre Integration nicht aktualisieren müssen, um den neuen Webhook zu überwachen.
charge.failedNot applicable. The customer can re-attempt the payment on the same Checkout Session until it expires, at which point you receive a checkout.session.expired event.payment_intent.payment_failedDer Webhook charge.failed wird ebenfalls übermittelt, sodass Sie Ihre Integration nicht aktualisieren müssen, um den neuen Webhook zu überwachen.
charge.dispute.createdcharge.dispute.createdcharge.dispute.createdNot applicable
Not applicablemandate.updatedmandate.updatedSent when a mandate becomes inactive.

Identify Legacy ACH Payments

On a Charge object, the payment_method_details.type property is ach_debit for the legacy integration and us_bank_account for the newer integration.

A legacy ACH payment is created when a legacy BankAccount is the payment source. This happens when:

  • You call the Create Charge API.
  • A Subscription or Invoice charges a customer whose default_source is a legacy BankAccount, and no default_payment_method is set on the customer, subscription, or invoice.
  • You call the Create PaymentIntent API with source set to a legacy BankAccount.
War diese Seite hilfreich?
JaNein
  • Benötigen Sie Hilfe? Kontaktieren Sie den Kundensupport.
  • Schauen Sie sich unser Änderungsprotokoll an.
  • Fragen? Sales-Team kontaktieren.
  • LLM? Lesen Sie llms.txt.
  • Unterstützt von Markdoc