Steuern in Ihren nutzerdefinierten Zahlungsabläufen berechnen
Erfahren Sie, wie Sie Steuern mit der Stripe Tax API und der Payment Intents API integrieren.
Mit der Stripe Tax API können Sie Steuern in Ihren nutzerdefinierten Zahlungsabläufen berechnen. Wenn Sie die Payment Intents API verwenden, kann Stripe Steuertransaktionen im Zahlungslebenszyklus übermitteln.
Steuer berechnen
Die Berechnung der Steuer erfordert in der Regel den Standort Ihres Kunden. Sie können Folgendes tun:
- Verwenden Sie das Address Element, um die Vorteile der Funktionen der automatischen Vervollständigung und Lokalisierung zu nutzen, um die vollständige Adresse Ihrer Kundin oder Ihres Kunden zu erfassen. Dies trägt dazu bei, eine möglichst genaue Steuerberechnung zu gewährleisten.
- Die auf der IP-Adresse der Kundin/des Kunden basierende Steuer wird geschätzt.
- Erfassen Sie Adressdaten mit Ihrem eigenen benutzerdefinierten Formular.
Übergeben Sie die Transaktionsdetails und die Adressangaben des Kunden an die Calculate Tax API, um ein neues Tax Calculation-Objekt zu erhalten.
Steuerberechnung mit dem PaymentIntent verknüpfen
Erstellen oder ändern Sie einen PaymentIntent, um die ID der Calculation einzuschließen, und legen Sie amount auf den Gesamtbetrag (amount_) der Berechnung fest.
Unterstützte Endpoints
Die folgenden Endpoints unterstützen das Festlegen einer Berechnung für einen PaymentIntent.
- Erstellen: /v1/payment_intents
- Aktualisieren: /v1/payment_intents/:id
- Bestätigen: /v1/payment_intents/:id/confirm
- Erfassen: /v1/payment_intents/:id/capture
Beschränkungen
- Sie können neue Berechnungen nur so lange mit einem PaymentIntent verknüpfen, bis dieser in den Zustand
succeededübergeht. - Eine Steuerberechnung kann auf nur eine Steuer-
Transactionhinauslaufen . Wenn mehrere PaymentIntents den Statussucceededmit derselben verknüpften Berechnung annehmen, wird in der Buchhaltung nur der erste Intent widergespiegelt.
Resultierende Stripe-Aktionen
Wenn der PaymentIntent korrekt mit dem Steuer-Calculation-Objekt verknüpft ist, führt Stripe automatisch Folgendes durch:
- Erstellt eine Steuertransaktion anhand der Berechnung, nachdem der PaymentIntent in den Zustand
succeededübergegangen ist - Führt eine Steuerumkehrung einer steuerlichen Transaktion für alle Rückerstattungen (erstellt mit der API oder über das Dashboard) für den PaymentIntent durch
- Erstellt eine Steuerumkehrung für ein Storno, wenn eine Rückerstattung fehlgeschlagen ist
- Enthält die gesamten Steuerinformationen in den
PaymentIntent-Belegen
Stripe wird nicht:
- Den PaymentIntent-Betrag basierend auf der verknüpften Steuerberechnung ändern
- Den Betrag der Steuertransaktion basierend auf dem für den PaymentIntent erfassten Betrag ändern
- Automatisch eine Steuerumkerhung für Zahlungsanfechtungen erstellen
Integrieren Sie Steuern für Ihre Connect-Plattform mit der Stripe Tax API und der Payment Intents API
Die PaymentIntents API funktioniert mit verbundenen Konten auf Ihrer Connect-Plattform. Wenn Sie also Steuern über ein verbundenes Konto berechnen, können Sie die Steuerberechnung mit einem PaymentIntent verknüpfen, der mit diesem verbundenen Konto erstellt wurde.
OptionalAutomatisch bestätigte steuerliche Transaktionen abrufen
Verwenden Sie den Endpoint /v1/tax/associations/find, um Informationen über die Steuertransaktionen abzurufen, die Stripe für einen PaymentIntent erstellt hat (oder nicht erstellen konnte). So können Sie überprüfen, ob Ihre Integration wie beabsichtigt funktioniert, angefochtene Kartenzahlungen bearbeiten oder überprüfen, was automatisch erstellt wurde.
Wenn Ihr PaymentIntent erfolgreich ist und anschließend zurückerstattet wird, erhalten Sie unter Umständen die folgende Antwort.
Vorsicht
Die Steuerumkehrungen werden erst nach einigen Minuten erfasst und erscheinen dann im Steuervereinigungs-Objekt.
// TaxAssociation find response { "id": "taxa_1PXmsbE5ebw4kUHWxtSTF08x", "object": "tax.association", "calculation": "taxcalc_1PXmsRE5ebw4kUHW9SOln70o", "payment_intent": "pi_1PXmsSE5ebw4kUHWK7FIhQlS", "tax_transaction_attempts": [ { "source": "pi_1PXmsSE5ebw4kUHWK7FIhQlS", "status": "committed", "committed": { "transaction": "tax_1PXmsRE5ebw4kUHWLyVEiMis", } }, { "source": "re_1PXmsSE5ebw4kUHWK7FIhQlS", "status": "committed", "committed": { "transaction": "tax_1PXmsgE5ebw4kUHW7Gg8jvpX", } } ] }