# Tax für Software-Plattformen Erfahren Sie, wie Sie Stripe Tax für Ihre verbundenen Konten aktivieren und Steuern erheben, wenn das verbundene Konto steuerpflichtig ist. Mit Stripe Tax können Unternehmen indirekte Steuern in über [100 Ländern](https://docs.stripe.com/tax/supported-countries.md) mit Hunderten von Produktkategorien berechnen, erheben und melden. Als Plattform können Sie mit Stripe Tax Ihren verbundenen Konten vorab integrierte Steuerkonformität anbieten. Verwenden Sie diesen Leitfaden, wenn Ihre verbundenen Konten für die Erhebung, Einreichung und Meldung von Steuern verantwortlich sind. 1. [Richten Sie Ihre verbundenen Konten für Steuern ein](https://docs.stripe.com/tax/tax-for-platforms.md#check-set-up) 1. (Optional) [Dem Produktkatalog Steuercodes zuweisen](https://docs.stripe.com/tax/tax-for-platforms.md#assign-product-tax-codes) 1. [Steuerberechnung und -erhebung integrieren](https://docs.stripe.com/tax/tax-for-platforms.md#enable-tax-collection) 1. [Zugriff auf Stripe Tax-Berichte](https://docs.stripe.com/tax/tax-for-platforms.md#access-reports) ## Verbundenen Konten für Steuern einrichten Als Plattform müssen Sie sicherstellen, dass die [Steuereinstellungen und Registrierungen eines verbundenen Kontos eingerichtet sind](https://docs.stripe.com/tax/set-up.md), bevor Sie Steuerberechnungen aktivieren können. Dies kann erreicht werden: ### Mit einem verbundenen Konto, das das Stripe-Dashboard nutzt Diese Option ist nur für verbundene Konten mit Zugriff auf das Stripe-Dashboard verfügbar (z. B. [Standard](https://docs.stripe.com/connect/standard-accounts.md)-Konten). Bitten Sie Ihre verbundenen Konten, [ihren Hauptsitz, ihre voreingestellten Steuercodes und ihre Steuerregistrierungen über das Stripe-Dashboard hinzuzufügen](https://docs.stripe.com/tax/set-up.md). Sie können den Standort des Hauptsitzes und den voreingestellten Steuercode auch erfassen, indem Sie Stripe Tax im Onboarding des verbundenen Kontos aktivieren. Diese Änderungen können Sie in den [Onboarding-Optionen für Connect](https://dashboard.stripe.com/settings/connect/onboarding-options/tax) im Dashboard vornehmen. ### Indem Sie eine Steueroberfläche innerhalb Ihrer Plattform erstellen Mit dieser Option können Konten ohne Zugriff auf das Stripe-Dashboard (zum Beispiel [Custom-](https://docs.stripe.com/connect/custom-accounts.md) und [Express-Konten](https://docs.stripe.com/connect/express-accounts.md)) Stripe Tax konfigurieren. Ihre Plattform muss eine Schnittstelle erstellen und [die Tax Settings API](https://docs.stripe.com/tax/settings-api.md#updating-settings) verwenden, um den Hauptsitz und andere Standardwerte für die verbundenen Konten festzulegen. Und Ihre Plattform muss die [Tax Registrations API](https://docs.stripe.com/tax/registrations-api.md#adding-registration) verwenden, um Steuerregistrierungen für die Standorte hinzuzufügen, an denen die verbundenen Konten steuerpflichtig sind. ### Verwendung eingebetteter Connect-Komponenten innerhalb Ihrer Plattform Sie können [eingebettete Connect-Komponenten](https://docs.stripe.com/connect/get-started-connect-embedded-components.md) nutzen, um Ihren verbundenen Konten mit minimalem Entwicklungsaufwand eine konforme Integration von Stripe Tax zu ermöglichen. Stripe aktualisiert die Integration der eingebetteten Komponenten regelmäßig. Sie sind daher hinsichtlich der Einhaltung der Steuervorschriften stets auf dem aktuellen Stand. Stripe bietet zwei Komponenten für Tax: - Steuereinstellungen: Erfassen Sie die Details, die ein verbundenes Konto zur Berechnung der Steuern benötigt, wie z. B. die Adresse des Hauptsitzes und den [voreingestellten Steuercode](https://docs.stripe.com/tax/products-prices-tax-codes-tax-behavior.md#product-tax-code). - Steuerregistrierungen: Verbundene Konten können die Standorte verwalten, an denen sie sich bei lokalen Steuerbehörden registriert haben. Durch das Hinzufügen einer Registrierung kann Stripe Steuerbeträge für einen bestimmten Standort berechnen und erheben. So betten Sie Steuereinstellungen und Steuerregistrierungen in Ihre Website ein: 1. Verwenden Sie den [Quickstart-Leitfaden für eingebettete Komponenten](https://docs.stripe.com/connect/connect-embedded-components/quickstart.md), um Ihre Umgebung einzurichten. 1. [Erstellen Sie eine AccountSession](https://docs.stripe.com/connect/connect-embedded-components/quickstart.md#server-endpoint) mit `tax_settings: {enabled: true}` und/oder `tax_registrations: {enabled: true}`. ```curl curl https://api.stripe.com/v1/account_sessions \ -u "<>:" \ -d account={{CONNECTED_ACCOUNT_ID}} \ -d "components[tax_settings][enabled]"=true \ -d "components[tax_registrations][enabled]"=true ``` ```cli stripe account_sessions create \ --account={{CONNECTED_ACCOUNT_ID}} \ -d "components[tax_settings][enabled]"=true \ -d "components[tax_registrations][enabled]"=true ``` ```ruby # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = Stripe::StripeClient.new("<>") account_session = client.v1.account_sessions.create({ account: '{{CONNECTED_ACCOUNT_ID}}', components: { tax_settings: {enabled: true}, tax_registrations: {enabled: true}, }, }) ``` ```python # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = StripeClient("<>") # For SDK versions 12.4.0 or lower, remove '.v1' from the following line. account_session = client.v1.account_sessions.create({ "account": "{{CONNECTED_ACCOUNT_ID}}", "components": { "tax_settings": {"enabled": True}, "tax_registrations": {"enabled": True}, }, }) ``` ```php // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys $stripe = new \Stripe\StripeClient('<>'); $accountSession = $stripe->accountSessions->create([ 'account' => '{{CONNECTED_ACCOUNT_ID}}', 'components' => [ 'tax_settings' => ['enabled' => true], 'tax_registrations' => ['enabled' => true], ], ]); ``` ```java // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys StripeClient client = new StripeClient("<>"); AccountSessionCreateParams params = AccountSessionCreateParams.builder() .setAccount("{{CONNECTED_ACCOUNT_ID}}") .setComponents(AccountSessionCreateParams.Components.builder().build()) .putExtraParam("components[tax_settings][enabled]", true) .putExtraParam("components[tax_registrations][enabled]", true) .build(); // For SDK versions 29.4.0 or lower, remove '.v1()' from the following line. AccountSession accountSession = client.v1().accountSessions().create(params); ``` ```node // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys const stripe = require('stripe')('<>'); const accountSession = await stripe.accountSessions.create({ account: '{{CONNECTED_ACCOUNT_ID}}', components: { tax_settings: { enabled: true, }, tax_registrations: { enabled: true, }, }, }); ``` ```go // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys sc := stripe.NewClient("<>") params := &stripe.AccountSessionCreateParams{ Account: stripe.String("{{CONNECTED_ACCOUNT_ID}}"), Components: &stripe.AccountSessionCreateComponentsParams{}, } params.AddExtra("components[tax_settings][enabled]", true) params.AddExtra("components[tax_registrations][enabled]", true) result, err := sc.V1AccountSessions.Create(context.TODO(), params) ``` ```dotnet // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys var options = new AccountSessionCreateOptions { Account = "{{CONNECTED_ACCOUNT_ID}}", Components = new AccountSessionComponentsOptions(), }; options.AddExtraParam("components[tax_settings][enabled]", true); options.AddExtraParam("components[tax_registrations][enabled]", true); var client = new StripeClient("<>"); var service = client.V1.AccountSessions; AccountSession accountSession = service.Create(options); ``` 1. [Fügen Sie die Komponente für die Steuereinstellungen oder die Steuerregistrierungen zum DOM hinzu](https://docs.stripe.com/connect/connect-embedded-components/quickstart.md#embedded-component). Nachdem die Kontositzung erstellt und [ConnectJS initiiert wurde](https://docs.stripe.com/connect/get-started-connect-embedded-components.md#account-sessions), können Sie jede Steuerkomponente im Frontend anzeigen: #### React ```jsx // Include this React component import { ConnectTaxSettings, ConnectTaxRegistrations, ConnectComponentsProvider } from "@stripe/react-connect-js"; return (
{/* You can also use a tab layout */}

Tax Business Details

Tax Registrations

); ``` #### HTML + JavaScript ```js // Include this element in your HTML const container = document.getElementById("container"); const taxSettings = instance.create("tax_settings"); container.appendChild(taxSettings); const taxRegistrations = stripeConnectInstance.create('tax-registrations'); container.appendChild(taxRegistrations); ``` #### Vorschau der Komponente für Steuereinstellungen Note: The following is a preview/demo component that behaves differently than live mode usage with real connected accounts. The actual component has more functionality than what might appear in this demo component. For example, for connected accounts without Stripe dashboard access (custom accounts), no user authentication is required in production. Mit der Komponente für Steuereinstellungen können verbundene Konten die Adresse ihres Hauptsitzes und einen [voreingestellten Steuercode](https://docs.stripe.com/tax/products-prices-tax-codes-tax-behavior.md#product-tax-code) festlegen. Es sind beide Attribute erforderlich, um die Steuern für ein verbundenes Konto zu berechnen. #### Komponente für Steuerregistrierungen Note: The following is a preview/demo component that behaves differently than live mode usage with real connected accounts. The actual component has more functionality than what might appear in this demo component. For example, for connected accounts without Stripe dashboard access (custom accounts), no user authentication is required in production. Mit der Komponente für Steuerregistrierungen können verbundene Konten ihre Steuerregistrierungen verwalten. Wenn ein verbundenes Konto keine Steuerregistrierung hinzufügt, sondern die Steuer für den jeweiligen steuerlichen Zuständigkeitsbereich berechnet, gibt Stripe Tax einen Steuerbetrag von `0.00` zurück und setzt den [Grund der Steuerpflicht auf `not_collecting`](https://docs.stripe.com/tax/zero-tax.md#not-registered). Ihre Plattform muss dann prüfen, ob verbundene Konten Stripe Tax konfiguriert haben, um Steuerberechnungen zu aktivieren. > [Melden Sie sich an](https://dashboard.stripe.com/login?redirect=https%3A%2F%2Fdocs.stripe.com%2Ftax%2Ftax-for-platforms), um zu prüfen, ob Ihre verbundenen Konten bereit sind, Stripe Tax zu verwenden. Auf der Seite „Verbundene Konten“ in Ihrem Dashboard können Sie [die Liste nach Konten filtern, die bereit sind, Stripe Tax zu verwenden](https://dashboard.stripe.com/connect/accounts/view/v/enabled?status%5B0%5D=enabled&taxSettingsStatus=active). Sie können diese Konten auch mit den folgenden mit Stripe Tax verknüpften Spalten exportieren: - **Status der Steuereinstellungen**: Der Wert `active` zeigt an, dass das Konto für die Verwendung von Stripe Tax bereit ist. Der Wert `pending` gibt an, dass einige Pflichtfelder [fehlen](https://docs.stripe.com/api/tax/settings/object.md#tax_settings_object-status_details-pending-missing_fields). - **Status des Steuerschwellenwerts**: Der Wert `exceeded` gibt an, dass die berechneten Verkäufe oder Transaktionen des Kontos über dem Schwellenwert des Standorts liegen und das Unternehmen sich wahrscheinlich steuerlich registrieren muss. Weitere Informationen finden Sie unter [Überwachen Ihrer Verpflichtungen](https://docs.stripe.com/tax/monitoring.md). - **Steuerregistrierungsstatus** Der Wert `active` zeigt an, dass das Konto mindestens eine aktive [Steuerregistrierung](https://docs.stripe.com/tax/registering.md) hat. Sie können auch überprüfen, ob ein Konto Stripe Tax konfiguriert hat, indem [Sie die Tax Settings API](https://docs.stripe.com/tax/settings-api.md#checking-settings) verwenden. ## Dem Produktkatalog Steuercodes zuweisen [Optional] Um Steuern zu berechnen, muss Stripe Tax die verkauften Produkte in die entsprechenden Steuercodes einordnen. Eine Möglichkeit besteht darin, [einen voreingestellten Steuercode für jedes verbundene Konto anzugeben](https://docs.stripe.com/tax/settings-api.md#updating-settings). Dies ist wahrscheinlich ausreichend, wenn Ihre verbundenen Konten gewöhnlich nur Artikel aus einer einzigen Kategorie verkaufen. Wenn Sie Ihren Nutzerinnen und Nutzern jedoch mehr Kontrolle bieten möchten, können Sie ihnen erlauben, Produkten einen Steuercode zuzuordnen. Eine Liste der [unterstützten Produktsteuercodes](https://docs.stripe.com/tax/tax-codes.md) können Sie über die [Tax Code API](https://docs.stripe.com/api/tax_codes.md) von Stripe abrufen. Sie können auch nur einen Teil der Liste zulassen, wenn Ihre verbundenen Konten nur bestimmte Arten von Produkten verkaufen. ## Steuerberechnung und -erhebung integrieren Sie müssen eine Vernetzung mit Stripe Tax vornehmen, um Steuern im Rahmen Ihres Bezahlvorgangs zu berechnen. ### Payment Links ### Payment Links für einmalige Zahlungen Wählen Sie einen der derzeit unterstützten [Zahlungstypen](https://docs.stripe.com/connect/charges.md#types), mit denen das verbundene Konto mit [Stripe Payment Links](https://docs.stripe.com/tax/payment-links.md) *steuerpflichtig* (The responsibility for collecting and reporting taxes for transactions in a Connect integration. It can belong to the platform or to connected accounts, depending on your business model, government regulations, and individual transaction details) werden kann: #### Direct Charges Für Aufrufe der Payment Links API: - Geben Sie den Header `Stripe-Account` mit dem Wert der verbundenen Konto-ID an. ```curl curl https://api.stripe.com/v1/payment_links \ -u "<>:" \ -H "Stripe-Account: {{CONNECTEDACCOUNT_ID}}" \ -d "line_items[0][price]"="{{PRICE_ID}}" \ -d "line_items[0][quantity]"=2 \ -d "automatic_tax[enabled]"=true ``` ```cli stripe payment_links create \ --stripe-account {{CONNECTEDACCOUNT_ID}} \ -d "line_items[0][price]"="{{PRICE_ID}}" \ -d "line_items[0][quantity]"=2 \ -d "automatic_tax[enabled]"=true ``` ```ruby # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = Stripe::StripeClient.new("<>") payment_link = client.v1.payment_links.create( { line_items: [ { price: '{{PRICE_ID}}', quantity: 2, }, ], automatic_tax: {enabled: true}, }, {stripe_account: '{{CONNECTEDACCOUNT_ID}}'}, ) ``` ```python # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = StripeClient("<>") # For SDK versions 12.4.0 or lower, remove '.v1' from the following line. payment_link = client.v1.payment_links.create( { "line_items": [{"price": "{{PRICE_ID}}", "quantity": 2}], "automatic_tax": {"enabled": True}, }, {"stripe_account": "{{CONNECTEDACCOUNT_ID}}"}, ) ``` ```php // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys $stripe = new \Stripe\StripeClient('<>'); $paymentLink = $stripe->paymentLinks->create( [ 'line_items' => [ [ 'price' => '{{PRICE_ID}}', 'quantity' => 2, ], ], 'automatic_tax' => ['enabled' => true], ], ['stripe_account' => '{{CONNECTEDACCOUNT_ID}}'] ); ``` ```java // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys StripeClient client = new StripeClient("<>"); PaymentLinkCreateParams params = PaymentLinkCreateParams.builder() .addLineItem( PaymentLinkCreateParams.LineItem.builder() .setPrice("{{PRICE_ID}}") .setQuantity(2L) .build() ) .setAutomaticTax( PaymentLinkCreateParams.AutomaticTax.builder().setEnabled(true).build() ) .build(); RequestOptions requestOptions = RequestOptions.builder().setStripeAccount("{{CONNECTEDACCOUNT_ID}}").build(); // For SDK versions 29.4.0 or lower, remove '.v1()' from the following line. PaymentLink paymentLink = client.v1().paymentLinks().create(params, requestOptions); ``` ```node // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys const stripe = require('stripe')('<>'); const paymentLink = await stripe.paymentLinks.create( { line_items: [ { price: '{{PRICE_ID}}', quantity: 2, }, ], automatic_tax: { enabled: true, }, }, { stripeAccount: '{{CONNECTEDACCOUNT_ID}}', } ); ``` ```go // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys sc := stripe.NewClient("<>") params := &stripe.PaymentLinkCreateParams{ LineItems: []*stripe.PaymentLinkCreateLineItemParams{ &stripe.PaymentLinkCreateLineItemParams{ Price: stripe.String("{{PRICE_ID}}"), Quantity: stripe.Int64(2), }, }, AutomaticTax: &stripe.PaymentLinkCreateAutomaticTaxParams{Enabled: stripe.Bool(true)}, } params.SetStripeAccount("{{CONNECTEDACCOUNT_ID}}") result, err := sc.V1PaymentLinks.Create(context.TODO(), params) ``` ```dotnet // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys var options = new PaymentLinkCreateOptions { LineItems = new List { new PaymentLinkLineItemOptions { Price = "{{PRICE_ID}}", Quantity = 2 }, }, AutomaticTax = new PaymentLinkAutomaticTaxOptions { Enabled = true }, }; var requestOptions = new RequestOptions { StripeAccount = "{{CONNECTEDACCOUNT_ID}}", }; var client = new StripeClient("<>"); var service = client.V1.PaymentLinks; PaymentLink paymentLink = service.Create(options, requestOptions); ``` #### Destination Charges Für Aufrufe der Payment Links API: - Geben Sie [automatic_tax[liability]](https://docs.stripe.com/api/payment_links/payment_links/create.md#create_payment_link-automatic_tax-liability) mit `type=account` und `account` mit dem Wert der verbundenen Konto-ID an. - Geben Sie [transfer_data[destination]](https://docs.stripe.com/api/payment_links/payment_links/create.md#create_payment_link-transfer_data) mit dem Wert der verbundenen Konto-ID an. - (Optional) Wenn Sie [Rechnungen automatisch senden](https://docs.stripe.com/payment-links/post-payment.md#automatically-send-paid-invoices), geben Sie [invoice_creation[invoice_data][den Aussteller]](https://docs.stripe.com/api/payment_links/payment_links/create.md#create_payment_link-invoice_creation-invoice_data-issuer) mit `type=account` und `account` mit dem Wert der verbundenen Konto-ID an. - (Optional) Wenn es sich bei dem verbundenen Konto um den/die [Abrechnungshändler/in](https://docs.stripe.com/connect/destination-charges.md#settlement-merchant) handelt, fügen Sie [on_behalf_of](https://docs.stripe.com/api/payment_links/payment_links/create.md#create_payment_link-on_behalf_of) mit dem Wert der ID des verbundenen Kontos hinzu. ```curl curl https://api.stripe.com/v1/payment_links \ -u "<>:" \ -d "line_items[0][price]"="{{PRICE_ID}}" \ -d "line_items[0][quantity]"=2 \ -d "automatic_tax[enabled]"=true \ -d "automatic_tax[liability][type]"=account \ -d "automatic_tax[liability][account]"="{{CONNECTEDACCOUNT_ID}}" \ -d "transfer_data[destination]"="{{CONNECTEDACCOUNT_ID}}" \ -d "invoice_creation[enabled]"=true \ -d "invoice_creation[invoice_data][issuer][type]"=account \ -d "invoice_creation[invoice_data][issuer][account]"="{{CONNECTEDACCOUNT_ID}}" ``` ```cli stripe payment_links create \ -d "line_items[0][price]"="{{PRICE_ID}}" \ -d "line_items[0][quantity]"=2 \ -d "automatic_tax[enabled]"=true \ -d "automatic_tax[liability][type]"=account \ -d "automatic_tax[liability][account]"="{{CONNECTEDACCOUNT_ID}}" \ -d "transfer_data[destination]"="{{CONNECTEDACCOUNT_ID}}" \ -d "invoice_creation[enabled]"=true \ -d "invoice_creation[invoice_data][issuer][type]"=account \ -d "invoice_creation[invoice_data][issuer][account]"="{{CONNECTEDACCOUNT_ID}}" ``` ```ruby # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = Stripe::StripeClient.new("<>") payment_link = client.v1.payment_links.create({ line_items: [ { price: '{{PRICE_ID}}', quantity: 2, }, ], automatic_tax: { enabled: true, liability: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }, transfer_data: {destination: '{{CONNECTEDACCOUNT_ID}}'}, invoice_creation: { enabled: true, invoice_data: { issuer: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }, }, }) ``` ```python # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = StripeClient("<>") # For SDK versions 12.4.0 or lower, remove '.v1' from the following line. payment_link = client.v1.payment_links.create({ "line_items": [{"price": "{{PRICE_ID}}", "quantity": 2}], "automatic_tax": { "enabled": True, "liability": {"type": "account", "account": "{{CONNECTEDACCOUNT_ID}}"}, }, "transfer_data": {"destination": "{{CONNECTEDACCOUNT_ID}}"}, "invoice_creation": { "enabled": True, "invoice_data": { "issuer": {"type": "account", "account": "{{CONNECTEDACCOUNT_ID}}"}, }, }, }) ``` ```php // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys $stripe = new \Stripe\StripeClient('<>'); $paymentLink = $stripe->paymentLinks->create([ 'line_items' => [ [ 'price' => '{{PRICE_ID}}', 'quantity' => 2, ], ], 'automatic_tax' => [ 'enabled' => true, 'liability' => [ 'type' => 'account', 'account' => '{{CONNECTEDACCOUNT_ID}}', ], ], 'transfer_data' => ['destination' => '{{CONNECTEDACCOUNT_ID}}'], 'invoice_creation' => [ 'enabled' => true, 'invoice_data' => [ 'issuer' => [ 'type' => 'account', 'account' => '{{CONNECTEDACCOUNT_ID}}', ], ], ], ]); ``` ```java // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys StripeClient client = new StripeClient("<>"); PaymentLinkCreateParams params = PaymentLinkCreateParams.builder() .addLineItem( PaymentLinkCreateParams.LineItem.builder() .setPrice("{{PRICE_ID}}") .setQuantity(2L) .build() ) .setAutomaticTax( PaymentLinkCreateParams.AutomaticTax.builder() .setEnabled(true) .setLiability( PaymentLinkCreateParams.AutomaticTax.Liability.builder() .setType(PaymentLinkCreateParams.AutomaticTax.Liability.Type.ACCOUNT) .setAccount("{{CONNECTEDACCOUNT_ID}}") .build() ) .build() ) .setTransferData( PaymentLinkCreateParams.TransferData.builder() .setDestination("{{CONNECTEDACCOUNT_ID}}") .build() ) .setInvoiceCreation( PaymentLinkCreateParams.InvoiceCreation.builder() .setEnabled(true) .setInvoiceData( PaymentLinkCreateParams.InvoiceCreation.InvoiceData.builder() .setIssuer( PaymentLinkCreateParams.InvoiceCreation.InvoiceData.Issuer.builder() .setType( PaymentLinkCreateParams.InvoiceCreation.InvoiceData.Issuer.Type.ACCOUNT ) .setAccount("{{CONNECTEDACCOUNT_ID}}") .build() ) .build() ) .build() ) .build(); // For SDK versions 29.4.0 or lower, remove '.v1()' from the following line. PaymentLink paymentLink = client.v1().paymentLinks().create(params); ``` ```node // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys const stripe = require('stripe')('<>'); const paymentLink = await stripe.paymentLinks.create({ line_items: [ { price: '{{PRICE_ID}}', quantity: 2, }, ], automatic_tax: { enabled: true, liability: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }, transfer_data: { destination: '{{CONNECTEDACCOUNT_ID}}', }, invoice_creation: { enabled: true, invoice_data: { issuer: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }, }, }); ``` ```go // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys sc := stripe.NewClient("<>") params := &stripe.PaymentLinkCreateParams{ LineItems: []*stripe.PaymentLinkCreateLineItemParams{ &stripe.PaymentLinkCreateLineItemParams{ Price: stripe.String("{{PRICE_ID}}"), Quantity: stripe.Int64(2), }, }, AutomaticTax: &stripe.PaymentLinkCreateAutomaticTaxParams{ Enabled: stripe.Bool(true), Liability: &stripe.PaymentLinkCreateAutomaticTaxLiabilityParams{ Type: stripe.String(stripe.PaymentLinkAutomaticTaxLiabilityTypeAccount), Account: stripe.String("{{CONNECTEDACCOUNT_ID}}"), }, }, TransferData: &stripe.PaymentLinkCreateTransferDataParams{ Destination: stripe.String("{{CONNECTEDACCOUNT_ID}}"), }, InvoiceCreation: &stripe.PaymentLinkCreateInvoiceCreationParams{ Enabled: stripe.Bool(true), InvoiceData: &stripe.PaymentLinkCreateInvoiceCreationInvoiceDataParams{ Issuer: &stripe.PaymentLinkCreateInvoiceCreationInvoiceDataIssuerParams{ Type: stripe.String(stripe.PaymentLinkInvoiceCreationInvoiceDataIssuerTypeAccount), Account: stripe.String("{{CONNECTEDACCOUNT_ID}}"), }, }, }, } result, err := sc.V1PaymentLinks.Create(context.TODO(), params) ``` ```dotnet // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys var options = new PaymentLinkCreateOptions { LineItems = new List { new PaymentLinkLineItemOptions { Price = "{{PRICE_ID}}", Quantity = 2 }, }, AutomaticTax = new PaymentLinkAutomaticTaxOptions { Enabled = true, Liability = new PaymentLinkAutomaticTaxLiabilityOptions { Type = "account", Account = "{{CONNECTEDACCOUNT_ID}}", }, }, TransferData = new PaymentLinkTransferDataOptions { Destination = "{{CONNECTEDACCOUNT_ID}}", }, InvoiceCreation = new PaymentLinkInvoiceCreationOptions { Enabled = true, InvoiceData = new PaymentLinkInvoiceCreationInvoiceDataOptions { Issuer = new PaymentLinkInvoiceCreationInvoiceDataIssuerOptions { Type = "account", Account = "{{CONNECTEDACCOUNT_ID}}", }, }, }, }; var client = new StripeClient("<>"); var service = client.V1.PaymentLinks; PaymentLink paymentLink = service.Create(options); ``` #### Separate Zahlungen und Überweisungen Für Aufrufe der Payment Links API: - Geben Sie [automatic_tax[liability]](https://docs.stripe.com/api/payment_links/payment_links/create.md#create_payment_link-automatic_tax-liability) mit `type=account` und `account` mit dem Wert der verbundenen Konto-ID an. - (Optional) Wenn Sie [Rechnungen automatisch senden](https://docs.stripe.com/payment-links/post-payment.md#automatically-send-paid-invoices), geben Sie [invoice_creation[invoice_data][den Aussteller]](https://docs.stripe.com/api/payment_links/payment_links/create.md#create_payment_link-invoice_creation-invoice_data-issuer) mit `type=account` und `account` mit dem Wert der verbundenen Konto-ID an. - (Optional) Wenn es sich bei dem verbundenen Konto um den [Abwicklungshändler](https://docs.stripe.com/connect/separate-charges-and-transfers.md#settlement-merchant) handelt, fügen Sie [on_behalf_of](https://docs.stripe.com/api/payment_links/payment_links/create.md#create_payment_link-on_behalf_of) mit dem Wert der ID des verbundenen Kontos hinzu. ```curl curl https://api.stripe.com/v1/payment_links \ -u "<>:" \ -d "line_items[0][price]"="{{PRICE_ID}}" \ -d "line_items[0][quantity]"=2 \ -d "automatic_tax[enabled]"=true \ -d "automatic_tax[liability][type]"=account \ -d "automatic_tax[liability][account]"="{{CONNECTEDACCOUNT_ID}}" \ -d "invoice_creation[enabled]"=true \ -d "invoice_creation[invoice_data][issuer][type]"=account \ -d "invoice_creation[invoice_data][issuer][account]"="{{CONNECTEDACCOUNT_ID}}" ``` ```cli stripe payment_links create \ -d "line_items[0][price]"="{{PRICE_ID}}" \ -d "line_items[0][quantity]"=2 \ -d "automatic_tax[enabled]"=true \ -d "automatic_tax[liability][type]"=account \ -d "automatic_tax[liability][account]"="{{CONNECTEDACCOUNT_ID}}" \ -d "invoice_creation[enabled]"=true \ -d "invoice_creation[invoice_data][issuer][type]"=account \ -d "invoice_creation[invoice_data][issuer][account]"="{{CONNECTEDACCOUNT_ID}}" ``` ```ruby # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = Stripe::StripeClient.new("<>") payment_link = client.v1.payment_links.create({ line_items: [ { price: '{{PRICE_ID}}', quantity: 2, }, ], automatic_tax: { enabled: true, liability: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }, invoice_creation: { enabled: true, invoice_data: { issuer: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }, }, }) ``` ```python # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = StripeClient("<>") # For SDK versions 12.4.0 or lower, remove '.v1' from the following line. payment_link = client.v1.payment_links.create({ "line_items": [{"price": "{{PRICE_ID}}", "quantity": 2}], "automatic_tax": { "enabled": True, "liability": {"type": "account", "account": "{{CONNECTEDACCOUNT_ID}}"}, }, "invoice_creation": { "enabled": True, "invoice_data": { "issuer": {"type": "account", "account": "{{CONNECTEDACCOUNT_ID}}"}, }, }, }) ``` ```php // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys $stripe = new \Stripe\StripeClient('<>'); $paymentLink = $stripe->paymentLinks->create([ 'line_items' => [ [ 'price' => '{{PRICE_ID}}', 'quantity' => 2, ], ], 'automatic_tax' => [ 'enabled' => true, 'liability' => [ 'type' => 'account', 'account' => '{{CONNECTEDACCOUNT_ID}}', ], ], 'invoice_creation' => [ 'enabled' => true, 'invoice_data' => [ 'issuer' => [ 'type' => 'account', 'account' => '{{CONNECTEDACCOUNT_ID}}', ], ], ], ]); ``` ```java // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys StripeClient client = new StripeClient("<>"); PaymentLinkCreateParams params = PaymentLinkCreateParams.builder() .addLineItem( PaymentLinkCreateParams.LineItem.builder() .setPrice("{{PRICE_ID}}") .setQuantity(2L) .build() ) .setAutomaticTax( PaymentLinkCreateParams.AutomaticTax.builder() .setEnabled(true) .setLiability( PaymentLinkCreateParams.AutomaticTax.Liability.builder() .setType(PaymentLinkCreateParams.AutomaticTax.Liability.Type.ACCOUNT) .setAccount("{{CONNECTEDACCOUNT_ID}}") .build() ) .build() ) .setInvoiceCreation( PaymentLinkCreateParams.InvoiceCreation.builder() .setEnabled(true) .setInvoiceData( PaymentLinkCreateParams.InvoiceCreation.InvoiceData.builder() .setIssuer( PaymentLinkCreateParams.InvoiceCreation.InvoiceData.Issuer.builder() .setType( PaymentLinkCreateParams.InvoiceCreation.InvoiceData.Issuer.Type.ACCOUNT ) .setAccount("{{CONNECTEDACCOUNT_ID}}") .build() ) .build() ) .build() ) .build(); // For SDK versions 29.4.0 or lower, remove '.v1()' from the following line. PaymentLink paymentLink = client.v1().paymentLinks().create(params); ``` ```node // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys const stripe = require('stripe')('<>'); const paymentLink = await stripe.paymentLinks.create({ line_items: [ { price: '{{PRICE_ID}}', quantity: 2, }, ], automatic_tax: { enabled: true, liability: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }, invoice_creation: { enabled: true, invoice_data: { issuer: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }, }, }); ``` ```go // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys sc := stripe.NewClient("<>") params := &stripe.PaymentLinkCreateParams{ LineItems: []*stripe.PaymentLinkCreateLineItemParams{ &stripe.PaymentLinkCreateLineItemParams{ Price: stripe.String("{{PRICE_ID}}"), Quantity: stripe.Int64(2), }, }, AutomaticTax: &stripe.PaymentLinkCreateAutomaticTaxParams{ Enabled: stripe.Bool(true), Liability: &stripe.PaymentLinkCreateAutomaticTaxLiabilityParams{ Type: stripe.String(stripe.PaymentLinkAutomaticTaxLiabilityTypeAccount), Account: stripe.String("{{CONNECTEDACCOUNT_ID}}"), }, }, InvoiceCreation: &stripe.PaymentLinkCreateInvoiceCreationParams{ Enabled: stripe.Bool(true), InvoiceData: &stripe.PaymentLinkCreateInvoiceCreationInvoiceDataParams{ Issuer: &stripe.PaymentLinkCreateInvoiceCreationInvoiceDataIssuerParams{ Type: stripe.String(stripe.PaymentLinkInvoiceCreationInvoiceDataIssuerTypeAccount), Account: stripe.String("{{CONNECTEDACCOUNT_ID}}"), }, }, }, } result, err := sc.V1PaymentLinks.Create(context.TODO(), params) ``` ```dotnet // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys var options = new PaymentLinkCreateOptions { LineItems = new List { new PaymentLinkLineItemOptions { Price = "{{PRICE_ID}}", Quantity = 2 }, }, AutomaticTax = new PaymentLinkAutomaticTaxOptions { Enabled = true, Liability = new PaymentLinkAutomaticTaxLiabilityOptions { Type = "account", Account = "{{CONNECTEDACCOUNT_ID}}", }, }, InvoiceCreation = new PaymentLinkInvoiceCreationOptions { Enabled = true, InvoiceData = new PaymentLinkInvoiceCreationInvoiceDataOptions { Issuer = new PaymentLinkInvoiceCreationInvoiceDataIssuerOptions { Type = "account", Account = "{{CONNECTEDACCOUNT_ID}}", }, }, }, }; var client = new StripeClient("<>"); var service = client.V1.PaymentLinks; PaymentLink paymentLink = service.Create(options); ``` Für Aufrufe der Transfers API: - Geben Sie [source_transaction](https://docs.stripe.com/api/transfers/create.md#create_transfer-source_transaction) an, um die Überweisung mit dem vom Payment Link erstellten Payment Intent zu verknüpfen. - Geben Sie [destination](https://docs.stripe.com/api/transfers/create.md#create_transfer-destination) mit dem Wert der verbundenen Konto-ID an. ```curl curl https://api.stripe.com/v1/transfers \ -u "<>:" \ -d amount=1000 \ -d currency=usd \ -d source_transaction="{{CHARGE_ID}}" \ -d destination="{{CONNECTEDACCOUNT_ID}}" ``` ```cli stripe transfers create \ --amount=1000 \ --currency=usd \ --source-transaction="{{CHARGE_ID}}" \ --destination="{{CONNECTEDACCOUNT_ID}}" ``` ```ruby # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = Stripe::StripeClient.new("<>") transfer = client.v1.transfers.create({ amount: 1000, currency: 'usd', source_transaction: '{{CHARGE_ID}}', destination: '{{CONNECTEDACCOUNT_ID}}', }) ``` ```python # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = StripeClient("<>") # For SDK versions 12.4.0 or lower, remove '.v1' from the following line. transfer = client.v1.transfers.create({ "amount": 1000, "currency": "usd", "source_transaction": "{{CHARGE_ID}}", "destination": "{{CONNECTEDACCOUNT_ID}}", }) ``` ```php // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys $stripe = new \Stripe\StripeClient('<>'); $transfer = $stripe->transfers->create([ 'amount' => 1000, 'currency' => 'usd', 'source_transaction' => '{{CHARGE_ID}}', 'destination' => '{{CONNECTEDACCOUNT_ID}}', ]); ``` ```java // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys StripeClient client = new StripeClient("<>"); TransferCreateParams params = TransferCreateParams.builder() .setAmount(1000L) .setCurrency("usd") .setSourceTransaction("{{CHARGE_ID}}") .setDestination("{{CONNECTEDACCOUNT_ID}}") .build(); // For SDK versions 29.4.0 or lower, remove '.v1()' from the following line. Transfer transfer = client.v1().transfers().create(params); ``` ```node // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys const stripe = require('stripe')('<>'); const transfer = await stripe.transfers.create({ amount: 1000, currency: 'usd', source_transaction: '{{CHARGE_ID}}', destination: '{{CONNECTEDACCOUNT_ID}}', }); ``` ```go // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys sc := stripe.NewClient("<>") params := &stripe.TransferCreateParams{ Amount: stripe.Int64(1000), Currency: stripe.String(stripe.CurrencyUSD), SourceTransaction: stripe.String("{{CHARGE_ID}}"), Destination: stripe.String("{{CONNECTEDACCOUNT_ID}}"), } result, err := sc.V1Transfers.Create(context.TODO(), params) ``` ```dotnet // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys var options = new TransferCreateOptions { Amount = 1000, Currency = "usd", SourceTransaction = "{{CHARGE_ID}}", Destination = "{{CONNECTEDACCOUNT_ID}}", }; var client = new StripeClient("<>"); var service = client.V1.Transfers; Transfer transfer = service.Create(options); ``` ### Payment Links für Abonnements Wählen Sie einen der derzeit unterstützten [Zahlungstypen](https://docs.stripe.com/connect/charges.md#types), mit denen das verbundene Konto mit [Stripe Payment Links](https://docs.stripe.com/tax/payment-links.md) *steuerpflichtig* (The responsibility for collecting and reporting taxes for transactions in a Connect integration. It can belong to the platform or to connected accounts, depending on your business model, government regulations, and individual transaction details) werden kann: #### Direct Charges Für Aufrufe der Payment Links API: - Geben Sie den Header `Stripe-Account` mit dem Wert der verbundenen Konto-ID an. ```curl curl https://api.stripe.com/v1/payment_links \ -u "<>:" \ -H "Stripe-Account: {{CONNECTEDACCOUNT_ID}}" \ -d "line_items[0][price]"="{{PRICE_ID}}" \ -d "line_items[0][quantity]"=1 \ -d "automatic_tax[enabled]"=true ``` ```cli stripe payment_links create \ --stripe-account {{CONNECTEDACCOUNT_ID}} \ -d "line_items[0][price]"="{{PRICE_ID}}" \ -d "line_items[0][quantity]"=1 \ -d "automatic_tax[enabled]"=true ``` ```ruby # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = Stripe::StripeClient.new("<>") payment_link = client.v1.payment_links.create( { line_items: [ { price: '{{PRICE_ID}}', quantity: 1, }, ], automatic_tax: {enabled: true}, }, {stripe_account: '{{CONNECTEDACCOUNT_ID}}'}, ) ``` ```python # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = StripeClient("<>") # For SDK versions 12.4.0 or lower, remove '.v1' from the following line. payment_link = client.v1.payment_links.create( { "line_items": [{"price": "{{PRICE_ID}}", "quantity": 1}], "automatic_tax": {"enabled": True}, }, {"stripe_account": "{{CONNECTEDACCOUNT_ID}}"}, ) ``` ```php // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys $stripe = new \Stripe\StripeClient('<>'); $paymentLink = $stripe->paymentLinks->create( [ 'line_items' => [ [ 'price' => '{{PRICE_ID}}', 'quantity' => 1, ], ], 'automatic_tax' => ['enabled' => true], ], ['stripe_account' => '{{CONNECTEDACCOUNT_ID}}'] ); ``` ```java // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys StripeClient client = new StripeClient("<>"); PaymentLinkCreateParams params = PaymentLinkCreateParams.builder() .addLineItem( PaymentLinkCreateParams.LineItem.builder() .setPrice("{{PRICE_ID}}") .setQuantity(1L) .build() ) .setAutomaticTax( PaymentLinkCreateParams.AutomaticTax.builder().setEnabled(true).build() ) .build(); RequestOptions requestOptions = RequestOptions.builder().setStripeAccount("{{CONNECTEDACCOUNT_ID}}").build(); // For SDK versions 29.4.0 or lower, remove '.v1()' from the following line. PaymentLink paymentLink = client.v1().paymentLinks().create(params, requestOptions); ``` ```node // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys const stripe = require('stripe')('<>'); const paymentLink = await stripe.paymentLinks.create( { line_items: [ { price: '{{PRICE_ID}}', quantity: 1, }, ], automatic_tax: { enabled: true, }, }, { stripeAccount: '{{CONNECTEDACCOUNT_ID}}', } ); ``` ```go // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys sc := stripe.NewClient("<>") params := &stripe.PaymentLinkCreateParams{ LineItems: []*stripe.PaymentLinkCreateLineItemParams{ &stripe.PaymentLinkCreateLineItemParams{ Price: stripe.String("{{PRICE_ID}}"), Quantity: stripe.Int64(1), }, }, AutomaticTax: &stripe.PaymentLinkCreateAutomaticTaxParams{Enabled: stripe.Bool(true)}, } params.SetStripeAccount("{{CONNECTEDACCOUNT_ID}}") result, err := sc.V1PaymentLinks.Create(context.TODO(), params) ``` ```dotnet // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys var options = new PaymentLinkCreateOptions { LineItems = new List { new PaymentLinkLineItemOptions { Price = "{{PRICE_ID}}", Quantity = 1 }, }, AutomaticTax = new PaymentLinkAutomaticTaxOptions { Enabled = true }, }; var requestOptions = new RequestOptions { StripeAccount = "{{CONNECTEDACCOUNT_ID}}", }; var client = new StripeClient("<>"); var service = client.V1.PaymentLinks; PaymentLink paymentLink = service.Create(options, requestOptions); ``` #### Destination Charges Für Aufrufe der Payment Links API: - Geben Sie [automatic_tax[liability]](https://docs.stripe.com/api/payment_links/payment_links/create.md#create_payment_link-automatic_tax-liability) mit `type=account` und `account` mit dem Wert der verbundenen Konto-ID an. - Geben Sie [transfer_data[destination]](https://docs.stripe.com/api/payment_links/payment_links/create.md#create_payment_link-transfer_data) mit dem Wert der verbundenen Konto-ID an. - Geben Sie [subscription_data[invoice_settings][issuer]](https://docs.stripe.com/api/payment_links/payment_links/create.md#create_payment_link-subscription_data-invoice_settings-issuer) mit `type=account` und `account` mit dem Wert der verbundenen Konto-ID an. - (Optional) Wenn es sich bei dem verbundenen Konto um den/die [Abrechnungshändler/in](https://docs.stripe.com/connect/destination-charges.md#settlement-merchant) handelt, fügen Sie [subscription_data[on_behalf_of]](https://docs.stripe.com/api/payment_links/payment_links/create.md#create_payment_link-on_behalf_of) mit dem Wert der ID des verbundenen Kontos hinzu. ```curl curl https://api.stripe.com/v1/payment_links \ -u "<>:" \ -d "line_items[0][price]"="{{PRICE_ID}}" \ -d "line_items[0][quantity]"=1 \ -d "automatic_tax[enabled]"=true \ -d "automatic_tax[liability][type]"=account \ -d "automatic_tax[liability][account]"="{{CONNECTEDACCOUNT_ID}}" \ -d "transfer_data[destination]"="{{CONNECTEDACCOUNT_ID}}" \ -d "subscription_data[invoice_settings][issuer][type]"=account \ -d "subscription_data[invoice_settings][issuer][account]"="{{CONNECTEDACCOUNT_ID}}" ``` ```cli stripe payment_links create \ -d "line_items[0][price]"="{{PRICE_ID}}" \ -d "line_items[0][quantity]"=1 \ -d "automatic_tax[enabled]"=true \ -d "automatic_tax[liability][type]"=account \ -d "automatic_tax[liability][account]"="{{CONNECTEDACCOUNT_ID}}" \ -d "transfer_data[destination]"="{{CONNECTEDACCOUNT_ID}}" \ -d "subscription_data[invoice_settings][issuer][type]"=account \ -d "subscription_data[invoice_settings][issuer][account]"="{{CONNECTEDACCOUNT_ID}}" ``` ```ruby # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = Stripe::StripeClient.new("<>") payment_link = client.v1.payment_links.create({ line_items: [ { price: '{{PRICE_ID}}', quantity: 1, }, ], automatic_tax: { enabled: true, liability: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }, transfer_data: {destination: '{{CONNECTEDACCOUNT_ID}}'}, subscription_data: { invoice_settings: { issuer: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }, }, }) ``` ```python # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = StripeClient("<>") # For SDK versions 12.4.0 or lower, remove '.v1' from the following line. payment_link = client.v1.payment_links.create({ "line_items": [{"price": "{{PRICE_ID}}", "quantity": 1}], "automatic_tax": { "enabled": True, "liability": {"type": "account", "account": "{{CONNECTEDACCOUNT_ID}}"}, }, "transfer_data": {"destination": "{{CONNECTEDACCOUNT_ID}}"}, "subscription_data": { "invoice_settings": { "issuer": {"type": "account", "account": "{{CONNECTEDACCOUNT_ID}}"}, }, }, }) ``` ```php // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys $stripe = new \Stripe\StripeClient('<>'); $paymentLink = $stripe->paymentLinks->create([ 'line_items' => [ [ 'price' => '{{PRICE_ID}}', 'quantity' => 1, ], ], 'automatic_tax' => [ 'enabled' => true, 'liability' => [ 'type' => 'account', 'account' => '{{CONNECTEDACCOUNT_ID}}', ], ], 'transfer_data' => ['destination' => '{{CONNECTEDACCOUNT_ID}}'], 'subscription_data' => [ 'invoice_settings' => [ 'issuer' => [ 'type' => 'account', 'account' => '{{CONNECTEDACCOUNT_ID}}', ], ], ], ]); ``` ```java // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys StripeClient client = new StripeClient("<>"); PaymentLinkCreateParams params = PaymentLinkCreateParams.builder() .addLineItem( PaymentLinkCreateParams.LineItem.builder() .setPrice("{{PRICE_ID}}") .setQuantity(1L) .build() ) .setAutomaticTax( PaymentLinkCreateParams.AutomaticTax.builder() .setEnabled(true) .setLiability( PaymentLinkCreateParams.AutomaticTax.Liability.builder() .setType(PaymentLinkCreateParams.AutomaticTax.Liability.Type.ACCOUNT) .setAccount("{{CONNECTEDACCOUNT_ID}}") .build() ) .build() ) .setTransferData( PaymentLinkCreateParams.TransferData.builder() .setDestination("{{CONNECTEDACCOUNT_ID}}") .build() ) .setSubscriptionData( PaymentLinkCreateParams.SubscriptionData.builder() .setInvoiceSettings( PaymentLinkCreateParams.SubscriptionData.InvoiceSettings.builder() .setIssuer( PaymentLinkCreateParams.SubscriptionData.InvoiceSettings.Issuer.builder() .setType( PaymentLinkCreateParams.SubscriptionData.InvoiceSettings.Issuer.Type.ACCOUNT ) .setAccount("{{CONNECTEDACCOUNT_ID}}") .build() ) .build() ) .build() ) .build(); // For SDK versions 29.4.0 or lower, remove '.v1()' from the following line. PaymentLink paymentLink = client.v1().paymentLinks().create(params); ``` ```node // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys const stripe = require('stripe')('<>'); const paymentLink = await stripe.paymentLinks.create({ line_items: [ { price: '{{PRICE_ID}}', quantity: 1, }, ], automatic_tax: { enabled: true, liability: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }, transfer_data: { destination: '{{CONNECTEDACCOUNT_ID}}', }, subscription_data: { invoice_settings: { issuer: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }, }, }); ``` ```go // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys sc := stripe.NewClient("<>") params := &stripe.PaymentLinkCreateParams{ LineItems: []*stripe.PaymentLinkCreateLineItemParams{ &stripe.PaymentLinkCreateLineItemParams{ Price: stripe.String("{{PRICE_ID}}"), Quantity: stripe.Int64(1), }, }, AutomaticTax: &stripe.PaymentLinkCreateAutomaticTaxParams{ Enabled: stripe.Bool(true), Liability: &stripe.PaymentLinkCreateAutomaticTaxLiabilityParams{ Type: stripe.String(stripe.PaymentLinkAutomaticTaxLiabilityTypeAccount), Account: stripe.String("{{CONNECTEDACCOUNT_ID}}"), }, }, TransferData: &stripe.PaymentLinkCreateTransferDataParams{ Destination: stripe.String("{{CONNECTEDACCOUNT_ID}}"), }, SubscriptionData: &stripe.PaymentLinkCreateSubscriptionDataParams{ InvoiceSettings: &stripe.PaymentLinkCreateSubscriptionDataInvoiceSettingsParams{ Issuer: &stripe.PaymentLinkCreateSubscriptionDataInvoiceSettingsIssuerParams{ Type: stripe.String(stripe.PaymentLinkSubscriptionDataInvoiceSettingsIssuerTypeAccount), Account: stripe.String("{{CONNECTEDACCOUNT_ID}}"), }, }, }, } result, err := sc.V1PaymentLinks.Create(context.TODO(), params) ``` ```dotnet // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys var options = new PaymentLinkCreateOptions { LineItems = new List { new PaymentLinkLineItemOptions { Price = "{{PRICE_ID}}", Quantity = 1 }, }, AutomaticTax = new PaymentLinkAutomaticTaxOptions { Enabled = true, Liability = new PaymentLinkAutomaticTaxLiabilityOptions { Type = "account", Account = "{{CONNECTEDACCOUNT_ID}}", }, }, TransferData = new PaymentLinkTransferDataOptions { Destination = "{{CONNECTEDACCOUNT_ID}}", }, SubscriptionData = new PaymentLinkSubscriptionDataOptions { InvoiceSettings = new PaymentLinkSubscriptionDataInvoiceSettingsOptions { Issuer = new PaymentLinkSubscriptionDataInvoiceSettingsIssuerOptions { Type = "account", Account = "{{CONNECTEDACCOUNT_ID}}", }, }, }, }; var client = new StripeClient("<>"); var service = client.V1.PaymentLinks; PaymentLink paymentLink = service.Create(options); ``` #### Separate Zahlungen und Überweisungen Für Aufrufe der Payment Links API: - Geben Sie [automatic_tax[liability]](https://docs.stripe.com/api/payment_links/payment_links/create.md#create_payment_link-automatic_tax-liability) mit `type=account` und `account` mit dem Wert der verbundenen Konto-ID an. - Geben Sie [subscription_data[invoice_settings][issuer]](https://docs.stripe.com/api/payment_links/payment_links/create.md#create_payment_link-subscription_data-invoice_settings-issuer) mit `type=account` und `account` mit dem Wert der verbundenen Konto-ID an. - (Optional) Wenn es sich bei dem verbundenen Konto um den [Abwicklungshändler](https://docs.stripe.com/connect/separate-charges-and-transfers.md#settlement-merchant) handelt, fügen Sie [subscription_data[on_behalf_of]](https://docs.stripe.com/api/payment_links/payment_links/create.md#create_payment_link-on_behalf_of) mit dem Wert der ID des verbundenen Kontos hinzu. ```curl curl https://api.stripe.com/v1/payment_links \ -u "<>:" \ -d "line_items[0][price]"="{{PRICE_ID}}" \ -d "line_items[0][quantity]"=1 \ -d "automatic_tax[enabled]"=true \ -d "automatic_tax[liability][type]"=account \ -d "automatic_tax[liability][account]"="{{CONNECTEDACCOUNT_ID}}" \ -d "subscription_data[invoice_settings][issuer][type]"=account \ -d "subscription_data[invoice_settings][issuer][account]"="{{CONNECTEDACCOUNT_ID}}" ``` ```cli stripe payment_links create \ -d "line_items[0][price]"="{{PRICE_ID}}" \ -d "line_items[0][quantity]"=1 \ -d "automatic_tax[enabled]"=true \ -d "automatic_tax[liability][type]"=account \ -d "automatic_tax[liability][account]"="{{CONNECTEDACCOUNT_ID}}" \ -d "subscription_data[invoice_settings][issuer][type]"=account \ -d "subscription_data[invoice_settings][issuer][account]"="{{CONNECTEDACCOUNT_ID}}" ``` ```ruby # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = Stripe::StripeClient.new("<>") payment_link = client.v1.payment_links.create({ line_items: [ { price: '{{PRICE_ID}}', quantity: 1, }, ], automatic_tax: { enabled: true, liability: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }, subscription_data: { invoice_settings: { issuer: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }, }, }) ``` ```python # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = StripeClient("<>") # For SDK versions 12.4.0 or lower, remove '.v1' from the following line. payment_link = client.v1.payment_links.create({ "line_items": [{"price": "{{PRICE_ID}}", "quantity": 1}], "automatic_tax": { "enabled": True, "liability": {"type": "account", "account": "{{CONNECTEDACCOUNT_ID}}"}, }, "subscription_data": { "invoice_settings": { "issuer": {"type": "account", "account": "{{CONNECTEDACCOUNT_ID}}"}, }, }, }) ``` ```php // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys $stripe = new \Stripe\StripeClient('<>'); $paymentLink = $stripe->paymentLinks->create([ 'line_items' => [ [ 'price' => '{{PRICE_ID}}', 'quantity' => 1, ], ], 'automatic_tax' => [ 'enabled' => true, 'liability' => [ 'type' => 'account', 'account' => '{{CONNECTEDACCOUNT_ID}}', ], ], 'subscription_data' => [ 'invoice_settings' => [ 'issuer' => [ 'type' => 'account', 'account' => '{{CONNECTEDACCOUNT_ID}}', ], ], ], ]); ``` ```java // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys StripeClient client = new StripeClient("<>"); PaymentLinkCreateParams params = PaymentLinkCreateParams.builder() .addLineItem( PaymentLinkCreateParams.LineItem.builder() .setPrice("{{PRICE_ID}}") .setQuantity(1L) .build() ) .setAutomaticTax( PaymentLinkCreateParams.AutomaticTax.builder() .setEnabled(true) .setLiability( PaymentLinkCreateParams.AutomaticTax.Liability.builder() .setType(PaymentLinkCreateParams.AutomaticTax.Liability.Type.ACCOUNT) .setAccount("{{CONNECTEDACCOUNT_ID}}") .build() ) .build() ) .setSubscriptionData( PaymentLinkCreateParams.SubscriptionData.builder() .setInvoiceSettings( PaymentLinkCreateParams.SubscriptionData.InvoiceSettings.builder() .setIssuer( PaymentLinkCreateParams.SubscriptionData.InvoiceSettings.Issuer.builder() .setType( PaymentLinkCreateParams.SubscriptionData.InvoiceSettings.Issuer.Type.ACCOUNT ) .setAccount("{{CONNECTEDACCOUNT_ID}}") .build() ) .build() ) .build() ) .build(); // For SDK versions 29.4.0 or lower, remove '.v1()' from the following line. PaymentLink paymentLink = client.v1().paymentLinks().create(params); ``` ```node // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys const stripe = require('stripe')('<>'); const paymentLink = await stripe.paymentLinks.create({ line_items: [ { price: '{{PRICE_ID}}', quantity: 1, }, ], automatic_tax: { enabled: true, liability: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }, subscription_data: { invoice_settings: { issuer: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }, }, }); ``` ```go // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys sc := stripe.NewClient("<>") params := &stripe.PaymentLinkCreateParams{ LineItems: []*stripe.PaymentLinkCreateLineItemParams{ &stripe.PaymentLinkCreateLineItemParams{ Price: stripe.String("{{PRICE_ID}}"), Quantity: stripe.Int64(1), }, }, AutomaticTax: &stripe.PaymentLinkCreateAutomaticTaxParams{ Enabled: stripe.Bool(true), Liability: &stripe.PaymentLinkCreateAutomaticTaxLiabilityParams{ Type: stripe.String(stripe.PaymentLinkAutomaticTaxLiabilityTypeAccount), Account: stripe.String("{{CONNECTEDACCOUNT_ID}}"), }, }, SubscriptionData: &stripe.PaymentLinkCreateSubscriptionDataParams{ InvoiceSettings: &stripe.PaymentLinkCreateSubscriptionDataInvoiceSettingsParams{ Issuer: &stripe.PaymentLinkCreateSubscriptionDataInvoiceSettingsIssuerParams{ Type: stripe.String(stripe.PaymentLinkSubscriptionDataInvoiceSettingsIssuerTypeAccount), Account: stripe.String("{{CONNECTEDACCOUNT_ID}}"), }, }, }, } result, err := sc.V1PaymentLinks.Create(context.TODO(), params) ``` ```dotnet // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys var options = new PaymentLinkCreateOptions { LineItems = new List { new PaymentLinkLineItemOptions { Price = "{{PRICE_ID}}", Quantity = 1 }, }, AutomaticTax = new PaymentLinkAutomaticTaxOptions { Enabled = true, Liability = new PaymentLinkAutomaticTaxLiabilityOptions { Type = "account", Account = "{{CONNECTEDACCOUNT_ID}}", }, }, SubscriptionData = new PaymentLinkSubscriptionDataOptions { InvoiceSettings = new PaymentLinkSubscriptionDataInvoiceSettingsOptions { Issuer = new PaymentLinkSubscriptionDataInvoiceSettingsIssuerOptions { Type = "account", Account = "{{CONNECTEDACCOUNT_ID}}", }, }, }, }; var client = new StripeClient("<>"); var service = client.V1.PaymentLinks; PaymentLink paymentLink = service.Create(options); ``` Für Aufrufe der Transfers API: - Geben Sie [source_transaction](https://docs.stripe.com/api/transfers/create.md#create_transfer-source_transaction) an, um die Überweisung mit dem vom Payment Link erstellten Payment Intent zu verknüpfen. - Geben Sie [destination](https://docs.stripe.com/api/transfers/create.md#create_transfer-destination) mit dem Wert der verbundenen Konto-ID an. ```curl curl https://api.stripe.com/v1/transfers \ -u "<>:" \ -d amount=1000 \ -d currency=usd \ -d source_transaction="{{CHARGE_ID}}" \ -d destination="{{CONNECTEDACCOUNT_ID}}" ``` ```cli stripe transfers create \ --amount=1000 \ --currency=usd \ --source-transaction="{{CHARGE_ID}}" \ --destination="{{CONNECTEDACCOUNT_ID}}" ``` ```ruby # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = Stripe::StripeClient.new("<>") transfer = client.v1.transfers.create({ amount: 1000, currency: 'usd', source_transaction: '{{CHARGE_ID}}', destination: '{{CONNECTEDACCOUNT_ID}}', }) ``` ```python # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = StripeClient("<>") # For SDK versions 12.4.0 or lower, remove '.v1' from the following line. transfer = client.v1.transfers.create({ "amount": 1000, "currency": "usd", "source_transaction": "{{CHARGE_ID}}", "destination": "{{CONNECTEDACCOUNT_ID}}", }) ``` ```php // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys $stripe = new \Stripe\StripeClient('<>'); $transfer = $stripe->transfers->create([ 'amount' => 1000, 'currency' => 'usd', 'source_transaction' => '{{CHARGE_ID}}', 'destination' => '{{CONNECTEDACCOUNT_ID}}', ]); ``` ```java // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys StripeClient client = new StripeClient("<>"); TransferCreateParams params = TransferCreateParams.builder() .setAmount(1000L) .setCurrency("usd") .setSourceTransaction("{{CHARGE_ID}}") .setDestination("{{CONNECTEDACCOUNT_ID}}") .build(); // For SDK versions 29.4.0 or lower, remove '.v1()' from the following line. Transfer transfer = client.v1().transfers().create(params); ``` ```node // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys const stripe = require('stripe')('<>'); const transfer = await stripe.transfers.create({ amount: 1000, currency: 'usd', source_transaction: '{{CHARGE_ID}}', destination: '{{CONNECTEDACCOUNT_ID}}', }); ``` ```go // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys sc := stripe.NewClient("<>") params := &stripe.TransferCreateParams{ Amount: stripe.Int64(1000), Currency: stripe.String(stripe.CurrencyUSD), SourceTransaction: stripe.String("{{CHARGE_ID}}"), Destination: stripe.String("{{CONNECTEDACCOUNT_ID}}"), } result, err := sc.V1Transfers.Create(context.TODO(), params) ``` ```dotnet // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys var options = new TransferCreateOptions { Amount = 1000, Currency = "usd", SourceTransaction = "{{CHARGE_ID}}", Destination = "{{CONNECTEDACCOUNT_ID}}", }; var client = new StripeClient("<>"); var service = client.V1.Transfers; Transfer transfer = service.Create(options); ``` ### Checkout ### Checkout-Sitzungen für einmalige Zahlungen Wählen Sie einen der derzeit unterstützten [Zahlungstypen](https://docs.stripe.com/connect/charges.md#types), mit denen das verbundene Konto mit [Stripe Checkout](https://docs.stripe.com/tax/checkout.md) *steuerpflichtig* (The responsibility for collecting and reporting taxes for transactions in a Connect integration. It can belong to the platform or to connected accounts, depending on your business model, government regulations, and individual transaction details) werden kann: #### Direct Charges Für Aufrufe der Checkout Sessions API: - Geben Sie den Header `Stripe-Account` mit dem Wert der verbundenen Konto-ID an. ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -H "Stripe-Account: {{CONNECTEDACCOUNT_ID}}" \ -d "line_items[0][price]"="{{PRICE_ID}}" \ -d "line_items[0][quantity]"=2 \ -d "automatic_tax[enabled]"=true \ -d mode=payment \ --data-urlencode success_url="https://example.com/success" ``` ```cli stripe checkout sessions create \ --stripe-account {{CONNECTEDACCOUNT_ID}} \ -d "line_items[0][price]"="{{PRICE_ID}}" \ -d "line_items[0][quantity]"=2 \ -d "automatic_tax[enabled]"=true \ --mode=payment \ --success-url="https://example.com/success" ``` ```ruby # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = Stripe::StripeClient.new("<>") session = client.v1.checkout.sessions.create( { line_items: [ { price: '{{PRICE_ID}}', quantity: 2, }, ], automatic_tax: {enabled: true}, mode: 'payment', success_url: 'https://example.com/success', }, {stripe_account: '{{CONNECTEDACCOUNT_ID}}'}, ) ``` ```python # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = StripeClient("<>") # For SDK versions 12.4.0 or lower, remove '.v1' from the following line. session = client.v1.checkout.sessions.create( { "line_items": [{"price": "{{PRICE_ID}}", "quantity": 2}], "automatic_tax": {"enabled": True}, "mode": "payment", "success_url": "https://example.com/success", }, {"stripe_account": "{{CONNECTEDACCOUNT_ID}}"}, ) ``` ```php // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys $stripe = new \Stripe\StripeClient('<>'); $session = $stripe->checkout->sessions->create( [ 'line_items' => [ [ 'price' => '{{PRICE_ID}}', 'quantity' => 2, ], ], 'automatic_tax' => ['enabled' => true], 'mode' => 'payment', 'success_url' => 'https://example.com/success', ], ['stripe_account' => '{{CONNECTEDACCOUNT_ID}}'] ); ``` ```java // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys StripeClient client = new StripeClient("<>"); SessionCreateParams params = SessionCreateParams.builder() .addLineItem( SessionCreateParams.LineItem.builder() .setPrice("{{PRICE_ID}}") .setQuantity(2L) .build() ) .setAutomaticTax(SessionCreateParams.AutomaticTax.builder().setEnabled(true).build()) .setMode(SessionCreateParams.Mode.PAYMENT) .setSuccessUrl("https://example.com/success") .build(); RequestOptions requestOptions = RequestOptions.builder().setStripeAccount("{{CONNECTEDACCOUNT_ID}}").build(); // For SDK versions 29.4.0 or lower, remove '.v1()' from the following line. Session session = client.v1().checkout().sessions().create(params, requestOptions); ``` ```node // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys const stripe = require('stripe')('<>'); const session = await stripe.checkout.sessions.create( { line_items: [ { price: '{{PRICE_ID}}', quantity: 2, }, ], automatic_tax: { enabled: true, }, mode: 'payment', success_url: 'https://example.com/success', }, { stripeAccount: '{{CONNECTEDACCOUNT_ID}}', } ); ``` ```go // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys sc := stripe.NewClient("<>") params := &stripe.CheckoutSessionCreateParams{ LineItems: []*stripe.CheckoutSessionCreateLineItemParams{ &stripe.CheckoutSessionCreateLineItemParams{ Price: stripe.String("{{PRICE_ID}}"), Quantity: stripe.Int64(2), }, }, AutomaticTax: &stripe.CheckoutSessionCreateAutomaticTaxParams{ Enabled: stripe.Bool(true), }, Mode: stripe.String(stripe.CheckoutSessionModePayment), SuccessURL: stripe.String("https://example.com/success"), } params.SetStripeAccount("{{CONNECTEDACCOUNT_ID}}") result, err := sc.V1CheckoutSessions.Create(context.TODO(), params) ``` ```dotnet // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys var options = new Stripe.Checkout.SessionCreateOptions { LineItems = new List { new Stripe.Checkout.SessionLineItemOptions { Price = "{{PRICE_ID}}", Quantity = 2, }, }, AutomaticTax = new Stripe.Checkout.SessionAutomaticTaxOptions { Enabled = true }, Mode = "payment", SuccessUrl = "https://example.com/success", }; var requestOptions = new RequestOptions { StripeAccount = "{{CONNECTEDACCOUNT_ID}}", }; var client = new StripeClient("<>"); var service = client.V1.Checkout.Sessions; Stripe.Checkout.Session session = service.Create(options, requestOptions); ``` #### Destination Charges Für Aufrufe der Checkout Sessions API: - Geben Sie [automatic_tax[liability]](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-automatic_tax-liability) mit `type=account` und `account` mit dem Wert der verbundenen Konto-ID an. - Geben Sie [payment_intent_data[transfer_data][destination]](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-payment_intent_data-transfer_data-destination) mit dem Wert der verbundenen Konto-ID an. - (Optional) Wenn Sie [Rechnungen automatisch senden](https://docs.stripe.com/payments/checkout/receipts.md?payment-ui=stripe-hosted#automatically-send-receipts), geben Sie [invoice_creation[invoice_data][den Aussteller]](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-invoice_creation-invoice_data-issuer) mit `type=account` und `account` mit dem Wert der verbundenen Konto-ID an. - (Optional) Wenn es sich bei dem verbundenen Konto um den/die [Abrechnungshändler/in](https://docs.stripe.com/connect/destination-charges.md#settlement-merchant) handelt, fügen Sie [payment_intent_data[on_behalf_of]](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-payment_intent_data-on_behalf_of) mit dem Wert der ID des verbundenen Kontos hinzu. ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price]"="{{PRICE_ID}}" \ -d "line_items[0][quantity]"=2 \ -d "automatic_tax[enabled]"=true \ -d "automatic_tax[liability][type]"=account \ -d "automatic_tax[liability][account]"="{{CONNECTEDACCOUNT_ID}}" \ -d "payment_intent_data[transfer_data][destination]"="{{CONNECTEDACCOUNT_ID}}" \ -d "invoice_creation[enabled]"=true \ -d "invoice_creation[invoice_data][issuer][type]"=account \ -d "invoice_creation[invoice_data][issuer][account]"="{{CONNECTEDACCOUNT_ID}}" \ -d mode=payment \ --data-urlencode success_url="https://example.com/success" ``` ```cli stripe checkout sessions create \ -d "line_items[0][price]"="{{PRICE_ID}}" \ -d "line_items[0][quantity]"=2 \ -d "automatic_tax[enabled]"=true \ -d "automatic_tax[liability][type]"=account \ -d "automatic_tax[liability][account]"="{{CONNECTEDACCOUNT_ID}}" \ -d "payment_intent_data[transfer_data][destination]"="{{CONNECTEDACCOUNT_ID}}" \ -d "invoice_creation[enabled]"=true \ -d "invoice_creation[invoice_data][issuer][type]"=account \ -d "invoice_creation[invoice_data][issuer][account]"="{{CONNECTEDACCOUNT_ID}}" \ --mode=payment \ --success-url="https://example.com/success" ``` ```ruby # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = Stripe::StripeClient.new("<>") session = client.v1.checkout.sessions.create({ line_items: [ { price: '{{PRICE_ID}}', quantity: 2, }, ], automatic_tax: { enabled: true, liability: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }, payment_intent_data: {transfer_data: {destination: '{{CONNECTEDACCOUNT_ID}}'}}, invoice_creation: { enabled: true, invoice_data: { issuer: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }, }, mode: 'payment', success_url: 'https://example.com/success', }) ``` ```python # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = StripeClient("<>") # For SDK versions 12.4.0 or lower, remove '.v1' from the following line. session = client.v1.checkout.sessions.create({ "line_items": [{"price": "{{PRICE_ID}}", "quantity": 2}], "automatic_tax": { "enabled": True, "liability": {"type": "account", "account": "{{CONNECTEDACCOUNT_ID}}"}, }, "payment_intent_data": { "transfer_data": {"destination": "{{CONNECTEDACCOUNT_ID}}"}, }, "invoice_creation": { "enabled": True, "invoice_data": { "issuer": {"type": "account", "account": "{{CONNECTEDACCOUNT_ID}}"}, }, }, "mode": "payment", "success_url": "https://example.com/success", }) ``` ```php // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys $stripe = new \Stripe\StripeClient('<>'); $session = $stripe->checkout->sessions->create([ 'line_items' => [ [ 'price' => '{{PRICE_ID}}', 'quantity' => 2, ], ], 'automatic_tax' => [ 'enabled' => true, 'liability' => [ 'type' => 'account', 'account' => '{{CONNECTEDACCOUNT_ID}}', ], ], 'payment_intent_data' => [ 'transfer_data' => ['destination' => '{{CONNECTEDACCOUNT_ID}}'], ], 'invoice_creation' => [ 'enabled' => true, 'invoice_data' => [ 'issuer' => [ 'type' => 'account', 'account' => '{{CONNECTEDACCOUNT_ID}}', ], ], ], 'mode' => 'payment', 'success_url' => 'https://example.com/success', ]); ``` ```java // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys StripeClient client = new StripeClient("<>"); SessionCreateParams params = SessionCreateParams.builder() .addLineItem( SessionCreateParams.LineItem.builder() .setPrice("{{PRICE_ID}}") .setQuantity(2L) .build() ) .setAutomaticTax( SessionCreateParams.AutomaticTax.builder() .setEnabled(true) .setLiability( SessionCreateParams.AutomaticTax.Liability.builder() .setType(SessionCreateParams.AutomaticTax.Liability.Type.ACCOUNT) .setAccount("{{CONNECTEDACCOUNT_ID}}") .build() ) .build() ) .setPaymentIntentData( SessionCreateParams.PaymentIntentData.builder() .setTransferData( SessionCreateParams.PaymentIntentData.TransferData.builder() .setDestination("{{CONNECTEDACCOUNT_ID}}") .build() ) .build() ) .setInvoiceCreation( SessionCreateParams.InvoiceCreation.builder() .setEnabled(true) .setInvoiceData( SessionCreateParams.InvoiceCreation.InvoiceData.builder() .setIssuer( SessionCreateParams.InvoiceCreation.InvoiceData.Issuer.builder() .setType( SessionCreateParams.InvoiceCreation.InvoiceData.Issuer.Type.ACCOUNT ) .setAccount("{{CONNECTEDACCOUNT_ID}}") .build() ) .build() ) .build() ) .setMode(SessionCreateParams.Mode.PAYMENT) .setSuccessUrl("https://example.com/success") .build(); // For SDK versions 29.4.0 or lower, remove '.v1()' from the following line. Session session = client.v1().checkout().sessions().create(params); ``` ```node // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys const stripe = require('stripe')('<>'); const session = await stripe.checkout.sessions.create({ line_items: [ { price: '{{PRICE_ID}}', quantity: 2, }, ], automatic_tax: { enabled: true, liability: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }, payment_intent_data: { transfer_data: { destination: '{{CONNECTEDACCOUNT_ID}}', }, }, invoice_creation: { enabled: true, invoice_data: { issuer: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }, }, mode: 'payment', success_url: 'https://example.com/success', }); ``` ```go // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys sc := stripe.NewClient("<>") params := &stripe.CheckoutSessionCreateParams{ LineItems: []*stripe.CheckoutSessionCreateLineItemParams{ &stripe.CheckoutSessionCreateLineItemParams{ Price: stripe.String("{{PRICE_ID}}"), Quantity: stripe.Int64(2), }, }, AutomaticTax: &stripe.CheckoutSessionCreateAutomaticTaxParams{ Enabled: stripe.Bool(true), Liability: &stripe.CheckoutSessionCreateAutomaticTaxLiabilityParams{ Type: stripe.String(stripe.CheckoutSessionAutomaticTaxLiabilityTypeAccount), Account: stripe.String("{{CONNECTEDACCOUNT_ID}}"), }, }, PaymentIntentData: &stripe.CheckoutSessionCreatePaymentIntentDataParams{ TransferData: &stripe.CheckoutSessionCreatePaymentIntentDataTransferDataParams{ Destination: stripe.String("{{CONNECTEDACCOUNT_ID}}"), }, }, InvoiceCreation: &stripe.CheckoutSessionCreateInvoiceCreationParams{ Enabled: stripe.Bool(true), InvoiceData: &stripe.CheckoutSessionCreateInvoiceCreationInvoiceDataParams{ Issuer: &stripe.CheckoutSessionCreateInvoiceCreationInvoiceDataIssuerParams{ Type: stripe.String(stripe.CheckoutSessionInvoiceCreationInvoiceDataIssuerTypeAccount), Account: stripe.String("{{CONNECTEDACCOUNT_ID}}"), }, }, }, Mode: stripe.String(stripe.CheckoutSessionModePayment), SuccessURL: stripe.String("https://example.com/success"), } result, err := sc.V1CheckoutSessions.Create(context.TODO(), params) ``` ```dotnet // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys var options = new Stripe.Checkout.SessionCreateOptions { LineItems = new List { new Stripe.Checkout.SessionLineItemOptions { Price = "{{PRICE_ID}}", Quantity = 2, }, }, AutomaticTax = new Stripe.Checkout.SessionAutomaticTaxOptions { Enabled = true, Liability = new Stripe.Checkout.SessionAutomaticTaxLiabilityOptions { Type = "account", Account = "{{CONNECTEDACCOUNT_ID}}", }, }, PaymentIntentData = new Stripe.Checkout.SessionPaymentIntentDataOptions { TransferData = new Stripe.Checkout.SessionPaymentIntentDataTransferDataOptions { Destination = "{{CONNECTEDACCOUNT_ID}}", }, }, InvoiceCreation = new Stripe.Checkout.SessionInvoiceCreationOptions { Enabled = true, InvoiceData = new Stripe.Checkout.SessionInvoiceCreationInvoiceDataOptions { Issuer = new Stripe.Checkout.SessionInvoiceCreationInvoiceDataIssuerOptions { Type = "account", Account = "{{CONNECTEDACCOUNT_ID}}", }, }, }, Mode = "payment", SuccessUrl = "https://example.com/success", }; var client = new StripeClient("<>"); var service = client.V1.Checkout.Sessions; Stripe.Checkout.Session session = service.Create(options); ``` #### Separate Zahlungen und Überweisungen Für Aufrufe der Checkout Sessions API: - Geben Sie [automatic_tax[liability]](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-automatic_tax-liability) mit `type=account` und `account` mit dem Wert der verbundenen Konto-ID an. - (Optional) Wenn Sie [Rechnungen automatisch senden](https://docs.stripe.com/payments/checkout/receipts.md?payment-ui=stripe-hosted#automatically-send-receipts), geben Sie [invoice_creation[invoice_data][den Aussteller]](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-invoice_creation-invoice_data-issuer) mit `type=account` und `account` mit dem Wert der verbundenen Konto-ID an. - (Optional) Wenn es sich bei dem verbundenen Konto um den [Abwicklungshändler](https://docs.stripe.com/connect/separate-charges-and-transfers.md#settlement-merchant) handelt, fügen Sie [payment_intent_data[on_behalf_of]](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-payment_intent_data-on_behalf_of) mit dem Wert der ID des verbundenen Kontos hinzu. ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price]"="{{PRICE_ID}}" \ -d "line_items[0][quantity]"=2 \ -d "automatic_tax[enabled]"=true \ -d "automatic_tax[liability][type]"=account \ -d "automatic_tax[liability][account]"="{{CONNECTEDACCOUNT_ID}}" \ -d "invoice_creation[enabled]"=true \ -d "invoice_creation[invoice_data][issuer][type]"=account \ -d "invoice_creation[invoice_data][issuer][account]"="{{CONNECTEDACCOUNT_ID}}" \ -d mode=payment \ --data-urlencode success_url="https://example.com/success" ``` ```cli stripe checkout sessions create \ -d "line_items[0][price]"="{{PRICE_ID}}" \ -d "line_items[0][quantity]"=2 \ -d "automatic_tax[enabled]"=true \ -d "automatic_tax[liability][type]"=account \ -d "automatic_tax[liability][account]"="{{CONNECTEDACCOUNT_ID}}" \ -d "invoice_creation[enabled]"=true \ -d "invoice_creation[invoice_data][issuer][type]"=account \ -d "invoice_creation[invoice_data][issuer][account]"="{{CONNECTEDACCOUNT_ID}}" \ --mode=payment \ --success-url="https://example.com/success" ``` ```ruby # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = Stripe::StripeClient.new("<>") session = client.v1.checkout.sessions.create({ line_items: [ { price: '{{PRICE_ID}}', quantity: 2, }, ], automatic_tax: { enabled: true, liability: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }, invoice_creation: { enabled: true, invoice_data: { issuer: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }, }, mode: 'payment', success_url: 'https://example.com/success', }) ``` ```python # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = StripeClient("<>") # For SDK versions 12.4.0 or lower, remove '.v1' from the following line. session = client.v1.checkout.sessions.create({ "line_items": [{"price": "{{PRICE_ID}}", "quantity": 2}], "automatic_tax": { "enabled": True, "liability": {"type": "account", "account": "{{CONNECTEDACCOUNT_ID}}"}, }, "invoice_creation": { "enabled": True, "invoice_data": { "issuer": {"type": "account", "account": "{{CONNECTEDACCOUNT_ID}}"}, }, }, "mode": "payment", "success_url": "https://example.com/success", }) ``` ```php // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys $stripe = new \Stripe\StripeClient('<>'); $session = $stripe->checkout->sessions->create([ 'line_items' => [ [ 'price' => '{{PRICE_ID}}', 'quantity' => 2, ], ], 'automatic_tax' => [ 'enabled' => true, 'liability' => [ 'type' => 'account', 'account' => '{{CONNECTEDACCOUNT_ID}}', ], ], 'invoice_creation' => [ 'enabled' => true, 'invoice_data' => [ 'issuer' => [ 'type' => 'account', 'account' => '{{CONNECTEDACCOUNT_ID}}', ], ], ], 'mode' => 'payment', 'success_url' => 'https://example.com/success', ]); ``` ```java // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys StripeClient client = new StripeClient("<>"); SessionCreateParams params = SessionCreateParams.builder() .addLineItem( SessionCreateParams.LineItem.builder() .setPrice("{{PRICE_ID}}") .setQuantity(2L) .build() ) .setAutomaticTax( SessionCreateParams.AutomaticTax.builder() .setEnabled(true) .setLiability( SessionCreateParams.AutomaticTax.Liability.builder() .setType(SessionCreateParams.AutomaticTax.Liability.Type.ACCOUNT) .setAccount("{{CONNECTEDACCOUNT_ID}}") .build() ) .build() ) .setInvoiceCreation( SessionCreateParams.InvoiceCreation.builder() .setEnabled(true) .setInvoiceData( SessionCreateParams.InvoiceCreation.InvoiceData.builder() .setIssuer( SessionCreateParams.InvoiceCreation.InvoiceData.Issuer.builder() .setType( SessionCreateParams.InvoiceCreation.InvoiceData.Issuer.Type.ACCOUNT ) .setAccount("{{CONNECTEDACCOUNT_ID}}") .build() ) .build() ) .build() ) .setMode(SessionCreateParams.Mode.PAYMENT) .setSuccessUrl("https://example.com/success") .build(); // For SDK versions 29.4.0 or lower, remove '.v1()' from the following line. Session session = client.v1().checkout().sessions().create(params); ``` ```node // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys const stripe = require('stripe')('<>'); const session = await stripe.checkout.sessions.create({ line_items: [ { price: '{{PRICE_ID}}', quantity: 2, }, ], automatic_tax: { enabled: true, liability: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }, invoice_creation: { enabled: true, invoice_data: { issuer: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }, }, mode: 'payment', success_url: 'https://example.com/success', }); ``` ```go // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys sc := stripe.NewClient("<>") params := &stripe.CheckoutSessionCreateParams{ LineItems: []*stripe.CheckoutSessionCreateLineItemParams{ &stripe.CheckoutSessionCreateLineItemParams{ Price: stripe.String("{{PRICE_ID}}"), Quantity: stripe.Int64(2), }, }, AutomaticTax: &stripe.CheckoutSessionCreateAutomaticTaxParams{ Enabled: stripe.Bool(true), Liability: &stripe.CheckoutSessionCreateAutomaticTaxLiabilityParams{ Type: stripe.String(stripe.CheckoutSessionAutomaticTaxLiabilityTypeAccount), Account: stripe.String("{{CONNECTEDACCOUNT_ID}}"), }, }, InvoiceCreation: &stripe.CheckoutSessionCreateInvoiceCreationParams{ Enabled: stripe.Bool(true), InvoiceData: &stripe.CheckoutSessionCreateInvoiceCreationInvoiceDataParams{ Issuer: &stripe.CheckoutSessionCreateInvoiceCreationInvoiceDataIssuerParams{ Type: stripe.String(stripe.CheckoutSessionInvoiceCreationInvoiceDataIssuerTypeAccount), Account: stripe.String("{{CONNECTEDACCOUNT_ID}}"), }, }, }, Mode: stripe.String(stripe.CheckoutSessionModePayment), SuccessURL: stripe.String("https://example.com/success"), } result, err := sc.V1CheckoutSessions.Create(context.TODO(), params) ``` ```dotnet // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys var options = new Stripe.Checkout.SessionCreateOptions { LineItems = new List { new Stripe.Checkout.SessionLineItemOptions { Price = "{{PRICE_ID}}", Quantity = 2, }, }, AutomaticTax = new Stripe.Checkout.SessionAutomaticTaxOptions { Enabled = true, Liability = new Stripe.Checkout.SessionAutomaticTaxLiabilityOptions { Type = "account", Account = "{{CONNECTEDACCOUNT_ID}}", }, }, InvoiceCreation = new Stripe.Checkout.SessionInvoiceCreationOptions { Enabled = true, InvoiceData = new Stripe.Checkout.SessionInvoiceCreationInvoiceDataOptions { Issuer = new Stripe.Checkout.SessionInvoiceCreationInvoiceDataIssuerOptions { Type = "account", Account = "{{CONNECTEDACCOUNT_ID}}", }, }, }, Mode = "payment", SuccessUrl = "https://example.com/success", }; var client = new StripeClient("<>"); var service = client.V1.Checkout.Sessions; Stripe.Checkout.Session session = service.Create(options); ``` Für Aufrufe der Transfers API: - Geben Sie [source_transaction](https://docs.stripe.com/api/transfers/create.md#create_transfer-source_transaction) an, um die Überweisung mit dem von der Checkout-Sitzung erstellten Payment Intent zu verknüpfen. - Geben Sie [destination](https://docs.stripe.com/api/transfers/create.md#create_transfer-destination) mit dem Wert der verbundenen Konto-ID an. ```curl curl https://api.stripe.com/v1/transfers \ -u "<>:" \ -d amount=1000 \ -d currency=usd \ -d source_transaction="{{CHARGE_ID}}" \ -d destination="{{CONNECTEDACCOUNT_ID}}" ``` ```cli stripe transfers create \ --amount=1000 \ --currency=usd \ --source-transaction="{{CHARGE_ID}}" \ --destination="{{CONNECTEDACCOUNT_ID}}" ``` ```ruby # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = Stripe::StripeClient.new("<>") transfer = client.v1.transfers.create({ amount: 1000, currency: 'usd', source_transaction: '{{CHARGE_ID}}', destination: '{{CONNECTEDACCOUNT_ID}}', }) ``` ```python # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = StripeClient("<>") # For SDK versions 12.4.0 or lower, remove '.v1' from the following line. transfer = client.v1.transfers.create({ "amount": 1000, "currency": "usd", "source_transaction": "{{CHARGE_ID}}", "destination": "{{CONNECTEDACCOUNT_ID}}", }) ``` ```php // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys $stripe = new \Stripe\StripeClient('<>'); $transfer = $stripe->transfers->create([ 'amount' => 1000, 'currency' => 'usd', 'source_transaction' => '{{CHARGE_ID}}', 'destination' => '{{CONNECTEDACCOUNT_ID}}', ]); ``` ```java // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys StripeClient client = new StripeClient("<>"); TransferCreateParams params = TransferCreateParams.builder() .setAmount(1000L) .setCurrency("usd") .setSourceTransaction("{{CHARGE_ID}}") .setDestination("{{CONNECTEDACCOUNT_ID}}") .build(); // For SDK versions 29.4.0 or lower, remove '.v1()' from the following line. Transfer transfer = client.v1().transfers().create(params); ``` ```node // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys const stripe = require('stripe')('<>'); const transfer = await stripe.transfers.create({ amount: 1000, currency: 'usd', source_transaction: '{{CHARGE_ID}}', destination: '{{CONNECTEDACCOUNT_ID}}', }); ``` ```go // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys sc := stripe.NewClient("<>") params := &stripe.TransferCreateParams{ Amount: stripe.Int64(1000), Currency: stripe.String(stripe.CurrencyUSD), SourceTransaction: stripe.String("{{CHARGE_ID}}"), Destination: stripe.String("{{CONNECTEDACCOUNT_ID}}"), } result, err := sc.V1Transfers.Create(context.TODO(), params) ``` ```dotnet // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys var options = new TransferCreateOptions { Amount = 1000, Currency = "usd", SourceTransaction = "{{CHARGE_ID}}", Destination = "{{CONNECTEDACCOUNT_ID}}", }; var client = new StripeClient("<>"); var service = client.V1.Transfers; Transfer transfer = service.Create(options); ``` ### Checkout-Sitzungen für Abonnements Wählen Sie einen der derzeit unterstützten [Zahlungstypen](https://docs.stripe.com/connect/charges.md#types), mit denen das verbundene Konto mit [Stripe Checkout](https://docs.stripe.com/tax/checkout.md) *steuerpflichtig* (The responsibility for collecting and reporting taxes for transactions in a Connect integration. It can belong to the platform or to connected accounts, depending on your business model, government regulations, and individual transaction details) werden kann: #### Direct Charges Für Aufrufe der Checkout Sessions API: - Geben Sie den Header `Stripe-Account` mit dem Wert der verbundenen Konto-ID an. ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -H "Stripe-Account: {{CONNECTEDACCOUNT_ID}}" \ -d "line_items[0][price]"="{{PRICE_ID}}" \ -d "line_items[0][quantity]"=1 \ -d "automatic_tax[enabled]"=true \ -d mode=subscription \ --data-urlencode success_url="https://example.com/success" ``` ```cli stripe checkout sessions create \ --stripe-account {{CONNECTEDACCOUNT_ID}} \ -d "line_items[0][price]"="{{PRICE_ID}}" \ -d "line_items[0][quantity]"=1 \ -d "automatic_tax[enabled]"=true \ --mode=subscription \ --success-url="https://example.com/success" ``` ```ruby # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = Stripe::StripeClient.new("<>") session = client.v1.checkout.sessions.create( { line_items: [ { price: '{{PRICE_ID}}', quantity: 1, }, ], automatic_tax: {enabled: true}, mode: 'subscription', success_url: 'https://example.com/success', }, {stripe_account: '{{CONNECTEDACCOUNT_ID}}'}, ) ``` ```python # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = StripeClient("<>") # For SDK versions 12.4.0 or lower, remove '.v1' from the following line. session = client.v1.checkout.sessions.create( { "line_items": [{"price": "{{PRICE_ID}}", "quantity": 1}], "automatic_tax": {"enabled": True}, "mode": "subscription", "success_url": "https://example.com/success", }, {"stripe_account": "{{CONNECTEDACCOUNT_ID}}"}, ) ``` ```php // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys $stripe = new \Stripe\StripeClient('<>'); $session = $stripe->checkout->sessions->create( [ 'line_items' => [ [ 'price' => '{{PRICE_ID}}', 'quantity' => 1, ], ], 'automatic_tax' => ['enabled' => true], 'mode' => 'subscription', 'success_url' => 'https://example.com/success', ], ['stripe_account' => '{{CONNECTEDACCOUNT_ID}}'] ); ``` ```java // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys StripeClient client = new StripeClient("<>"); SessionCreateParams params = SessionCreateParams.builder() .addLineItem( SessionCreateParams.LineItem.builder() .setPrice("{{PRICE_ID}}") .setQuantity(1L) .build() ) .setAutomaticTax(SessionCreateParams.AutomaticTax.builder().setEnabled(true).build()) .setMode(SessionCreateParams.Mode.SUBSCRIPTION) .setSuccessUrl("https://example.com/success") .build(); RequestOptions requestOptions = RequestOptions.builder().setStripeAccount("{{CONNECTEDACCOUNT_ID}}").build(); // For SDK versions 29.4.0 or lower, remove '.v1()' from the following line. Session session = client.v1().checkout().sessions().create(params, requestOptions); ``` ```node // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys const stripe = require('stripe')('<>'); const session = await stripe.checkout.sessions.create( { line_items: [ { price: '{{PRICE_ID}}', quantity: 1, }, ], automatic_tax: { enabled: true, }, mode: 'subscription', success_url: 'https://example.com/success', }, { stripeAccount: '{{CONNECTEDACCOUNT_ID}}', } ); ``` ```go // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys sc := stripe.NewClient("<>") params := &stripe.CheckoutSessionCreateParams{ LineItems: []*stripe.CheckoutSessionCreateLineItemParams{ &stripe.CheckoutSessionCreateLineItemParams{ Price: stripe.String("{{PRICE_ID}}"), Quantity: stripe.Int64(1), }, }, AutomaticTax: &stripe.CheckoutSessionCreateAutomaticTaxParams{ Enabled: stripe.Bool(true), }, Mode: stripe.String(stripe.CheckoutSessionModeSubscription), SuccessURL: stripe.String("https://example.com/success"), } params.SetStripeAccount("{{CONNECTEDACCOUNT_ID}}") result, err := sc.V1CheckoutSessions.Create(context.TODO(), params) ``` ```dotnet // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys var options = new Stripe.Checkout.SessionCreateOptions { LineItems = new List { new Stripe.Checkout.SessionLineItemOptions { Price = "{{PRICE_ID}}", Quantity = 1, }, }, AutomaticTax = new Stripe.Checkout.SessionAutomaticTaxOptions { Enabled = true }, Mode = "subscription", SuccessUrl = "https://example.com/success", }; var requestOptions = new RequestOptions { StripeAccount = "{{CONNECTEDACCOUNT_ID}}", }; var client = new StripeClient("<>"); var service = client.V1.Checkout.Sessions; Stripe.Checkout.Session session = service.Create(options, requestOptions); ``` #### Destination Charges Für Aufrufe der Checkout Sessions API: - Geben Sie [automatic_tax[liability]](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-automatic_tax-liability) mit `type=account` und `account` mit dem Wert der verbundenen Konto-ID an. - Geben Sie [subscription_data[transfer_data][destination]](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-subscription_data-transfer_data-destination) mit dem Wert der verbundenen Konto-ID an. - Geben Sie [subscription_data[invoice_settings][issuer]](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-subscription_data-invoice_settings-issuer) mit `type=account` und `account` mit dem Wert der verbundenen Konto-ID an. - (Optional) Wenn es sich bei dem verbundenen Konto um den/die [Abrechnungshändler/in](https://docs.stripe.com/connect/destination-charges.md#settlement-merchant) handelt, fügen Sie [subscription_data[on_behalf_of]](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-subscription_data-on_behalf_of) mit dem Wert der ID des verbundenen Kontos hinzu. ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price]"="{{PRICE_ID}}" \ -d "line_items[0][quantity]"=1 \ -d "automatic_tax[enabled]"=true \ -d "automatic_tax[liability][type]"=account \ -d "automatic_tax[liability][account]"="{{CONNECTEDACCOUNT_ID}}" \ -d "subscription_data[transfer_data][destination]"="{{CONNECTEDACCOUNT_ID}}" \ -d "subscription_data[invoice_settings][issuer][type]"=account \ -d "subscription_data[invoice_settings][issuer][account]"="{{CONNECTEDACCOUNT_ID}}" \ -d mode=subscription \ --data-urlencode success_url="https://example.com/success" ``` ```cli stripe checkout sessions create \ -d "line_items[0][price]"="{{PRICE_ID}}" \ -d "line_items[0][quantity]"=1 \ -d "automatic_tax[enabled]"=true \ -d "automatic_tax[liability][type]"=account \ -d "automatic_tax[liability][account]"="{{CONNECTEDACCOUNT_ID}}" \ -d "subscription_data[transfer_data][destination]"="{{CONNECTEDACCOUNT_ID}}" \ -d "subscription_data[invoice_settings][issuer][type]"=account \ -d "subscription_data[invoice_settings][issuer][account]"="{{CONNECTEDACCOUNT_ID}}" \ --mode=subscription \ --success-url="https://example.com/success" ``` ```ruby # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = Stripe::StripeClient.new("<>") session = client.v1.checkout.sessions.create({ line_items: [ { price: '{{PRICE_ID}}', quantity: 1, }, ], automatic_tax: { enabled: true, liability: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }, subscription_data: { transfer_data: {destination: '{{CONNECTEDACCOUNT_ID}}'}, invoice_settings: { issuer: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }, }, mode: 'subscription', success_url: 'https://example.com/success', }) ``` ```python # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = StripeClient("<>") # For SDK versions 12.4.0 or lower, remove '.v1' from the following line. session = client.v1.checkout.sessions.create({ "line_items": [{"price": "{{PRICE_ID}}", "quantity": 1}], "automatic_tax": { "enabled": True, "liability": {"type": "account", "account": "{{CONNECTEDACCOUNT_ID}}"}, }, "subscription_data": { "transfer_data": {"destination": "{{CONNECTEDACCOUNT_ID}}"}, "invoice_settings": { "issuer": {"type": "account", "account": "{{CONNECTEDACCOUNT_ID}}"}, }, }, "mode": "subscription", "success_url": "https://example.com/success", }) ``` ```php // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys $stripe = new \Stripe\StripeClient('<>'); $session = $stripe->checkout->sessions->create([ 'line_items' => [ [ 'price' => '{{PRICE_ID}}', 'quantity' => 1, ], ], 'automatic_tax' => [ 'enabled' => true, 'liability' => [ 'type' => 'account', 'account' => '{{CONNECTEDACCOUNT_ID}}', ], ], 'subscription_data' => [ 'transfer_data' => ['destination' => '{{CONNECTEDACCOUNT_ID}}'], 'invoice_settings' => [ 'issuer' => [ 'type' => 'account', 'account' => '{{CONNECTEDACCOUNT_ID}}', ], ], ], 'mode' => 'subscription', 'success_url' => 'https://example.com/success', ]); ``` ```java // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys StripeClient client = new StripeClient("<>"); SessionCreateParams params = SessionCreateParams.builder() .addLineItem( SessionCreateParams.LineItem.builder() .setPrice("{{PRICE_ID}}") .setQuantity(1L) .build() ) .setAutomaticTax( SessionCreateParams.AutomaticTax.builder() .setEnabled(true) .setLiability( SessionCreateParams.AutomaticTax.Liability.builder() .setType(SessionCreateParams.AutomaticTax.Liability.Type.ACCOUNT) .setAccount("{{CONNECTEDACCOUNT_ID}}") .build() ) .build() ) .setSubscriptionData( SessionCreateParams.SubscriptionData.builder() .setTransferData( SessionCreateParams.SubscriptionData.TransferData.builder() .setDestination("{{CONNECTEDACCOUNT_ID}}") .build() ) .setInvoiceSettings( SessionCreateParams.SubscriptionData.InvoiceSettings.builder() .setIssuer( SessionCreateParams.SubscriptionData.InvoiceSettings.Issuer.builder() .setType( SessionCreateParams.SubscriptionData.InvoiceSettings.Issuer.Type.ACCOUNT ) .setAccount("{{CONNECTEDACCOUNT_ID}}") .build() ) .build() ) .build() ) .setMode(SessionCreateParams.Mode.SUBSCRIPTION) .setSuccessUrl("https://example.com/success") .build(); // For SDK versions 29.4.0 or lower, remove '.v1()' from the following line. Session session = client.v1().checkout().sessions().create(params); ``` ```node // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys const stripe = require('stripe')('<>'); const session = await stripe.checkout.sessions.create({ line_items: [ { price: '{{PRICE_ID}}', quantity: 1, }, ], automatic_tax: { enabled: true, liability: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }, subscription_data: { transfer_data: { destination: '{{CONNECTEDACCOUNT_ID}}', }, invoice_settings: { issuer: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }, }, mode: 'subscription', success_url: 'https://example.com/success', }); ``` ```go // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys sc := stripe.NewClient("<>") params := &stripe.CheckoutSessionCreateParams{ LineItems: []*stripe.CheckoutSessionCreateLineItemParams{ &stripe.CheckoutSessionCreateLineItemParams{ Price: stripe.String("{{PRICE_ID}}"), Quantity: stripe.Int64(1), }, }, AutomaticTax: &stripe.CheckoutSessionCreateAutomaticTaxParams{ Enabled: stripe.Bool(true), Liability: &stripe.CheckoutSessionCreateAutomaticTaxLiabilityParams{ Type: stripe.String(stripe.CheckoutSessionAutomaticTaxLiabilityTypeAccount), Account: stripe.String("{{CONNECTEDACCOUNT_ID}}"), }, }, SubscriptionData: &stripe.CheckoutSessionCreateSubscriptionDataParams{ TransferData: &stripe.CheckoutSessionCreateSubscriptionDataTransferDataParams{ Destination: stripe.String("{{CONNECTEDACCOUNT_ID}}"), }, InvoiceSettings: &stripe.CheckoutSessionCreateSubscriptionDataInvoiceSettingsParams{ Issuer: &stripe.CheckoutSessionCreateSubscriptionDataInvoiceSettingsIssuerParams{ Type: stripe.String("account"), Account: stripe.String("{{CONNECTEDACCOUNT_ID}}"), }, }, }, Mode: stripe.String(stripe.CheckoutSessionModeSubscription), SuccessURL: stripe.String("https://example.com/success"), } result, err := sc.V1CheckoutSessions.Create(context.TODO(), params) ``` ```dotnet // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys var options = new Stripe.Checkout.SessionCreateOptions { LineItems = new List { new Stripe.Checkout.SessionLineItemOptions { Price = "{{PRICE_ID}}", Quantity = 1, }, }, AutomaticTax = new Stripe.Checkout.SessionAutomaticTaxOptions { Enabled = true, Liability = new Stripe.Checkout.SessionAutomaticTaxLiabilityOptions { Type = "account", Account = "{{CONNECTEDACCOUNT_ID}}", }, }, SubscriptionData = new Stripe.Checkout.SessionSubscriptionDataOptions { TransferData = new Stripe.Checkout.SessionSubscriptionDataTransferDataOptions { Destination = "{{CONNECTEDACCOUNT_ID}}", }, InvoiceSettings = new Stripe.Checkout.SessionSubscriptionDataInvoiceSettingsOptions { Issuer = new Stripe.Checkout.SessionSubscriptionDataInvoiceSettingsIssuerOptions { Type = "account", Account = "{{CONNECTEDACCOUNT_ID}}", }, }, }, Mode = "subscription", SuccessUrl = "https://example.com/success", }; var client = new StripeClient("<>"); var service = client.V1.Checkout.Sessions; Stripe.Checkout.Session session = service.Create(options); ``` #### Separate Zahlungen und Überweisungen Für Aufrufe der Checkout Sessions API: - Geben Sie [automatic_tax[liability]](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-automatic_tax-liability) mit `type=account` und `account` mit dem Wert der verbundenen Konto-ID an. - Geben Sie [subscription_data[invoice_settings][issuer]](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-subscription_data-invoice_settings-issuer) mit `type=account` und `account` mit dem Wert der verbundenen Konto-ID an. - (Optional) Wenn es sich bei dem verbundenen Konto um den [Abwicklungshändler](https://docs.stripe.com/connect/separate-charges-and-transfers.md#settlement-merchant) handelt, fügen Sie [subscription_data[on_behalf_of]](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-subscription_data-on_behalf_of) mit dem Wert der ID des verbundenen Kontos hinzu. ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price]"="{{PRICE_ID}}" \ -d "line_items[0][quantity]"=1 \ -d "automatic_tax[enabled]"=true \ -d "automatic_tax[liability][type]"=account \ -d "automatic_tax[liability][account]"="{{CONNECTEDACCOUNT_ID}}" \ -d "subscription_data[invoice_settings][issuer][type]"=account \ -d "subscription_data[invoice_settings][issuer][account]"="{{CONNECTEDACCOUNT_ID}}" \ -d mode=subscription \ --data-urlencode success_url="https://example.com/success" ``` ```cli stripe checkout sessions create \ -d "line_items[0][price]"="{{PRICE_ID}}" \ -d "line_items[0][quantity]"=1 \ -d "automatic_tax[enabled]"=true \ -d "automatic_tax[liability][type]"=account \ -d "automatic_tax[liability][account]"="{{CONNECTEDACCOUNT_ID}}" \ -d "subscription_data[invoice_settings][issuer][type]"=account \ -d "subscription_data[invoice_settings][issuer][account]"="{{CONNECTEDACCOUNT_ID}}" \ --mode=subscription \ --success-url="https://example.com/success" ``` ```ruby # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = Stripe::StripeClient.new("<>") session = client.v1.checkout.sessions.create({ line_items: [ { price: '{{PRICE_ID}}', quantity: 1, }, ], automatic_tax: { enabled: true, liability: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }, subscription_data: { invoice_settings: { issuer: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }, }, mode: 'subscription', success_url: 'https://example.com/success', }) ``` ```python # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = StripeClient("<>") # For SDK versions 12.4.0 or lower, remove '.v1' from the following line. session = client.v1.checkout.sessions.create({ "line_items": [{"price": "{{PRICE_ID}}", "quantity": 1}], "automatic_tax": { "enabled": True, "liability": {"type": "account", "account": "{{CONNECTEDACCOUNT_ID}}"}, }, "subscription_data": { "invoice_settings": { "issuer": {"type": "account", "account": "{{CONNECTEDACCOUNT_ID}}"}, }, }, "mode": "subscription", "success_url": "https://example.com/success", }) ``` ```php // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys $stripe = new \Stripe\StripeClient('<>'); $session = $stripe->checkout->sessions->create([ 'line_items' => [ [ 'price' => '{{PRICE_ID}}', 'quantity' => 1, ], ], 'automatic_tax' => [ 'enabled' => true, 'liability' => [ 'type' => 'account', 'account' => '{{CONNECTEDACCOUNT_ID}}', ], ], 'subscription_data' => [ 'invoice_settings' => [ 'issuer' => [ 'type' => 'account', 'account' => '{{CONNECTEDACCOUNT_ID}}', ], ], ], 'mode' => 'subscription', 'success_url' => 'https://example.com/success', ]); ``` ```java // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys StripeClient client = new StripeClient("<>"); SessionCreateParams params = SessionCreateParams.builder() .addLineItem( SessionCreateParams.LineItem.builder() .setPrice("{{PRICE_ID}}") .setQuantity(1L) .build() ) .setAutomaticTax( SessionCreateParams.AutomaticTax.builder() .setEnabled(true) .setLiability( SessionCreateParams.AutomaticTax.Liability.builder() .setType(SessionCreateParams.AutomaticTax.Liability.Type.ACCOUNT) .setAccount("{{CONNECTEDACCOUNT_ID}}") .build() ) .build() ) .setSubscriptionData( SessionCreateParams.SubscriptionData.builder() .setInvoiceSettings( SessionCreateParams.SubscriptionData.InvoiceSettings.builder() .setIssuer( SessionCreateParams.SubscriptionData.InvoiceSettings.Issuer.builder() .setType( SessionCreateParams.SubscriptionData.InvoiceSettings.Issuer.Type.ACCOUNT ) .setAccount("{{CONNECTEDACCOUNT_ID}}") .build() ) .build() ) .build() ) .setMode(SessionCreateParams.Mode.SUBSCRIPTION) .setSuccessUrl("https://example.com/success") .build(); // For SDK versions 29.4.0 or lower, remove '.v1()' from the following line. Session session = client.v1().checkout().sessions().create(params); ``` ```node // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys const stripe = require('stripe')('<>'); const session = await stripe.checkout.sessions.create({ line_items: [ { price: '{{PRICE_ID}}', quantity: 1, }, ], automatic_tax: { enabled: true, liability: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }, subscription_data: { invoice_settings: { issuer: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }, }, mode: 'subscription', success_url: 'https://example.com/success', }); ``` ```go // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys sc := stripe.NewClient("<>") params := &stripe.CheckoutSessionCreateParams{ LineItems: []*stripe.CheckoutSessionCreateLineItemParams{ &stripe.CheckoutSessionCreateLineItemParams{ Price: stripe.String("{{PRICE_ID}}"), Quantity: stripe.Int64(1), }, }, AutomaticTax: &stripe.CheckoutSessionCreateAutomaticTaxParams{ Enabled: stripe.Bool(true), Liability: &stripe.CheckoutSessionCreateAutomaticTaxLiabilityParams{ Type: stripe.String(stripe.CheckoutSessionAutomaticTaxLiabilityTypeAccount), Account: stripe.String("{{CONNECTEDACCOUNT_ID}}"), }, }, SubscriptionData: &stripe.CheckoutSessionCreateSubscriptionDataParams{ InvoiceSettings: &stripe.CheckoutSessionCreateSubscriptionDataInvoiceSettingsParams{ Issuer: &stripe.CheckoutSessionCreateSubscriptionDataInvoiceSettingsIssuerParams{ Type: stripe.String("account"), Account: stripe.String("{{CONNECTEDACCOUNT_ID}}"), }, }, }, Mode: stripe.String(stripe.CheckoutSessionModeSubscription), SuccessURL: stripe.String("https://example.com/success"), } result, err := sc.V1CheckoutSessions.Create(context.TODO(), params) ``` ```dotnet // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys var options = new Stripe.Checkout.SessionCreateOptions { LineItems = new List { new Stripe.Checkout.SessionLineItemOptions { Price = "{{PRICE_ID}}", Quantity = 1, }, }, AutomaticTax = new Stripe.Checkout.SessionAutomaticTaxOptions { Enabled = true, Liability = new Stripe.Checkout.SessionAutomaticTaxLiabilityOptions { Type = "account", Account = "{{CONNECTEDACCOUNT_ID}}", }, }, SubscriptionData = new Stripe.Checkout.SessionSubscriptionDataOptions { InvoiceSettings = new Stripe.Checkout.SessionSubscriptionDataInvoiceSettingsOptions { Issuer = new Stripe.Checkout.SessionSubscriptionDataInvoiceSettingsIssuerOptions { Type = "account", Account = "{{CONNECTEDACCOUNT_ID}}", }, }, }, Mode = "subscription", SuccessUrl = "https://example.com/success", }; var client = new StripeClient("<>"); var service = client.V1.Checkout.Sessions; Stripe.Checkout.Session session = service.Create(options); ``` Für Aufrufe der Transfers API: - Geben Sie [source_transaction](https://docs.stripe.com/api/transfers/create.md#create_transfer-source_transaction) an, um die Überweisung mit dem von der Checkout-Sitzung erstellten Payment Intent zu verknüpfen. - Geben Sie [destination](https://docs.stripe.com/api/transfers/create.md#create_transfer-destination) mit dem Wert der verbundenen Konto-ID an. ```curl curl https://api.stripe.com/v1/transfers \ -u "<>:" \ -d amount=1000 \ -d currency=usd \ -d source_transaction="{{CHARGE_ID}}" \ -d destination="{{CONNECTEDACCOUNT_ID}}" ``` ```cli stripe transfers create \ --amount=1000 \ --currency=usd \ --source-transaction="{{CHARGE_ID}}" \ --destination="{{CONNECTEDACCOUNT_ID}}" ``` ```ruby # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = Stripe::StripeClient.new("<>") transfer = client.v1.transfers.create({ amount: 1000, currency: 'usd', source_transaction: '{{CHARGE_ID}}', destination: '{{CONNECTEDACCOUNT_ID}}', }) ``` ```python # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = StripeClient("<>") # For SDK versions 12.4.0 or lower, remove '.v1' from the following line. transfer = client.v1.transfers.create({ "amount": 1000, "currency": "usd", "source_transaction": "{{CHARGE_ID}}", "destination": "{{CONNECTEDACCOUNT_ID}}", }) ``` ```php // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys $stripe = new \Stripe\StripeClient('<>'); $transfer = $stripe->transfers->create([ 'amount' => 1000, 'currency' => 'usd', 'source_transaction' => '{{CHARGE_ID}}', 'destination' => '{{CONNECTEDACCOUNT_ID}}', ]); ``` ```java // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys StripeClient client = new StripeClient("<>"); TransferCreateParams params = TransferCreateParams.builder() .setAmount(1000L) .setCurrency("usd") .setSourceTransaction("{{CHARGE_ID}}") .setDestination("{{CONNECTEDACCOUNT_ID}}") .build(); // For SDK versions 29.4.0 or lower, remove '.v1()' from the following line. Transfer transfer = client.v1().transfers().create(params); ``` ```node // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys const stripe = require('stripe')('<>'); const transfer = await stripe.transfers.create({ amount: 1000, currency: 'usd', source_transaction: '{{CHARGE_ID}}', destination: '{{CONNECTEDACCOUNT_ID}}', }); ``` ```go // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys sc := stripe.NewClient("<>") params := &stripe.TransferCreateParams{ Amount: stripe.Int64(1000), Currency: stripe.String(stripe.CurrencyUSD), SourceTransaction: stripe.String("{{CHARGE_ID}}"), Destination: stripe.String("{{CONNECTEDACCOUNT_ID}}"), } result, err := sc.V1Transfers.Create(context.TODO(), params) ``` ```dotnet // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys var options = new TransferCreateOptions { Amount = 1000, Currency = "usd", SourceTransaction = "{{CHARGE_ID}}", Destination = "{{CONNECTEDACCOUNT_ID}}", }; var client = new StripeClient("<>"); var service = client.V1.Transfers; Transfer transfer = service.Create(options); ``` ### Billing ### Abonnements Wählen Sie einen der derzeit unterstützten [Zahlungstypen](https://docs.stripe.com/connect/charges.md#types), mit denen das verbundene Konto mit [Stripe Subscriptions](https://docs.stripe.com/tax/subscriptions.md) *steuerpflichtig* (The responsibility for collecting and reporting taxes for transactions in a Connect integration. It can belong to the platform or to connected accounts, depending on your business model, government regulations, and individual transaction details) werden kann: #### Direct Charges Für Aufrufe der Subscriptions API: - Geben Sie den Header `Stripe-Account` mit dem Wert der verbundenen Konto-ID an. ```curl curl https://api.stripe.com/v1/subscriptions \ -u "<>:" \ -H "Stripe-Account: {{CONNECTEDACCOUNT_ID}}" \ -d "items[0][price]"="{{PRICE_ID}}" \ -d "items[0][quantity]"=1 \ -d customer="{{CUSTOMER_ID}}" \ -d "automatic_tax[enabled]"=true ``` ```cli stripe subscriptions create \ --stripe-account {{CONNECTEDACCOUNT_ID}} \ -d "items[0][price]"="{{PRICE_ID}}" \ -d "items[0][quantity]"=1 \ --customer="{{CUSTOMER_ID}}" \ -d "automatic_tax[enabled]"=true ``` ```ruby # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = Stripe::StripeClient.new("<>") subscription = client.v1.subscriptions.create( { items: [ { price: '{{PRICE_ID}}', quantity: 1, }, ], customer: '{{CUSTOMER_ID}}', automatic_tax: {enabled: true}, }, {stripe_account: '{{CONNECTEDACCOUNT_ID}}'}, ) ``` ```python # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = StripeClient("<>") # For SDK versions 12.4.0 or lower, remove '.v1' from the following line. subscription = client.v1.subscriptions.create( { "items": [{"price": "{{PRICE_ID}}", "quantity": 1}], "customer": "{{CUSTOMER_ID}}", "automatic_tax": {"enabled": True}, }, {"stripe_account": "{{CONNECTEDACCOUNT_ID}}"}, ) ``` ```php // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys $stripe = new \Stripe\StripeClient('<>'); $subscription = $stripe->subscriptions->create( [ 'items' => [ [ 'price' => '{{PRICE_ID}}', 'quantity' => 1, ], ], 'customer' => '{{CUSTOMER_ID}}', 'automatic_tax' => ['enabled' => true], ], ['stripe_account' => '{{CONNECTEDACCOUNT_ID}}'] ); ``` ```java // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys StripeClient client = new StripeClient("<>"); SubscriptionCreateParams params = SubscriptionCreateParams.builder() .addItem( SubscriptionCreateParams.Item.builder() .setPrice("{{PRICE_ID}}") .setQuantity(1L) .build() ) .setCustomer("{{CUSTOMER_ID}}") .setAutomaticTax( SubscriptionCreateParams.AutomaticTax.builder().setEnabled(true).build() ) .build(); RequestOptions requestOptions = RequestOptions.builder().setStripeAccount("{{CONNECTEDACCOUNT_ID}}").build(); // For SDK versions 29.4.0 or lower, remove '.v1()' from the following line. Subscription subscription = client.v1().subscriptions().create(params, requestOptions); ``` ```node // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys const stripe = require('stripe')('<>'); const subscription = await stripe.subscriptions.create( { items: [ { price: '{{PRICE_ID}}', quantity: 1, }, ], customer: '{{CUSTOMER_ID}}', automatic_tax: { enabled: true, }, }, { stripeAccount: '{{CONNECTEDACCOUNT_ID}}', } ); ``` ```go // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys sc := stripe.NewClient("<>") params := &stripe.SubscriptionCreateParams{ Items: []*stripe.SubscriptionCreateItemParams{ &stripe.SubscriptionCreateItemParams{ Price: stripe.String("{{PRICE_ID}}"), Quantity: stripe.Int64(1), }, }, Customer: stripe.String("{{CUSTOMER_ID}}"), AutomaticTax: &stripe.SubscriptionCreateAutomaticTaxParams{Enabled: stripe.Bool(true)}, } params.SetStripeAccount("{{CONNECTEDACCOUNT_ID}}") result, err := sc.V1Subscriptions.Create(context.TODO(), params) ``` ```dotnet // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys var options = new SubscriptionCreateOptions { Items = new List { new SubscriptionItemOptions { Price = "{{PRICE_ID}}", Quantity = 1 }, }, Customer = "{{CUSTOMER_ID}}", AutomaticTax = new SubscriptionAutomaticTaxOptions { Enabled = true }, }; var requestOptions = new RequestOptions { StripeAccount = "{{CONNECTEDACCOUNT_ID}}", }; var client = new StripeClient("<>"); var service = client.V1.Subscriptions; Subscription subscription = service.Create(options, requestOptions); ``` #### Destination Charges Für Aufrufe der Subscriptions API: - Geben Sie [automatic_tax[liability]](https://docs.stripe.com/api/subscriptions/create.md#create_subscription-automatic_tax-liability) mit `type=account` und `account` mit dem Wert der verbundenen Konto-ID an. - Fügen Sie [transfer_data[destination]](https://docs.stripe.com/api/subscriptions/create.md#create_subscription-transfer_data-destination) mit dem Wert der verbundenen Konto-ID ein. - Fügen Sie [invoice_settings[issuer]](https://docs.stripe.com/api/subscriptions/create.md#create_subscription-invoice_settings-issuer) mit `type=account` und `account` mit dem Wert der verbundenen Konto-ID ein. An einigen Standorten, wie z. B. in der Europäischen Union, werden Rechnungs-PDFs als Steuerinstrument verwendet, und der Rechnungsaussteller muss immer mit dem *Steuerpflichtigen* (The responsibility for collecting and reporting taxes for transactions in a Connect integration. It can belong to the platform or to connected accounts, depending on your business model, government regulations, and individual transaction details) übereinstimmen. - (Optional) Wenn es sich bei dem verbundenen Konto um den/die [Abrechnungshändler/in](https://docs.stripe.com/connect/destination-charges.md#settlement-merchant) handelt, fügen Sie [on_behalf_of](https://docs.stripe.com/api/subscriptions/create.md#create_subscription-on_behalf_of) mit dem Wert der ID des verbundenen Kontos hinzu. ```curl curl https://api.stripe.com/v1/subscriptions \ -u "<>:" \ -d "items[0][price]"="{{PRICE_ID}}" \ -d "items[0][quantity]"=1 \ -d customer="{{CUSTOMER_ID}}" \ -d "automatic_tax[enabled]"=true \ -d "automatic_tax[liability][type]"=account \ -d "automatic_tax[liability][account]"="{{CONNECTEDACCOUNT_ID}}" \ -d "transfer_data[destination]"="{{CONNECTEDACCOUNT_ID}}" \ -d "invoice_settings[issuer][type]"=account \ -d "invoice_settings[issuer][account]"="{{CONNECTEDACCOUNT_ID}}" ``` ```cli stripe subscriptions create \ -d "items[0][price]"="{{PRICE_ID}}" \ -d "items[0][quantity]"=1 \ --customer="{{CUSTOMER_ID}}" \ -d "automatic_tax[enabled]"=true \ -d "automatic_tax[liability][type]"=account \ -d "automatic_tax[liability][account]"="{{CONNECTEDACCOUNT_ID}}" \ -d "transfer_data[destination]"="{{CONNECTEDACCOUNT_ID}}" \ -d "invoice_settings[issuer][type]"=account \ -d "invoice_settings[issuer][account]"="{{CONNECTEDACCOUNT_ID}}" ``` ```ruby # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = Stripe::StripeClient.new("<>") subscription = client.v1.subscriptions.create({ items: [ { price: '{{PRICE_ID}}', quantity: 1, }, ], customer: '{{CUSTOMER_ID}}', automatic_tax: { enabled: true, liability: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }, transfer_data: {destination: '{{CONNECTEDACCOUNT_ID}}'}, invoice_settings: { issuer: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }, }) ``` ```python # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = StripeClient("<>") # For SDK versions 12.4.0 or lower, remove '.v1' from the following line. subscription = client.v1.subscriptions.create({ "items": [{"price": "{{PRICE_ID}}", "quantity": 1}], "customer": "{{CUSTOMER_ID}}", "automatic_tax": { "enabled": True, "liability": {"type": "account", "account": "{{CONNECTEDACCOUNT_ID}}"}, }, "transfer_data": {"destination": "{{CONNECTEDACCOUNT_ID}}"}, "invoice_settings": { "issuer": {"type": "account", "account": "{{CONNECTEDACCOUNT_ID}}"}, }, }) ``` ```php // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys $stripe = new \Stripe\StripeClient('<>'); $subscription = $stripe->subscriptions->create([ 'items' => [ [ 'price' => '{{PRICE_ID}}', 'quantity' => 1, ], ], 'customer' => '{{CUSTOMER_ID}}', 'automatic_tax' => [ 'enabled' => true, 'liability' => [ 'type' => 'account', 'account' => '{{CONNECTEDACCOUNT_ID}}', ], ], 'transfer_data' => ['destination' => '{{CONNECTEDACCOUNT_ID}}'], 'invoice_settings' => [ 'issuer' => [ 'type' => 'account', 'account' => '{{CONNECTEDACCOUNT_ID}}', ], ], ]); ``` ```java // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys StripeClient client = new StripeClient("<>"); SubscriptionCreateParams params = SubscriptionCreateParams.builder() .addItem( SubscriptionCreateParams.Item.builder() .setPrice("{{PRICE_ID}}") .setQuantity(1L) .build() ) .setCustomer("{{CUSTOMER_ID}}") .setAutomaticTax( SubscriptionCreateParams.AutomaticTax.builder() .setEnabled(true) .setLiability( SubscriptionCreateParams.AutomaticTax.Liability.builder() .setType(SubscriptionCreateParams.AutomaticTax.Liability.Type.ACCOUNT) .setAccount("{{CONNECTEDACCOUNT_ID}}") .build() ) .build() ) .setTransferData( SubscriptionCreateParams.TransferData.builder() .setDestination("{{CONNECTEDACCOUNT_ID}}") .build() ) .setInvoiceSettings( SubscriptionCreateParams.InvoiceSettings.builder() .setIssuer( SubscriptionCreateParams.InvoiceSettings.Issuer.builder() .setType(SubscriptionCreateParams.InvoiceSettings.Issuer.Type.ACCOUNT) .setAccount("{{CONNECTEDACCOUNT_ID}}") .build() ) .build() ) .build(); // For SDK versions 29.4.0 or lower, remove '.v1()' from the following line. Subscription subscription = client.v1().subscriptions().create(params); ``` ```node // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys const stripe = require('stripe')('<>'); const subscription = await stripe.subscriptions.create({ items: [ { price: '{{PRICE_ID}}', quantity: 1, }, ], customer: '{{CUSTOMER_ID}}', automatic_tax: { enabled: true, liability: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }, transfer_data: { destination: '{{CONNECTEDACCOUNT_ID}}', }, invoice_settings: { issuer: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }, }); ``` ```go // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys sc := stripe.NewClient("<>") params := &stripe.SubscriptionCreateParams{ Items: []*stripe.SubscriptionCreateItemParams{ &stripe.SubscriptionCreateItemParams{ Price: stripe.String("{{PRICE_ID}}"), Quantity: stripe.Int64(1), }, }, Customer: stripe.String("{{CUSTOMER_ID}}"), AutomaticTax: &stripe.SubscriptionCreateAutomaticTaxParams{ Enabled: stripe.Bool(true), Liability: &stripe.SubscriptionCreateAutomaticTaxLiabilityParams{ Type: stripe.String(stripe.SubscriptionAutomaticTaxLiabilityTypeAccount), Account: stripe.String("{{CONNECTEDACCOUNT_ID}}"), }, }, TransferData: &stripe.SubscriptionCreateTransferDataParams{ Destination: stripe.String("{{CONNECTEDACCOUNT_ID}}"), }, InvoiceSettings: &stripe.SubscriptionCreateInvoiceSettingsParams{ Issuer: &stripe.SubscriptionCreateInvoiceSettingsIssuerParams{ Type: stripe.String(stripe.SubscriptionInvoiceSettingsIssuerTypeAccount), Account: stripe.String("{{CONNECTEDACCOUNT_ID}}"), }, }, } result, err := sc.V1Subscriptions.Create(context.TODO(), params) ``` ```dotnet // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys var options = new SubscriptionCreateOptions { Items = new List { new SubscriptionItemOptions { Price = "{{PRICE_ID}}", Quantity = 1 }, }, Customer = "{{CUSTOMER_ID}}", AutomaticTax = new SubscriptionAutomaticTaxOptions { Enabled = true, Liability = new SubscriptionAutomaticTaxLiabilityOptions { Type = "account", Account = "{{CONNECTEDACCOUNT_ID}}", }, }, TransferData = new SubscriptionTransferDataOptions { Destination = "{{CONNECTEDACCOUNT_ID}}", }, InvoiceSettings = new SubscriptionInvoiceSettingsOptions { Issuer = new SubscriptionInvoiceSettingsIssuerOptions { Type = "account", Account = "{{CONNECTEDACCOUNT_ID}}", }, }, }; var client = new StripeClient("<>"); var service = client.V1.Subscriptions; Subscription subscription = service.Create(options); ``` #### Separate Zahlungen und Überweisungen Für Aufrufe der Subscriptions API: - Geben Sie [automatic_tax[liability]](https://docs.stripe.com/api/subscriptions/create.md#create_subscription-automatic_tax-liability) mit `type=account` und `account` mit dem Wert der verbundenen Konto-ID an. - Fügen Sie [invoice_settings[issuer]](https://docs.stripe.com/api/subscriptions/create.md#create_subscription-invoice_settings-issuer) mit `type=account` und `account` mit dem Wert der verbundenen Konto-ID ein. An einigen Standorten, wie z. B. in der Europäischen Union, werden Rechnungs-PDFs als Steuerinstrument verwendet, und der Rechnungsaussteller muss immer mit dem *Steuerpflichtigen* (The responsibility for collecting and reporting taxes for transactions in a Connect integration. It can belong to the platform or to connected accounts, depending on your business model, government regulations, and individual transaction details) übereinstimmen. - Fügen Sie [on_behalf_of](https://docs.stripe.com/api/subscriptions/create.md#create_subscription-on_behalf_of) mit dem Wert der ID des verbundenen Kontos ein. ```curl curl https://api.stripe.com/v1/subscriptions \ -u "<>:" \ -d "items[0][price]"="{{PRICE_ID}}" \ -d "items[0][quantity]"=1 \ -d customer="{{CUSTOMER_ID}}" \ -d "automatic_tax[enabled]"=true \ -d "automatic_tax[liability][type]"=account \ -d "automatic_tax[liability][account]"="{{CONNECTEDACCOUNT_ID}}" \ -d "invoice_settings[issuer][type]"=account \ -d "invoice_settings[issuer][account]"="{{CONNECTEDACCOUNT_ID}}" \ -d on_behalf_of="{{CONNECTEDACCOUNT_ID}}" ``` ```cli stripe subscriptions create \ -d "items[0][price]"="{{PRICE_ID}}" \ -d "items[0][quantity]"=1 \ --customer="{{CUSTOMER_ID}}" \ -d "automatic_tax[enabled]"=true \ -d "automatic_tax[liability][type]"=account \ -d "automatic_tax[liability][account]"="{{CONNECTEDACCOUNT_ID}}" \ -d "invoice_settings[issuer][type]"=account \ -d "invoice_settings[issuer][account]"="{{CONNECTEDACCOUNT_ID}}" \ --on-behalf-of="{{CONNECTEDACCOUNT_ID}}" ``` ```ruby # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = Stripe::StripeClient.new("<>") subscription = client.v1.subscriptions.create({ items: [ { price: '{{PRICE_ID}}', quantity: 1, }, ], customer: '{{CUSTOMER_ID}}', automatic_tax: { enabled: true, liability: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }, invoice_settings: { issuer: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }, on_behalf_of: '{{CONNECTEDACCOUNT_ID}}', }) ``` ```python # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = StripeClient("<>") # For SDK versions 12.4.0 or lower, remove '.v1' from the following line. subscription = client.v1.subscriptions.create({ "items": [{"price": "{{PRICE_ID}}", "quantity": 1}], "customer": "{{CUSTOMER_ID}}", "automatic_tax": { "enabled": True, "liability": {"type": "account", "account": "{{CONNECTEDACCOUNT_ID}}"}, }, "invoice_settings": { "issuer": {"type": "account", "account": "{{CONNECTEDACCOUNT_ID}}"}, }, "on_behalf_of": "{{CONNECTEDACCOUNT_ID}}", }) ``` ```php // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys $stripe = new \Stripe\StripeClient('<>'); $subscription = $stripe->subscriptions->create([ 'items' => [ [ 'price' => '{{PRICE_ID}}', 'quantity' => 1, ], ], 'customer' => '{{CUSTOMER_ID}}', 'automatic_tax' => [ 'enabled' => true, 'liability' => [ 'type' => 'account', 'account' => '{{CONNECTEDACCOUNT_ID}}', ], ], 'invoice_settings' => [ 'issuer' => [ 'type' => 'account', 'account' => '{{CONNECTEDACCOUNT_ID}}', ], ], 'on_behalf_of' => '{{CONNECTEDACCOUNT_ID}}', ]); ``` ```java // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys StripeClient client = new StripeClient("<>"); SubscriptionCreateParams params = SubscriptionCreateParams.builder() .addItem( SubscriptionCreateParams.Item.builder() .setPrice("{{PRICE_ID}}") .setQuantity(1L) .build() ) .setCustomer("{{CUSTOMER_ID}}") .setAutomaticTax( SubscriptionCreateParams.AutomaticTax.builder() .setEnabled(true) .setLiability( SubscriptionCreateParams.AutomaticTax.Liability.builder() .setType(SubscriptionCreateParams.AutomaticTax.Liability.Type.ACCOUNT) .setAccount("{{CONNECTEDACCOUNT_ID}}") .build() ) .build() ) .setInvoiceSettings( SubscriptionCreateParams.InvoiceSettings.builder() .setIssuer( SubscriptionCreateParams.InvoiceSettings.Issuer.builder() .setType(SubscriptionCreateParams.InvoiceSettings.Issuer.Type.ACCOUNT) .setAccount("{{CONNECTEDACCOUNT_ID}}") .build() ) .build() ) .setOnBehalfOf("{{CONNECTEDACCOUNT_ID}}") .build(); // For SDK versions 29.4.0 or lower, remove '.v1()' from the following line. Subscription subscription = client.v1().subscriptions().create(params); ``` ```node // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys const stripe = require('stripe')('<>'); const subscription = await stripe.subscriptions.create({ items: [ { price: '{{PRICE_ID}}', quantity: 1, }, ], customer: '{{CUSTOMER_ID}}', automatic_tax: { enabled: true, liability: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }, invoice_settings: { issuer: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }, on_behalf_of: '{{CONNECTEDACCOUNT_ID}}', }); ``` ```go // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys sc := stripe.NewClient("<>") params := &stripe.SubscriptionCreateParams{ Items: []*stripe.SubscriptionCreateItemParams{ &stripe.SubscriptionCreateItemParams{ Price: stripe.String("{{PRICE_ID}}"), Quantity: stripe.Int64(1), }, }, Customer: stripe.String("{{CUSTOMER_ID}}"), AutomaticTax: &stripe.SubscriptionCreateAutomaticTaxParams{ Enabled: stripe.Bool(true), Liability: &stripe.SubscriptionCreateAutomaticTaxLiabilityParams{ Type: stripe.String(stripe.SubscriptionAutomaticTaxLiabilityTypeAccount), Account: stripe.String("{{CONNECTEDACCOUNT_ID}}"), }, }, InvoiceSettings: &stripe.SubscriptionCreateInvoiceSettingsParams{ Issuer: &stripe.SubscriptionCreateInvoiceSettingsIssuerParams{ Type: stripe.String(stripe.SubscriptionInvoiceSettingsIssuerTypeAccount), Account: stripe.String("{{CONNECTEDACCOUNT_ID}}"), }, }, OnBehalfOf: stripe.String("{{CONNECTEDACCOUNT_ID}}"), } result, err := sc.V1Subscriptions.Create(context.TODO(), params) ``` ```dotnet // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys var options = new SubscriptionCreateOptions { Items = new List { new SubscriptionItemOptions { Price = "{{PRICE_ID}}", Quantity = 1 }, }, Customer = "{{CUSTOMER_ID}}", AutomaticTax = new SubscriptionAutomaticTaxOptions { Enabled = true, Liability = new SubscriptionAutomaticTaxLiabilityOptions { Type = "account", Account = "{{CONNECTEDACCOUNT_ID}}", }, }, InvoiceSettings = new SubscriptionInvoiceSettingsOptions { Issuer = new SubscriptionInvoiceSettingsIssuerOptions { Type = "account", Account = "{{CONNECTEDACCOUNT_ID}}", }, }, OnBehalfOf = "{{CONNECTEDACCOUNT_ID}}", }; var client = new StripeClient("<>"); var service = client.V1.Subscriptions; Subscription subscription = service.Create(options); ``` Für Aufrufe der Transfers API: - Geben Sie [source_transaction](https://docs.stripe.com/api/transfers/create.md#create_transfer-source_transaction) an, um die Überweisung mit dem von der Abonnementrechnung erstellten Payment Intent zu verknüpfen. - Geben Sie [destination](https://docs.stripe.com/api/transfers/create.md#create_transfer-destination) mit dem Wert der verbundenen Konto-ID an. ```curl curl https://api.stripe.com/v1/transfers \ -u "<>:" \ -d amount=1000 \ -d currency=usd \ -d source_transaction="{{CHARGE_ID}}" \ -d destination="{{CONNECTEDACCOUNT_ID}}" ``` ```cli stripe transfers create \ --amount=1000 \ --currency=usd \ --source-transaction="{{CHARGE_ID}}" \ --destination="{{CONNECTEDACCOUNT_ID}}" ``` ```ruby # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = Stripe::StripeClient.new("<>") transfer = client.v1.transfers.create({ amount: 1000, currency: 'usd', source_transaction: '{{CHARGE_ID}}', destination: '{{CONNECTEDACCOUNT_ID}}', }) ``` ```python # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = StripeClient("<>") # For SDK versions 12.4.0 or lower, remove '.v1' from the following line. transfer = client.v1.transfers.create({ "amount": 1000, "currency": "usd", "source_transaction": "{{CHARGE_ID}}", "destination": "{{CONNECTEDACCOUNT_ID}}", }) ``` ```php // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys $stripe = new \Stripe\StripeClient('<>'); $transfer = $stripe->transfers->create([ 'amount' => 1000, 'currency' => 'usd', 'source_transaction' => '{{CHARGE_ID}}', 'destination' => '{{CONNECTEDACCOUNT_ID}}', ]); ``` ```java // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys StripeClient client = new StripeClient("<>"); TransferCreateParams params = TransferCreateParams.builder() .setAmount(1000L) .setCurrency("usd") .setSourceTransaction("{{CHARGE_ID}}") .setDestination("{{CONNECTEDACCOUNT_ID}}") .build(); // For SDK versions 29.4.0 or lower, remove '.v1()' from the following line. Transfer transfer = client.v1().transfers().create(params); ``` ```node // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys const stripe = require('stripe')('<>'); const transfer = await stripe.transfers.create({ amount: 1000, currency: 'usd', source_transaction: '{{CHARGE_ID}}', destination: '{{CONNECTEDACCOUNT_ID}}', }); ``` ```go // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys sc := stripe.NewClient("<>") params := &stripe.TransferCreateParams{ Amount: stripe.Int64(1000), Currency: stripe.String(stripe.CurrencyUSD), SourceTransaction: stripe.String("{{CHARGE_ID}}"), Destination: stripe.String("{{CONNECTEDACCOUNT_ID}}"), } result, err := sc.V1Transfers.Create(context.TODO(), params) ``` ```dotnet // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys var options = new TransferCreateOptions { Amount = 1000, Currency = "usd", SourceTransaction = "{{CHARGE_ID}}", Destination = "{{CONNECTEDACCOUNT_ID}}", }; var client = new StripeClient("<>"); var service = client.V1.Transfers; Transfer transfer = service.Create(options); ``` ### Invoicing Wählen Sie einen der derzeit unterstützten [Zahlungstypen](https://docs.stripe.com/connect/charges.md#types), mit denen das verbundene Konto mit [Stripe Invoicing](https://docs.stripe.com/tax/invoicing.md) *steuerpflichtig* (The responsibility for collecting and reporting taxes for transactions in a Connect integration. It can belong to the platform or to connected accounts, depending on your business model, government regulations, and individual transaction details) werden kann: #### Direct Charges Für Aufrufe der Invoices API: - Geben Sie den Header `Stripe-Account` mit dem Wert der verbundenen Konto-ID an. ```curl curl https://api.stripe.com/v1/invoices \ -u "<>:" \ -H "Stripe-Account: {{CONNECTEDACCOUNT_ID}}" \ -d customer="{{CUSTOMER_ID}}" \ -d "automatic_tax[enabled]"=true ``` ```cli stripe invoices create \ --stripe-account {{CONNECTEDACCOUNT_ID}} \ --customer="{{CUSTOMER_ID}}" \ -d "automatic_tax[enabled]"=true ``` ```ruby # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = Stripe::StripeClient.new("<>") invoice = client.v1.invoices.create( { customer: '{{CUSTOMER_ID}}', automatic_tax: {enabled: true}, }, {stripe_account: '{{CONNECTEDACCOUNT_ID}}'}, ) ``` ```python # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = StripeClient("<>") # For SDK versions 12.4.0 or lower, remove '.v1' from the following line. invoice = client.v1.invoices.create( {"customer": "{{CUSTOMER_ID}}", "automatic_tax": {"enabled": True}}, {"stripe_account": "{{CONNECTEDACCOUNT_ID}}"}, ) ``` ```php // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys $stripe = new \Stripe\StripeClient('<>'); $invoice = $stripe->invoices->create( [ 'customer' => '{{CUSTOMER_ID}}', 'automatic_tax' => ['enabled' => true], ], ['stripe_account' => '{{CONNECTEDACCOUNT_ID}}'] ); ``` ```java // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys StripeClient client = new StripeClient("<>"); InvoiceCreateParams params = InvoiceCreateParams.builder() .setCustomer("{{CUSTOMER_ID}}") .setAutomaticTax(InvoiceCreateParams.AutomaticTax.builder().setEnabled(true).build()) .build(); RequestOptions requestOptions = RequestOptions.builder().setStripeAccount("{{CONNECTEDACCOUNT_ID}}").build(); // For SDK versions 29.4.0 or lower, remove '.v1()' from the following line. Invoice invoice = client.v1().invoices().create(params, requestOptions); ``` ```node // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys const stripe = require('stripe')('<>'); const invoice = await stripe.invoices.create( { customer: '{{CUSTOMER_ID}}', automatic_tax: { enabled: true, }, }, { stripeAccount: '{{CONNECTEDACCOUNT_ID}}', } ); ``` ```go // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys sc := stripe.NewClient("<>") params := &stripe.InvoiceCreateParams{ Customer: stripe.String("{{CUSTOMER_ID}}"), AutomaticTax: &stripe.InvoiceCreateAutomaticTaxParams{Enabled: stripe.Bool(true)}, } params.SetStripeAccount("{{CONNECTEDACCOUNT_ID}}") result, err := sc.V1Invoices.Create(context.TODO(), params) ``` ```dotnet // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys var options = new InvoiceCreateOptions { Customer = "{{CUSTOMER_ID}}", AutomaticTax = new InvoiceAutomaticTaxOptions { Enabled = true }, }; var requestOptions = new RequestOptions { StripeAccount = "{{CONNECTEDACCOUNT_ID}}", }; var client = new StripeClient("<>"); var service = client.V1.Invoices; Invoice invoice = service.Create(options, requestOptions); ``` #### Destination Charges Für Aufrufe der Invoices API: - Geben Sie [automatic_tax[liability]](https://docs.stripe.com/api/invoices/create.md#create_invoice-automatic_tax-liability) mit `type=account` und `account` mit dem Wert der verbundenen Konto-ID an. - Fügen Sie [transfer_data[destination]](https://docs.stripe.com/api/invoices/create.md#create_invoice-transfer_data-destination) mit dem Wert der verbundenen Konto-ID ein. - Fügen Sie [issuer](https://docs.stripe.com/api/invoices/create.md#create_invoice-issuer) mit `type=account` und `account` mit dem Wert der verbundenen Konto-ID ein. An einigen Standorten, wie z. B. in der Europäischen Union, werden Rechnungs-PDFs als Steuerinstrument verwendet, und der Rechnungsaussteller muss immer mit dem *Steuerpflichtigen* (The responsibility for collecting and reporting taxes for transactions in a Connect integration. It can belong to the platform or to connected accounts, depending on your business model, government regulations, and individual transaction details) übereinstimmen. - (Optional) Wenn es sich bei dem verbundenen Konto um den/die [Abrechnungshändler/in](https://docs.stripe.com/connect/destination-charges.md#settlement-merchant) handelt, fügen Sie [on_behalf_of](https://docs.stripe.com/api/invoices/create.md#create_invoice-on_behalf_of) mit dem Wert der ID des verbundenen Kontos hinzu. ```curl curl https://api.stripe.com/v1/invoices \ -u "<>:" \ -d customer="{{CUSTOMER_ID}}" \ -d "automatic_tax[enabled]"=true \ -d "automatic_tax[liability][type]"=account \ -d "automatic_tax[liability][account]"="{{CONNECTEDACCOUNT_ID}}" \ -d "transfer_data[destination]"="{{CONNECTEDACCOUNT_ID}}" \ -d "issuer[type]"=account \ -d "issuer[account]"="{{CONNECTEDACCOUNT_ID}}" ``` ```cli stripe invoices create \ --customer="{{CUSTOMER_ID}}" \ -d "automatic_tax[enabled]"=true \ -d "automatic_tax[liability][type]"=account \ -d "automatic_tax[liability][account]"="{{CONNECTEDACCOUNT_ID}}" \ -d "transfer_data[destination]"="{{CONNECTEDACCOUNT_ID}}" \ -d "issuer[type]"=account \ -d "issuer[account]"="{{CONNECTEDACCOUNT_ID}}" ``` ```ruby # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = Stripe::StripeClient.new("<>") invoice = client.v1.invoices.create({ customer: '{{CUSTOMER_ID}}', automatic_tax: { enabled: true, liability: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }, transfer_data: {destination: '{{CONNECTEDACCOUNT_ID}}'}, issuer: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }) ``` ```python # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = StripeClient("<>") # For SDK versions 12.4.0 or lower, remove '.v1' from the following line. invoice = client.v1.invoices.create({ "customer": "{{CUSTOMER_ID}}", "automatic_tax": { "enabled": True, "liability": {"type": "account", "account": "{{CONNECTEDACCOUNT_ID}}"}, }, "transfer_data": {"destination": "{{CONNECTEDACCOUNT_ID}}"}, "issuer": {"type": "account", "account": "{{CONNECTEDACCOUNT_ID}}"}, }) ``` ```php // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys $stripe = new \Stripe\StripeClient('<>'); $invoice = $stripe->invoices->create([ 'customer' => '{{CUSTOMER_ID}}', 'automatic_tax' => [ 'enabled' => true, 'liability' => [ 'type' => 'account', 'account' => '{{CONNECTEDACCOUNT_ID}}', ], ], 'transfer_data' => ['destination' => '{{CONNECTEDACCOUNT_ID}}'], 'issuer' => [ 'type' => 'account', 'account' => '{{CONNECTEDACCOUNT_ID}}', ], ]); ``` ```java // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys StripeClient client = new StripeClient("<>"); InvoiceCreateParams params = InvoiceCreateParams.builder() .setCustomer("{{CUSTOMER_ID}}") .setAutomaticTax( InvoiceCreateParams.AutomaticTax.builder() .setEnabled(true) .setLiability( InvoiceCreateParams.AutomaticTax.Liability.builder() .setType(InvoiceCreateParams.AutomaticTax.Liability.Type.ACCOUNT) .setAccount("{{CONNECTEDACCOUNT_ID}}") .build() ) .build() ) .setTransferData( InvoiceCreateParams.TransferData.builder() .setDestination("{{CONNECTEDACCOUNT_ID}}") .build() ) .setIssuer( InvoiceCreateParams.Issuer.builder() .setType(InvoiceCreateParams.Issuer.Type.ACCOUNT) .setAccount("{{CONNECTEDACCOUNT_ID}}") .build() ) .build(); // For SDK versions 29.4.0 or lower, remove '.v1()' from the following line. Invoice invoice = client.v1().invoices().create(params); ``` ```node // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys const stripe = require('stripe')('<>'); const invoice = await stripe.invoices.create({ customer: '{{CUSTOMER_ID}}', automatic_tax: { enabled: true, liability: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }, transfer_data: { destination: '{{CONNECTEDACCOUNT_ID}}', }, issuer: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }); ``` ```go // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys sc := stripe.NewClient("<>") params := &stripe.InvoiceCreateParams{ Customer: stripe.String("{{CUSTOMER_ID}}"), AutomaticTax: &stripe.InvoiceCreateAutomaticTaxParams{ Enabled: stripe.Bool(true), Liability: &stripe.InvoiceCreateAutomaticTaxLiabilityParams{ Type: stripe.String(stripe.InvoiceAutomaticTaxLiabilityTypeAccount), Account: stripe.String("{{CONNECTEDACCOUNT_ID}}"), }, }, TransferData: &stripe.InvoiceCreateTransferDataParams{ Destination: stripe.String("{{CONNECTEDACCOUNT_ID}}"), }, Issuer: &stripe.InvoiceCreateIssuerParams{ Type: stripe.String(stripe.InvoiceIssuerTypeAccount), Account: stripe.String("{{CONNECTEDACCOUNT_ID}}"), }, } result, err := sc.V1Invoices.Create(context.TODO(), params) ``` ```dotnet // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys var options = new InvoiceCreateOptions { Customer = "{{CUSTOMER_ID}}", AutomaticTax = new InvoiceAutomaticTaxOptions { Enabled = true, Liability = new InvoiceAutomaticTaxLiabilityOptions { Type = "account", Account = "{{CONNECTEDACCOUNT_ID}}", }, }, TransferData = new InvoiceTransferDataOptions { Destination = "{{CONNECTEDACCOUNT_ID}}", }, Issuer = new InvoiceIssuerOptions { Type = "account", Account = "{{CONNECTEDACCOUNT_ID}}", }, }; var client = new StripeClient("<>"); var service = client.V1.Invoices; Invoice invoice = service.Create(options); ``` #### Separate Zahlungen und Überweisungen Für Aufrufe der Invoices API: - Geben Sie [automatic_tax[liability]](https://docs.stripe.com/api/invoices/create.md#create_invoice-automatic_tax-liability) mit `type=account` und `account` mit dem Wert der verbundenen Konto-ID an. - Fügen Sie [issuer](https://docs.stripe.com/api/invoices/create.md#create_invoice-issuer) mit `type=account` und `account` mit dem Wert der verbundenen Konto-ID ein. An einigen Standorten, wie z. B. in der Europäischen Union, werden Rechnungs-PDFs als Steuerinstrument verwendet, und der Rechnungsaussteller muss immer mit dem *Steuerpflichtigen* (The responsibility for collecting and reporting taxes for transactions in a Connect integration. It can belong to the platform or to connected accounts, depending on your business model, government regulations, and individual transaction details) übereinstimmen. - (Optional) Wenn es sich bei dem verbundenen Konto um den [Abwicklungshändler](https://docs.stripe.com/connect/separate-charges-and-transfers.md#settlement-merchant) handelt, fügen Sie [on_behalf_of](https://docs.stripe.com/api/invoices/create.md#create_invoice-on_behalf_of) mit dem Wert der ID des verbundenen Kontos hinzu. ```curl curl https://api.stripe.com/v1/invoices \ -u "<>:" \ -d customer="{{CUSTOMER_ID}}" \ -d "automatic_tax[enabled]"=true \ -d "automatic_tax[liability][type]"=account \ -d "automatic_tax[liability][account]"="{{CONNECTEDACCOUNT_ID}}" \ -d "issuer[type]"=account \ -d "issuer[account]"="{{CONNECTEDACCOUNT_ID}}" ``` ```cli stripe invoices create \ --customer="{{CUSTOMER_ID}}" \ -d "automatic_tax[enabled]"=true \ -d "automatic_tax[liability][type]"=account \ -d "automatic_tax[liability][account]"="{{CONNECTEDACCOUNT_ID}}" \ -d "issuer[type]"=account \ -d "issuer[account]"="{{CONNECTEDACCOUNT_ID}}" ``` ```ruby # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = Stripe::StripeClient.new("<>") invoice = client.v1.invoices.create({ customer: '{{CUSTOMER_ID}}', automatic_tax: { enabled: true, liability: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }, issuer: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }) ``` ```python # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = StripeClient("<>") # For SDK versions 12.4.0 or lower, remove '.v1' from the following line. invoice = client.v1.invoices.create({ "customer": "{{CUSTOMER_ID}}", "automatic_tax": { "enabled": True, "liability": {"type": "account", "account": "{{CONNECTEDACCOUNT_ID}}"}, }, "issuer": {"type": "account", "account": "{{CONNECTEDACCOUNT_ID}}"}, }) ``` ```php // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys $stripe = new \Stripe\StripeClient('<>'); $invoice = $stripe->invoices->create([ 'customer' => '{{CUSTOMER_ID}}', 'automatic_tax' => [ 'enabled' => true, 'liability' => [ 'type' => 'account', 'account' => '{{CONNECTEDACCOUNT_ID}}', ], ], 'issuer' => [ 'type' => 'account', 'account' => '{{CONNECTEDACCOUNT_ID}}', ], ]); ``` ```java // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys StripeClient client = new StripeClient("<>"); InvoiceCreateParams params = InvoiceCreateParams.builder() .setCustomer("{{CUSTOMER_ID}}") .setAutomaticTax( InvoiceCreateParams.AutomaticTax.builder() .setEnabled(true) .setLiability( InvoiceCreateParams.AutomaticTax.Liability.builder() .setType(InvoiceCreateParams.AutomaticTax.Liability.Type.ACCOUNT) .setAccount("{{CONNECTEDACCOUNT_ID}}") .build() ) .build() ) .setIssuer( InvoiceCreateParams.Issuer.builder() .setType(InvoiceCreateParams.Issuer.Type.ACCOUNT) .setAccount("{{CONNECTEDACCOUNT_ID}}") .build() ) .build(); // For SDK versions 29.4.0 or lower, remove '.v1()' from the following line. Invoice invoice = client.v1().invoices().create(params); ``` ```node // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys const stripe = require('stripe')('<>'); const invoice = await stripe.invoices.create({ customer: '{{CUSTOMER_ID}}', automatic_tax: { enabled: true, liability: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }, issuer: { type: 'account', account: '{{CONNECTEDACCOUNT_ID}}', }, }); ``` ```go // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys sc := stripe.NewClient("<>") params := &stripe.InvoiceCreateParams{ Customer: stripe.String("{{CUSTOMER_ID}}"), AutomaticTax: &stripe.InvoiceCreateAutomaticTaxParams{ Enabled: stripe.Bool(true), Liability: &stripe.InvoiceCreateAutomaticTaxLiabilityParams{ Type: stripe.String(stripe.InvoiceAutomaticTaxLiabilityTypeAccount), Account: stripe.String("{{CONNECTEDACCOUNT_ID}}"), }, }, Issuer: &stripe.InvoiceCreateIssuerParams{ Type: stripe.String(stripe.InvoiceIssuerTypeAccount), Account: stripe.String("{{CONNECTEDACCOUNT_ID}}"), }, } result, err := sc.V1Invoices.Create(context.TODO(), params) ``` ```dotnet // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys var options = new InvoiceCreateOptions { Customer = "{{CUSTOMER_ID}}", AutomaticTax = new InvoiceAutomaticTaxOptions { Enabled = true, Liability = new InvoiceAutomaticTaxLiabilityOptions { Type = "account", Account = "{{CONNECTEDACCOUNT_ID}}", }, }, Issuer = new InvoiceIssuerOptions { Type = "account", Account = "{{CONNECTEDACCOUNT_ID}}", }, }; var client = new StripeClient("<>"); var service = client.V1.Invoices; Invoice invoice = service.Create(options); ``` Für Aufrufe der Transfers API: - Geben Sie [source_transaction](https://docs.stripe.com/api/transfers/create.md#create_transfer-source_transaction) an, um die Überweisung mit dem von der Abonnementrechnung erstellten Payment Intent zu verknüpfen. - Geben Sie [destination](https://docs.stripe.com/api/transfers/create.md#create_transfer-destination) mit dem Wert der verbundenen Konto-ID an. ```curl curl https://api.stripe.com/v1/transfers \ -u "<>:" \ -d amount=1000 \ -d currency=usd \ -d source_transaction="{{CHARGE_ID}}" \ -d destination="{{CONNECTEDACCOUNT_ID}}" ``` ```cli stripe transfers create \ --amount=1000 \ --currency=usd \ --source-transaction="{{CHARGE_ID}}" \ --destination="{{CONNECTEDACCOUNT_ID}}" ``` ```ruby # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = Stripe::StripeClient.new("<>") transfer = client.v1.transfers.create({ amount: 1000, currency: 'usd', source_transaction: '{{CHARGE_ID}}', destination: '{{CONNECTEDACCOUNT_ID}}', }) ``` ```python # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = StripeClient("<>") # For SDK versions 12.4.0 or lower, remove '.v1' from the following line. transfer = client.v1.transfers.create({ "amount": 1000, "currency": "usd", "source_transaction": "{{CHARGE_ID}}", "destination": "{{CONNECTEDACCOUNT_ID}}", }) ``` ```php // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys $stripe = new \Stripe\StripeClient('<>'); $transfer = $stripe->transfers->create([ 'amount' => 1000, 'currency' => 'usd', 'source_transaction' => '{{CHARGE_ID}}', 'destination' => '{{CONNECTEDACCOUNT_ID}}', ]); ``` ```java // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys StripeClient client = new StripeClient("<>"); TransferCreateParams params = TransferCreateParams.builder() .setAmount(1000L) .setCurrency("usd") .setSourceTransaction("{{CHARGE_ID}}") .setDestination("{{CONNECTEDACCOUNT_ID}}") .build(); // For SDK versions 29.4.0 or lower, remove '.v1()' from the following line. Transfer transfer = client.v1().transfers().create(params); ``` ```node // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys const stripe = require('stripe')('<>'); const transfer = await stripe.transfers.create({ amount: 1000, currency: 'usd', source_transaction: '{{CHARGE_ID}}', destination: '{{CONNECTEDACCOUNT_ID}}', }); ``` ```go // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys sc := stripe.NewClient("<>") params := &stripe.TransferCreateParams{ Amount: stripe.Int64(1000), Currency: stripe.String(stripe.CurrencyUSD), SourceTransaction: stripe.String("{{CHARGE_ID}}"), Destination: stripe.String("{{CONNECTEDACCOUNT_ID}}"), } result, err := sc.V1Transfers.Create(context.TODO(), params) ``` ```dotnet // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys var options = new TransferCreateOptions { Amount = 1000, Currency = "usd", SourceTransaction = "{{CHARGE_ID}}", Destination = "{{CONNECTEDACCOUNT_ID}}", }; var client = new StripeClient("<>"); var service = client.V1.Transfers; Transfer transfer = service.Create(options); ``` ### Benutzerdefinierte Abläufe mit der Stripe Tax API ### Payment Intents Wählen Sie einen der derzeit unterstützten [Zahlungstypen](https://docs.stripe.com/connect/charges.md#types), mit denen das verbundene Konto mit [Stripe Tax API](https://docs.stripe.com/tax/custom.md) *steuerpflichtig* (The responsibility for collecting and reporting taxes for transactions in a Connect integration. It can belong to the platform or to connected accounts, depending on your business model, government regulations, and individual transaction details) werden kann: #### Direct Charges Für Aufrufe der Tax Calculation API: - Geben Sie den Header `Stripe-Account` mit dem Wert der verbundenen Konto-ID an. ```curl curl https://api.stripe.com/v1/tax/calculations \ -u "<>:" \ -H "Stripe-Account: {{CONNECTEDACCOUNT_ID}}" \ -d currency=usd \ -d "line_items[0][amount]"=1000 \ -d "line_items[0][reference]"=L1 \ -d customer="{{CUSTOMER_ID}}" ``` ```cli stripe tax calculations create \ --stripe-account {{CONNECTEDACCOUNT_ID}} \ --currency=usd \ -d "line_items[0][amount]"=1000 \ -d "line_items[0][reference]"=L1 \ --customer="{{CUSTOMER_ID}}" ``` ```ruby # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = Stripe::StripeClient.new("<>") calculation = client.v1.tax.calculations.create( { currency: 'usd', line_items: [ { amount: 1000, reference: 'L1', }, ], customer: '{{CUSTOMER_ID}}', }, {stripe_account: '{{CONNECTEDACCOUNT_ID}}'}, ) ``` ```python # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = StripeClient("<>") # For SDK versions 12.4.0 or lower, remove '.v1' from the following line. calculation = client.v1.tax.calculations.create( { "currency": "usd", "line_items": [{"amount": 1000, "reference": "L1"}], "customer": "{{CUSTOMER_ID}}", }, {"stripe_account": "{{CONNECTEDACCOUNT_ID}}"}, ) ``` ```php // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys $stripe = new \Stripe\StripeClient('<>'); $calculation = $stripe->tax->calculations->create( [ 'currency' => 'usd', 'line_items' => [ [ 'amount' => 1000, 'reference' => 'L1', ], ], 'customer' => '{{CUSTOMER_ID}}', ], ['stripe_account' => '{{CONNECTEDACCOUNT_ID}}'] ); ``` ```java // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys StripeClient client = new StripeClient("<>"); CalculationCreateParams params = CalculationCreateParams.builder() .setCurrency("usd") .addLineItem( CalculationCreateParams.LineItem.builder() .setAmount(1000L) .setReference("L1") .build() ) .setCustomer("{{CUSTOMER_ID}}") .build(); RequestOptions requestOptions = RequestOptions.builder().setStripeAccount("{{CONNECTEDACCOUNT_ID}}").build(); // For SDK versions 29.4.0 or lower, remove '.v1()' from the following line. Calculation calculation = client.v1().tax().calculations().create(params, requestOptions); ``` ```node // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys const stripe = require('stripe')('<>'); const calculation = await stripe.tax.calculations.create( { currency: 'usd', line_items: [ { amount: 1000, reference: 'L1', }, ], customer: '{{CUSTOMER_ID}}', }, { stripeAccount: '{{CONNECTEDACCOUNT_ID}}', } ); ``` ```go // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys sc := stripe.NewClient("<>") params := &stripe.TaxCalculationCreateParams{ Currency: stripe.String(stripe.CurrencyUSD), LineItems: []*stripe.TaxCalculationCreateLineItemParams{ &stripe.TaxCalculationCreateLineItemParams{ Amount: stripe.Int64(1000), Reference: stripe.String("L1"), }, }, Customer: stripe.String("{{CUSTOMER_ID}}"), } params.SetStripeAccount("{{CONNECTEDACCOUNT_ID}}") result, err := sc.V1TaxCalculations.Create(context.TODO(), params) ``` ```dotnet // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys var options = new Stripe.Tax.CalculationCreateOptions { Currency = "usd", LineItems = new List { new Stripe.Tax.CalculationLineItemOptions { Amount = 1000, Reference = "L1" }, }, Customer = "{{CUSTOMER_ID}}", }; var requestOptions = new RequestOptions { StripeAccount = "{{CONNECTEDACCOUNT_ID}}", }; var client = new StripeClient("<>"); var service = client.V1.Tax.Calculations; Stripe.Tax.Calculation calculation = service.Create(options, requestOptions); ``` Für Aufrufe der Payment Intents API: - Geben Sie den Header `Stripe-Account` mit dem Wert der verbundenen Konto-ID an. - Geben Sie [amount](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-amount) mit dem von der Steuerberechnung zurückgegebenen `amount_total` an. - Geben Sie [metadata[tax_calculation]](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-metadata) mit der von der Steuerberechnung zurückgegebenen `id` an. ```curl curl https://api.stripe.com/v1/payment_intents \ -u "<>:" \ -H "Stripe-Account: {{CONNECTEDACCOUNT_ID}}" \ -d amount=1000 \ -d currency=usd \ -d customer="{{CUSTOMER_ID}}" \ -d "metadata[tax_calculation]"="{{TAXCALCULATION_ID}}" ``` ```cli stripe payment_intents create \ --stripe-account {{CONNECTEDACCOUNT_ID}} \ --amount=1000 \ --currency=usd \ --customer="{{CUSTOMER_ID}}" \ -d "metadata[tax_calculation]"="{{TAXCALCULATION_ID}}" ``` ```ruby # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = Stripe::StripeClient.new("<>") payment_intent = client.v1.payment_intents.create( { amount: 1000, currency: 'usd', customer: '{{CUSTOMER_ID}}', metadata: {tax_calculation: '{{TAXCALCULATION_ID}}'}, }, {stripe_account: '{{CONNECTEDACCOUNT_ID}}'}, ) ``` ```python # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = StripeClient("<>") # For SDK versions 12.4.0 or lower, remove '.v1' from the following line. payment_intent = client.v1.payment_intents.create( { "amount": 1000, "currency": "usd", "customer": "{{CUSTOMER_ID}}", "metadata": {"tax_calculation": "{{TAXCALCULATION_ID}}"}, }, {"stripe_account": "{{CONNECTEDACCOUNT_ID}}"}, ) ``` ```php // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys $stripe = new \Stripe\StripeClient('<>'); $paymentIntent = $stripe->paymentIntents->create( [ 'amount' => 1000, 'currency' => 'usd', 'customer' => '{{CUSTOMER_ID}}', 'metadata' => ['tax_calculation' => '{{TAXCALCULATION_ID}}'], ], ['stripe_account' => '{{CONNECTEDACCOUNT_ID}}'] ); ``` ```java // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys StripeClient client = new StripeClient("<>"); PaymentIntentCreateParams params = PaymentIntentCreateParams.builder() .setAmount(1000L) .setCurrency("usd") .setCustomer("{{CUSTOMER_ID}}") .putMetadata("tax_calculation", "{{TAXCALCULATION_ID}}") .build(); RequestOptions requestOptions = RequestOptions.builder().setStripeAccount("{{CONNECTEDACCOUNT_ID}}").build(); // For SDK versions 29.4.0 or lower, remove '.v1()' from the following line. PaymentIntent paymentIntent = client.v1().paymentIntents().create(params, requestOptions); ``` ```node // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys const stripe = require('stripe')('<>'); const paymentIntent = await stripe.paymentIntents.create( { amount: 1000, currency: 'usd', customer: '{{CUSTOMER_ID}}', metadata: { tax_calculation: '{{TAXCALCULATION_ID}}', }, }, { stripeAccount: '{{CONNECTEDACCOUNT_ID}}', } ); ``` ```go // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys sc := stripe.NewClient("<>") params := &stripe.PaymentIntentCreateParams{ Amount: stripe.Int64(1000), Currency: stripe.String(stripe.CurrencyUSD), Customer: stripe.String("{{CUSTOMER_ID}}"), } params.AddMetadata("tax_calculation", "{{TAXCALCULATION_ID}}") params.SetStripeAccount("{{CONNECTEDACCOUNT_ID}}") result, err := sc.V1PaymentIntents.Create(context.TODO(), params) ``` ```dotnet // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys var options = new PaymentIntentCreateOptions { Amount = 1000, Currency = "usd", Customer = "{{CUSTOMER_ID}}", Metadata = new Dictionary { { "tax_calculation", "{{TAXCALCULATION_ID}}" }, }, }; var requestOptions = new RequestOptions { StripeAccount = "{{CONNECTEDACCOUNT_ID}}", }; var client = new StripeClient("<>"); var service = client.V1.PaymentIntents; PaymentIntent paymentIntent = service.Create(options, requestOptions); ``` #### Destination Charges Für Aufrufe der Tax Calculation API: - Geben Sie den Header `Stripe-Account` mit dem Wert der verbundenen Konto-ID an. ```curl curl https://api.stripe.com/v1/tax/calculations \ -u "<>:" \ -H "Stripe-Account: {{CONNECTEDACCOUNT_ID}}" \ -d currency=usd \ -d "line_items[0][amount]"=1000 \ -d "line_items[0][reference]"=L1 \ -d customer="{{CUSTOMER_ID}}" ``` ```cli stripe tax calculations create \ --stripe-account {{CONNECTEDACCOUNT_ID}} \ --currency=usd \ -d "line_items[0][amount]"=1000 \ -d "line_items[0][reference]"=L1 \ --customer="{{CUSTOMER_ID}}" ``` ```ruby # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = Stripe::StripeClient.new("<>") calculation = client.v1.tax.calculations.create( { currency: 'usd', line_items: [ { amount: 1000, reference: 'L1', }, ], customer: '{{CUSTOMER_ID}}', }, {stripe_account: '{{CONNECTEDACCOUNT_ID}}'}, ) ``` ```python # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = StripeClient("<>") # For SDK versions 12.4.0 or lower, remove '.v1' from the following line. calculation = client.v1.tax.calculations.create( { "currency": "usd", "line_items": [{"amount": 1000, "reference": "L1"}], "customer": "{{CUSTOMER_ID}}", }, {"stripe_account": "{{CONNECTEDACCOUNT_ID}}"}, ) ``` ```php // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys $stripe = new \Stripe\StripeClient('<>'); $calculation = $stripe->tax->calculations->create( [ 'currency' => 'usd', 'line_items' => [ [ 'amount' => 1000, 'reference' => 'L1', ], ], 'customer' => '{{CUSTOMER_ID}}', ], ['stripe_account' => '{{CONNECTEDACCOUNT_ID}}'] ); ``` ```java // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys StripeClient client = new StripeClient("<>"); CalculationCreateParams params = CalculationCreateParams.builder() .setCurrency("usd") .addLineItem( CalculationCreateParams.LineItem.builder() .setAmount(1000L) .setReference("L1") .build() ) .setCustomer("{{CUSTOMER_ID}}") .build(); RequestOptions requestOptions = RequestOptions.builder().setStripeAccount("{{CONNECTEDACCOUNT_ID}}").build(); // For SDK versions 29.4.0 or lower, remove '.v1()' from the following line. Calculation calculation = client.v1().tax().calculations().create(params, requestOptions); ``` ```node // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys const stripe = require('stripe')('<>'); const calculation = await stripe.tax.calculations.create( { currency: 'usd', line_items: [ { amount: 1000, reference: 'L1', }, ], customer: '{{CUSTOMER_ID}}', }, { stripeAccount: '{{CONNECTEDACCOUNT_ID}}', } ); ``` ```go // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys sc := stripe.NewClient("<>") params := &stripe.TaxCalculationCreateParams{ Currency: stripe.String(stripe.CurrencyUSD), LineItems: []*stripe.TaxCalculationCreateLineItemParams{ &stripe.TaxCalculationCreateLineItemParams{ Amount: stripe.Int64(1000), Reference: stripe.String("L1"), }, }, Customer: stripe.String("{{CUSTOMER_ID}}"), } params.SetStripeAccount("{{CONNECTEDACCOUNT_ID}}") result, err := sc.V1TaxCalculations.Create(context.TODO(), params) ``` ```dotnet // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys var options = new Stripe.Tax.CalculationCreateOptions { Currency = "usd", LineItems = new List { new Stripe.Tax.CalculationLineItemOptions { Amount = 1000, Reference = "L1" }, }, Customer = "{{CUSTOMER_ID}}", }; var requestOptions = new RequestOptions { StripeAccount = "{{CONNECTEDACCOUNT_ID}}", }; var client = new StripeClient("<>"); var service = client.V1.Tax.Calculations; Stripe.Tax.Calculation calculation = service.Create(options, requestOptions); ``` Für Aufrufe der Payment Intents API: - Geben Sie [amount](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-amount) mit dem von der Steuerberechnung zurückgegebenen `amount_total` an. - Geben Sie [metadata[tax_calculation]](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-metadata) mit der von der Steuerberechnung zurückgegebenen `id` an. - Geben Sie [transfer_data[destination]](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-transfer_data-destination) mit dem Wert der verbundenen Konto-ID an. - Sie können dies unabhängig vom [Abwicklungshändler](https://docs.stripe.com/connect/destination-charges.md#settlement-merchant) verwenden, der durch den Parameter [on_behalf_of](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-on_behalf_of) angegeben wird. ```curl curl https://api.stripe.com/v1/payment_intents \ -u "<>:" \ -d amount=1000 \ -d currency=usd \ -d customer="{{CUSTOMER_ID}}" \ -d "metadata[tax_calculation]"="{{TAXCALCULATION_ID}}" \ -d "transfer_data[destination]"="{{CONNECTEDACCOUNT_ID}}" ``` ```cli stripe payment_intents create \ --amount=1000 \ --currency=usd \ --customer="{{CUSTOMER_ID}}" \ -d "metadata[tax_calculation]"="{{TAXCALCULATION_ID}}" \ -d "transfer_data[destination]"="{{CONNECTEDACCOUNT_ID}}" ``` ```ruby # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = Stripe::StripeClient.new("<>") payment_intent = client.v1.payment_intents.create({ amount: 1000, currency: 'usd', customer: '{{CUSTOMER_ID}}', metadata: {tax_calculation: '{{TAXCALCULATION_ID}}'}, transfer_data: {destination: '{{CONNECTEDACCOUNT_ID}}'}, }) ``` ```python # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = StripeClient("<>") # For SDK versions 12.4.0 or lower, remove '.v1' from the following line. payment_intent = client.v1.payment_intents.create({ "amount": 1000, "currency": "usd", "customer": "{{CUSTOMER_ID}}", "metadata": {"tax_calculation": "{{TAXCALCULATION_ID}}"}, "transfer_data": {"destination": "{{CONNECTEDACCOUNT_ID}}"}, }) ``` ```php // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys $stripe = new \Stripe\StripeClient('<>'); $paymentIntent = $stripe->paymentIntents->create([ 'amount' => 1000, 'currency' => 'usd', 'customer' => '{{CUSTOMER_ID}}', 'metadata' => ['tax_calculation' => '{{TAXCALCULATION_ID}}'], 'transfer_data' => ['destination' => '{{CONNECTEDACCOUNT_ID}}'], ]); ``` ```java // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys StripeClient client = new StripeClient("<>"); PaymentIntentCreateParams params = PaymentIntentCreateParams.builder() .setAmount(1000L) .setCurrency("usd") .setCustomer("{{CUSTOMER_ID}}") .putMetadata("tax_calculation", "{{TAXCALCULATION_ID}}") .setTransferData( PaymentIntentCreateParams.TransferData.builder() .setDestination("{{CONNECTEDACCOUNT_ID}}") .build() ) .build(); // For SDK versions 29.4.0 or lower, remove '.v1()' from the following line. PaymentIntent paymentIntent = client.v1().paymentIntents().create(params); ``` ```node // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys const stripe = require('stripe')('<>'); const paymentIntent = await stripe.paymentIntents.create({ amount: 1000, currency: 'usd', customer: '{{CUSTOMER_ID}}', metadata: { tax_calculation: '{{TAXCALCULATION_ID}}', }, transfer_data: { destination: '{{CONNECTEDACCOUNT_ID}}', }, }); ``` ```go // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys sc := stripe.NewClient("<>") params := &stripe.PaymentIntentCreateParams{ Amount: stripe.Int64(1000), Currency: stripe.String(stripe.CurrencyUSD), Customer: stripe.String("{{CUSTOMER_ID}}"), TransferData: &stripe.PaymentIntentCreateTransferDataParams{ Destination: stripe.String("{{CONNECTEDACCOUNT_ID}}"), }, } params.AddMetadata("tax_calculation", "{{TAXCALCULATION_ID}}") result, err := sc.V1PaymentIntents.Create(context.TODO(), params) ``` ```dotnet // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys var options = new PaymentIntentCreateOptions { Amount = 1000, Currency = "usd", Customer = "{{CUSTOMER_ID}}", Metadata = new Dictionary { { "tax_calculation", "{{TAXCALCULATION_ID}}" }, }, TransferData = new PaymentIntentTransferDataOptions { Destination = "{{CONNECTEDACCOUNT_ID}}", }, }; var client = new StripeClient("<>"); var service = client.V1.PaymentIntents; PaymentIntent paymentIntent = service.Create(options); ``` In diesem Szenario ist das verbundene Konto steuerpflichtig für die Transaktion, obwohl die Plattform den `PaymentIntent` besitzt. Stellen Sie sich die Plattform so vor, dass sie eine Transaktion zwischen dem verbundenen Konto und dem Kunden/der Kundin des Kontos ermöglicht. Wenn Sie die API zur Steuerberechnung aufrufen, berechnen Sie die Steuern für das verbundene Konto, indem Sie den Header `Stripe-Account` mit der ID des verbundenen Kontos hinzufügen. Die Berechnung der Steuer für das verbundene Konto vereinfacht auch die Steuerberichterstattung und -einreichung, indem die Steuer auf Transaktionen mit verbundenen Konten von der Steuer auf direkt über die Plattform getätigte Transaktionen getrennt bleibt. #### Separate Zahlungen und Überweisungen Für Aufrufe der Tax Calculation API: - Geben Sie den Header `Stripe-Account` mit dem Wert der verbundenen Konto-ID an. ```curl curl https://api.stripe.com/v1/tax/calculations \ -u "<>:" \ -H "Stripe-Account: {{CONNECTEDACCOUNT_ID}}" \ -d currency=usd \ -d "line_items[0][amount]"=1000 \ -d "line_items[0][reference]"=L1 \ -d customer="{{CUSTOMER_ID}}" ``` ```cli stripe tax calculations create \ --stripe-account {{CONNECTEDACCOUNT_ID}} \ --currency=usd \ -d "line_items[0][amount]"=1000 \ -d "line_items[0][reference]"=L1 \ --customer="{{CUSTOMER_ID}}" ``` ```ruby # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = Stripe::StripeClient.new("<>") calculation = client.v1.tax.calculations.create( { currency: 'usd', line_items: [ { amount: 1000, reference: 'L1', }, ], customer: '{{CUSTOMER_ID}}', }, {stripe_account: '{{CONNECTEDACCOUNT_ID}}'}, ) ``` ```python # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = StripeClient("<>") # For SDK versions 12.4.0 or lower, remove '.v1' from the following line. calculation = client.v1.tax.calculations.create( { "currency": "usd", "line_items": [{"amount": 1000, "reference": "L1"}], "customer": "{{CUSTOMER_ID}}", }, {"stripe_account": "{{CONNECTEDACCOUNT_ID}}"}, ) ``` ```php // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys $stripe = new \Stripe\StripeClient('<>'); $calculation = $stripe->tax->calculations->create( [ 'currency' => 'usd', 'line_items' => [ [ 'amount' => 1000, 'reference' => 'L1', ], ], 'customer' => '{{CUSTOMER_ID}}', ], ['stripe_account' => '{{CONNECTEDACCOUNT_ID}}'] ); ``` ```java // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys StripeClient client = new StripeClient("<>"); CalculationCreateParams params = CalculationCreateParams.builder() .setCurrency("usd") .addLineItem( CalculationCreateParams.LineItem.builder() .setAmount(1000L) .setReference("L1") .build() ) .setCustomer("{{CUSTOMER_ID}}") .build(); RequestOptions requestOptions = RequestOptions.builder().setStripeAccount("{{CONNECTEDACCOUNT_ID}}").build(); // For SDK versions 29.4.0 or lower, remove '.v1()' from the following line. Calculation calculation = client.v1().tax().calculations().create(params, requestOptions); ``` ```node // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys const stripe = require('stripe')('<>'); const calculation = await stripe.tax.calculations.create( { currency: 'usd', line_items: [ { amount: 1000, reference: 'L1', }, ], customer: '{{CUSTOMER_ID}}', }, { stripeAccount: '{{CONNECTEDACCOUNT_ID}}', } ); ``` ```go // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys sc := stripe.NewClient("<>") params := &stripe.TaxCalculationCreateParams{ Currency: stripe.String(stripe.CurrencyUSD), LineItems: []*stripe.TaxCalculationCreateLineItemParams{ &stripe.TaxCalculationCreateLineItemParams{ Amount: stripe.Int64(1000), Reference: stripe.String("L1"), }, }, Customer: stripe.String("{{CUSTOMER_ID}}"), } params.SetStripeAccount("{{CONNECTEDACCOUNT_ID}}") result, err := sc.V1TaxCalculations.Create(context.TODO(), params) ``` ```dotnet // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys var options = new Stripe.Tax.CalculationCreateOptions { Currency = "usd", LineItems = new List { new Stripe.Tax.CalculationLineItemOptions { Amount = 1000, Reference = "L1" }, }, Customer = "{{CUSTOMER_ID}}", }; var requestOptions = new RequestOptions { StripeAccount = "{{CONNECTEDACCOUNT_ID}}", }; var client = new StripeClient("<>"); var service = client.V1.Tax.Calculations; Stripe.Tax.Calculation calculation = service.Create(options, requestOptions); ``` Für Aufrufe der Payment Intents API: - Geben Sie [amount](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-amount) mit dem von der Steuerberechnung zurückgegebenen `amount_total` an. - Geben Sie [metadata[tax_calculation]](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-metadata) mit der von der Steuerberechnung zurückgegebenen `id` an. - *Denken Sie daran, auch [on_behalf_of](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-on_behalf_of) mit dem Wert der verbundenen Konto-ID anzugeben, wenn das verbundene Konto der [Abwicklungshändler](https://docs.stripe.com/connect/separate-charges-and-transfers.md#settlement-merchant) ist*. ```curl curl https://api.stripe.com/v1/payment_intents \ -u "<>:" \ -d amount=1000 \ -d currency=usd \ -d customer="{{CUSTOMER_ID}}" \ -d "metadata[tax_calculation]"="{{TAXCALCULATION_ID}}" ``` ```cli stripe payment_intents create \ --amount=1000 \ --currency=usd \ --customer="{{CUSTOMER_ID}}" \ -d "metadata[tax_calculation]"="{{TAXCALCULATION_ID}}" ``` ```ruby # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = Stripe::StripeClient.new("<>") payment_intent = client.v1.payment_intents.create({ amount: 1000, currency: 'usd', customer: '{{CUSTOMER_ID}}', metadata: {tax_calculation: '{{TAXCALCULATION_ID}}'}, }) ``` ```python # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = StripeClient("<>") # For SDK versions 12.4.0 or lower, remove '.v1' from the following line. payment_intent = client.v1.payment_intents.create({ "amount": 1000, "currency": "usd", "customer": "{{CUSTOMER_ID}}", "metadata": {"tax_calculation": "{{TAXCALCULATION_ID}}"}, }) ``` ```php // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys $stripe = new \Stripe\StripeClient('<>'); $paymentIntent = $stripe->paymentIntents->create([ 'amount' => 1000, 'currency' => 'usd', 'customer' => '{{CUSTOMER_ID}}', 'metadata' => ['tax_calculation' => '{{TAXCALCULATION_ID}}'], ]); ``` ```java // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys StripeClient client = new StripeClient("<>"); PaymentIntentCreateParams params = PaymentIntentCreateParams.builder() .setAmount(1000L) .setCurrency("usd") .setCustomer("{{CUSTOMER_ID}}") .putMetadata("tax_calculation", "{{TAXCALCULATION_ID}}") .build(); // For SDK versions 29.4.0 or lower, remove '.v1()' from the following line. PaymentIntent paymentIntent = client.v1().paymentIntents().create(params); ``` ```node // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys const stripe = require('stripe')('<>'); const paymentIntent = await stripe.paymentIntents.create({ amount: 1000, currency: 'usd', customer: '{{CUSTOMER_ID}}', metadata: { tax_calculation: '{{TAXCALCULATION_ID}}', }, }); ``` ```go // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys sc := stripe.NewClient("<>") params := &stripe.PaymentIntentCreateParams{ Amount: stripe.Int64(1000), Currency: stripe.String(stripe.CurrencyUSD), Customer: stripe.String("{{CUSTOMER_ID}}"), } params.AddMetadata("tax_calculation", "{{TAXCALCULATION_ID}}") result, err := sc.V1PaymentIntents.Create(context.TODO(), params) ``` ```dotnet // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys var options = new PaymentIntentCreateOptions { Amount = 1000, Currency = "usd", Customer = "{{CUSTOMER_ID}}", Metadata = new Dictionary { { "tax_calculation", "{{TAXCALCULATION_ID}}" }, }, }; var client = new StripeClient("<>"); var service = client.V1.PaymentIntents; PaymentIntent paymentIntent = service.Create(options); ``` Für Aufrufe der Transfers API: - Geben Sie [source_transaction](https://docs.stripe.com/api/transfers/create.md#create_transfer-source_transaction) an, um die Überweisung mit dem Payment Intent zu verknüpfen. - Geben Sie [destination](https://docs.stripe.com/api/transfers/create.md#create_transfer-destination) mit dem Wert der verbundenen Konto-ID an. ```curl curl https://api.stripe.com/v1/transfers \ -u "<>:" \ -d amount=1000 \ -d currency=usd \ -d source_transaction="{{CHARGE_ID}}" \ -d destination="{{CONNECTEDACCOUNT_ID}}" ``` ```cli stripe transfers create \ --amount=1000 \ --currency=usd \ --source-transaction="{{CHARGE_ID}}" \ --destination="{{CONNECTEDACCOUNT_ID}}" ``` ```ruby # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = Stripe::StripeClient.new("<>") transfer = client.v1.transfers.create({ amount: 1000, currency: 'usd', source_transaction: '{{CHARGE_ID}}', destination: '{{CONNECTEDACCOUNT_ID}}', }) ``` ```python # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = StripeClient("<>") # For SDK versions 12.4.0 or lower, remove '.v1' from the following line. transfer = client.v1.transfers.create({ "amount": 1000, "currency": "usd", "source_transaction": "{{CHARGE_ID}}", "destination": "{{CONNECTEDACCOUNT_ID}}", }) ``` ```php // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys $stripe = new \Stripe\StripeClient('<>'); $transfer = $stripe->transfers->create([ 'amount' => 1000, 'currency' => 'usd', 'source_transaction' => '{{CHARGE_ID}}', 'destination' => '{{CONNECTEDACCOUNT_ID}}', ]); ``` ```java // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys StripeClient client = new StripeClient("<>"); TransferCreateParams params = TransferCreateParams.builder() .setAmount(1000L) .setCurrency("usd") .setSourceTransaction("{{CHARGE_ID}}") .setDestination("{{CONNECTEDACCOUNT_ID}}") .build(); // For SDK versions 29.4.0 or lower, remove '.v1()' from the following line. Transfer transfer = client.v1().transfers().create(params); ``` ```node // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys const stripe = require('stripe')('<>'); const transfer = await stripe.transfers.create({ amount: 1000, currency: 'usd', source_transaction: '{{CHARGE_ID}}', destination: '{{CONNECTEDACCOUNT_ID}}', }); ``` ```go // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys sc := stripe.NewClient("<>") params := &stripe.TransferCreateParams{ Amount: stripe.Int64(1000), Currency: stripe.String(stripe.CurrencyUSD), SourceTransaction: stripe.String("{{CHARGE_ID}}"), Destination: stripe.String("{{CONNECTEDACCOUNT_ID}}"), } result, err := sc.V1Transfers.Create(context.TODO(), params) ``` ```dotnet // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys var options = new TransferCreateOptions { Amount = 1000, Currency = "usd", SourceTransaction = "{{CHARGE_ID}}", Destination = "{{CONNECTEDACCOUNT_ID}}", }; var client = new StripeClient("<>"); var service = client.V1.Transfers; Transfer transfer = service.Create(options); ``` In diesem Szenario ist das verbundene Konto steuerpflichtig für die Transaktion, obwohl die Plattform den `PaymentIntent` besitzt. Stellen Sie sich die Plattform so vor, dass sie eine Transaktion zwischen dem verbundenen Konto und dem Kunden/der Kundin des Kontos ermöglicht. Wenn Sie die API zur Steuerberechnung aufrufen, berechnen Sie die Steuern für das verbundene Konto, indem Sie den Header `Stripe-Account` mit der ID des verbundenen Kontos hinzufügen. Die Berechnung der Steuer für das verbundene Konto vereinfacht auch die Steuerberichterstattung und -einreichung, indem die Steuer auf Transaktionen mit verbundenen Konten von der Steuer auf direkt über die Plattform getätigte Transaktionen getrennt bleibt. Sie müssen außerdem [Steuertransaktionen erstellen](https://docs.stripe.com/tax/custom.md#tax-transaction), um die von Ihren Kundinnen/Kunden erhobenen Steuern zu erfassen, und [Rückerstattungen zu berücksichtigen](https://docs.stripe.com/tax/custom.md#reversals). ### Zahlungen außerhalb von Stripe Prüfen Sie, wie Sie die Integration mithilfe der [Stripe Tax API](https://docs.stripe.com/tax/custom.md) durchführen und wie das verbundene Konto *steuerpflichtig* (The responsibility for collecting and reporting taxes for transactions in a Connect integration. It can belong to the platform or to connected accounts, depending on your business model, government regulations, and individual transaction details)werden kann. Geben Sie dafür den `Stripe-Account`-Header mit dem Wert der verbundenen Konto-ID in den Tax Calculation API-Aufrufen ein: ```curl curl https://api.stripe.com/v1/tax/calculations \ -u "<>:" \ -H "Stripe-Account: {{CONNECTEDACCOUNT_ID}}" \ -d currency=usd \ -d "line_items[0][amount]"=1000 \ -d "line_items[0][reference]"=L1 \ -d customer="{{CUSTOMER_ID}}" ``` ```cli stripe tax calculations create \ --stripe-account {{CONNECTEDACCOUNT_ID}} \ --currency=usd \ -d "line_items[0][amount]"=1000 \ -d "line_items[0][reference]"=L1 \ --customer="{{CUSTOMER_ID}}" ``` ```ruby # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = Stripe::StripeClient.new("<>") calculation = client.v1.tax.calculations.create( { currency: 'usd', line_items: [ { amount: 1000, reference: 'L1', }, ], customer: '{{CUSTOMER_ID}}', }, {stripe_account: '{{CONNECTEDACCOUNT_ID}}'}, ) ``` ```python # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = StripeClient("<>") # For SDK versions 12.4.0 or lower, remove '.v1' from the following line. calculation = client.v1.tax.calculations.create( { "currency": "usd", "line_items": [{"amount": 1000, "reference": "L1"}], "customer": "{{CUSTOMER_ID}}", }, {"stripe_account": "{{CONNECTEDACCOUNT_ID}}"}, ) ``` ```php // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys $stripe = new \Stripe\StripeClient('<>'); $calculation = $stripe->tax->calculations->create( [ 'currency' => 'usd', 'line_items' => [ [ 'amount' => 1000, 'reference' => 'L1', ], ], 'customer' => '{{CUSTOMER_ID}}', ], ['stripe_account' => '{{CONNECTEDACCOUNT_ID}}'] ); ``` ```java // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys StripeClient client = new StripeClient("<>"); CalculationCreateParams params = CalculationCreateParams.builder() .setCurrency("usd") .addLineItem( CalculationCreateParams.LineItem.builder() .setAmount(1000L) .setReference("L1") .build() ) .setCustomer("{{CUSTOMER_ID}}") .build(); RequestOptions requestOptions = RequestOptions.builder().setStripeAccount("{{CONNECTEDACCOUNT_ID}}").build(); // For SDK versions 29.4.0 or lower, remove '.v1()' from the following line. Calculation calculation = client.v1().tax().calculations().create(params, requestOptions); ``` ```node // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys const stripe = require('stripe')('<>'); const calculation = await stripe.tax.calculations.create( { currency: 'usd', line_items: [ { amount: 1000, reference: 'L1', }, ], customer: '{{CUSTOMER_ID}}', }, { stripeAccount: '{{CONNECTEDACCOUNT_ID}}', } ); ``` ```go // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys sc := stripe.NewClient("<>") params := &stripe.TaxCalculationCreateParams{ Currency: stripe.String(stripe.CurrencyUSD), LineItems: []*stripe.TaxCalculationCreateLineItemParams{ &stripe.TaxCalculationCreateLineItemParams{ Amount: stripe.Int64(1000), Reference: stripe.String("L1"), }, }, Customer: stripe.String("{{CUSTOMER_ID}}"), } params.SetStripeAccount("{{CONNECTEDACCOUNT_ID}}") result, err := sc.V1TaxCalculations.Create(context.TODO(), params) ``` ```dotnet // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys var options = new Stripe.Tax.CalculationCreateOptions { Currency = "usd", LineItems = new List { new Stripe.Tax.CalculationLineItemOptions { Amount = 1000, Reference = "L1" }, }, Customer = "{{CUSTOMER_ID}}", }; var requestOptions = new RequestOptions { StripeAccount = "{{CONNECTEDACCOUNT_ID}}", }; var client = new StripeClient("<>"); var service = client.V1.Tax.Calculations; Stripe.Tax.Calculation calculation = service.Create(options, requestOptions); ``` Sie müssen außerdem [Steuertransaktionen erstellen](https://docs.stripe.com/tax/custom.md#tax-transaction), um die von Ihren Kundinnen/Kunden erhobenen Steuern zu erfassen, und [Rückerstattungen zu berücksichtigen](https://docs.stripe.com/tax/custom.md#reversals). Nach der Implementierung beginnt Stripe automatisch mit dem Einzug der Steuern in den Zuständigkeitsbereichen, in denen der Nutzer/die Nutzerin über eine aktive Registrierung verfügt. > Unabhängig von der Integration erhält Ihr verbundenes Konto standardmäßig eine Gutschrift für den eingezogenen Steuerbetrag. ## Auf Stripe Tax-Berichte zugreifen Ihre verbundenen Konten können die [Stripe Tax-Berichte](https://docs.stripe.com/tax/reports.md) verwenden, um ihnen bei der korrekten Einreichung und Abführung der Steuern zu helfen. ### Verbundenes Konto, das das Stripe-Dashboard nutzt Diese Option ist nur für Konten mit Zugriff auf das Stripe-Dashboard verfügbar (zum Beispiel Standard-Konten). Die verbundenen Konten können über die Funktion [Steuerberichterstattung](https://docs.stripe.com/tax/reports.md#how-to-access-data-using-exports-and-reports) im Stripe-Dashboard auf ihre Stripe Tax-Berichte zugreifen. ### Die Stripe-API nutzen Verwenden Sie diese Option für Konten ohne Zugriff auf das Stripe-Dashboard (z. B. Custom- und Express-Konten). Plattformen können eine [Aufstellung der Steuertransaktionen](https://docs.stripe.com/tax/reports.md#itemized-exports) für ihre verbundenen Konten mithilfe der [Report API](https://docs.stripe.com/reports/api.md) mit dem Berichtstyp [connected_account_tax.transactions.itemized.2](https://docs.stripe.com/reports/report-types/connect.md) herunterladen. Wenn eine Plattform den folgenden Befehl ausführt, lädt sie alle 2022-Transaktionen von allen verbundenen Konten herunter: ```curl curl https://api.stripe.com/v1/reporting/report_runs \ -u "<>:" \ -d report_type="connected_account_tax.transactions.itemized.2" \ -d "parameters[interval_start]"=1641013200 \ -d "parameters[interval_end]"=1672549200 ``` ```cli stripe reporting report_runs create \ --report-type="connected_account_tax.transactions.itemized.2" \ -d "parameters[interval_start]"=1641013200 \ -d "parameters[interval_end]"=1672549200 ``` ```ruby # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = Stripe::StripeClient.new("<>") report_run = client.v1.reporting.report_runs.create({ report_type: 'connected_account_tax.transactions.itemized.2', parameters: { interval_start: 1641013200, interval_end: 1672549200, }, }) ``` ```python # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = StripeClient("<>") # For SDK versions 12.4.0 or lower, remove '.v1' from the following line. report_run = client.v1.reporting.report_runs.create({ "report_type": "connected_account_tax.transactions.itemized.2", "parameters": {"interval_start": 1641013200, "interval_end": 1672549200}, }) ``` ```php // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys $stripe = new \Stripe\StripeClient('<>'); $reportRun = $stripe->reporting->reportRuns->create([ 'report_type' => 'connected_account_tax.transactions.itemized.2', 'parameters' => [ 'interval_start' => 1641013200, 'interval_end' => 1672549200, ], ]); ``` ```java // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys StripeClient client = new StripeClient("<>"); ReportRunCreateParams params = ReportRunCreateParams.builder() .setReportType("connected_account_tax.transactions.itemized.2") .setParameters( ReportRunCreateParams.Parameters.builder() .setIntervalStart(1641013200L) .setIntervalEnd(1672549200L) .build() ) .build(); // For SDK versions 29.4.0 or lower, remove '.v1()' from the following line. ReportRun reportRun = client.v1().reporting().reportRuns().create(params); ``` ```node // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys const stripe = require('stripe')('<>'); const reportRun = await stripe.reporting.reportRuns.create({ report_type: 'connected_account_tax.transactions.itemized.2', parameters: { interval_start: 1641013200, interval_end: 1672549200, }, }); ``` ```go // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys sc := stripe.NewClient("<>") params := &stripe.ReportingReportRunCreateParams{ ReportType: stripe.String("connected_account_tax.transactions.itemized.2"), Parameters: &stripe.ReportingReportRunCreateParametersParams{ IntervalStart: stripe.Int64(1641013200), IntervalEnd: stripe.Int64(1672549200), }, } result, err := sc.V1ReportingReportRuns.Create(context.TODO(), params) ``` ```dotnet // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys var options = new Stripe.Reporting.ReportRunCreateOptions { ReportType = "connected_account_tax.transactions.itemized.2", Parameters = new Stripe.Reporting.ReportRunParametersOptions { IntervalStart = DateTimeOffset.FromUnixTimeSeconds(1641013200).UtcDateTime, IntervalEnd = DateTimeOffset.FromUnixTimeSeconds(1672549200).UtcDateTime, }, }; var client = new StripeClient("<>"); var service = client.V1.Reporting.ReportRuns; Stripe.Reporting.ReportRun reportRun = service.Create(options); ``` Wenn eine Plattform den folgenden Befehl ausführt, lädt sie alle 2022-Transaktionen von einem einzigen verbundenen Konto herunter: > Um Berichte für verbundene Konten zu erstellen, verwenden Sie den Parameter `connected_account` anstelle des `Stripe-Account`-Headers. ```curl curl https://api.stripe.com/v1/reporting/report_runs \ -u "<>:" \ -d report_type="connected_account_tax.transactions.itemized.2" \ -d "parameters[interval_start]"=1641013200 \ -d "parameters[interval_end]"=1672549200 \ -d "parameters[connected_account]"={{CONNECTED_ACCOUNT_ID}} ``` ```cli stripe reporting report_runs create \ --report-type="connected_account_tax.transactions.itemized.2" \ -d "parameters[interval_start]"=1641013200 \ -d "parameters[interval_end]"=1672549200 \ -d "parameters[connected_account]"={{CONNECTED_ACCOUNT_ID}} ``` ```ruby # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = Stripe::StripeClient.new("<>") report_run = client.v1.reporting.report_runs.create({ report_type: 'connected_account_tax.transactions.itemized.2', parameters: { interval_start: 1641013200, interval_end: 1672549200, connected_account: '{{CONNECTED_ACCOUNT_ID}}', }, }) ``` ```python # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys client = StripeClient("<>") # For SDK versions 12.4.0 or lower, remove '.v1' from the following line. report_run = client.v1.reporting.report_runs.create({ "report_type": "connected_account_tax.transactions.itemized.2", "parameters": { "interval_start": 1641013200, "interval_end": 1672549200, "connected_account": "{{CONNECTED_ACCOUNT_ID}}", }, }) ``` ```php // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys $stripe = new \Stripe\StripeClient('<>'); $reportRun = $stripe->reporting->reportRuns->create([ 'report_type' => 'connected_account_tax.transactions.itemized.2', 'parameters' => [ 'interval_start' => 1641013200, 'interval_end' => 1672549200, 'connected_account' => '{{CONNECTED_ACCOUNT_ID}}', ], ]); ``` ```java // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys StripeClient client = new StripeClient("<>"); ReportRunCreateParams params = ReportRunCreateParams.builder() .setReportType("connected_account_tax.transactions.itemized.2") .setParameters( ReportRunCreateParams.Parameters.builder() .setIntervalStart(1641013200L) .setIntervalEnd(1672549200L) .setConnectedAccount("{{CONNECTED_ACCOUNT_ID}}") .build() ) .build(); // For SDK versions 29.4.0 or lower, remove '.v1()' from the following line. ReportRun reportRun = client.v1().reporting().reportRuns().create(params); ``` ```node // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys const stripe = require('stripe')('<>'); const reportRun = await stripe.reporting.reportRuns.create({ report_type: 'connected_account_tax.transactions.itemized.2', parameters: { interval_start: 1641013200, interval_end: 1672549200, connected_account: '{{CONNECTED_ACCOUNT_ID}}', }, }); ``` ```go // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys sc := stripe.NewClient("<>") params := &stripe.ReportingReportRunCreateParams{ ReportType: stripe.String("connected_account_tax.transactions.itemized.2"), Parameters: &stripe.ReportingReportRunCreateParametersParams{ IntervalStart: stripe.Int64(1641013200), IntervalEnd: stripe.Int64(1672549200), ConnectedAccount: stripe.String("{{CONNECTED_ACCOUNT_ID}}"), }, } result, err := sc.V1ReportingReportRuns.Create(context.TODO(), params) ``` ```dotnet // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys var options = new Stripe.Reporting.ReportRunCreateOptions { ReportType = "connected_account_tax.transactions.itemized.2", Parameters = new Stripe.Reporting.ReportRunParametersOptions { IntervalStart = DateTimeOffset.FromUnixTimeSeconds(1641013200).UtcDateTime, IntervalEnd = DateTimeOffset.FromUnixTimeSeconds(1672549200).UtcDateTime, ConnectedAccount = "{{CONNECTED_ACCOUNT_ID}}", }, }; var client = new StripeClient("<>"); var service = client.V1.Reporting.ReportRuns; Stripe.Reporting.ReportRun reportRun = service.Create(options); ``` ### Verwenden Sie die eingebettete Komponente zum Exportieren von Steuertransaktionen Weitere Informationen zu dieser Komponente und ihrer Integration finden Sie unter [Steuertransaktionen exportieren](https://docs.stripe.com/connect/supported-embedded-components/export-tax-transactions.md). ## See also - [Steuer in Ihrem nutzerdefinierten Bezahlvorgang berechnen](https://docs.stripe.com/tax/custom.md)