Integrationen von BuchhaltungssoftwareBeta
Lassen Sie Ihre Nutzer/innen ihre Transaktionen, Gebühren, Rückerstattungen, Auszahlungen, Kundinnen/Kunden und Produkte automatisch mit ihrer Buchhaltungssoftware synchronisieren.
Integration mit den in Connect eingebetteten Komponenten
Richten Sie Connect.js ein, um die Möglichkeit zu schaffen, die Dashboard-Funktionalität für verbundene Konten zu Ihrer Website hinzuzufügen.
Wählen Sie die App aus, die integriert werden soll
Stripe unterstützt die folgenden Buchhaltungs-App-Integrationen.
Integration der Buchhaltungs-App | App-ID |
---|---|
QuickBooks Sync von Acodei | com.example.acodeistripeapp |
Xero-Synchronisierung von Xero | com.xero.stripeapp |
App-Installation einrichten
Rendern Sie die eingebettete Komponente zur App-Installation für Ihre ausgewählte Buchhaltungs-App. Die App-Installation erteilt der Drittanbieter-App die Berechtigung, auf die Stripe-Daten Ihrer Nutzer/innen zuzugreifen, wobei eine Verbindung zwischen Ihrer Plattform, Stripe und der Drittanbieter-App erstellt wird. Die Komponente hat zwei Status: uninstalled
und installed
. Überwachen Sie Installations-Ereignisauslöser, um Ihren eigenen UX-Ablauf zu erstellen und Aktualisierungen in Ihrem eigenen Backend vorzunehmen.
Aktivieren Sie beim Erstellen einer Kontositzung Zahlungen durch Angabe von app_onboarding
, app_install
und app_settings
im Parameter components
.
Nachdem die Kontositzung erstellt und ConnectJS initiiert wurde, können Sie die Komponente app_install im Frontend anzeigen:
Diese eingebettete Komponente unterstützt die folgenden Parameter:
App-Einstellungen einrichten
Rendern Sie die eingebettete Komponente „App-Einstellungen“ für Ihre auswählte Buchhaltungs-App, um die wesentlichen Funktionen der App zu aktivieren, darunter die Verbindung zum Konto der Buchhaltungssoftware mit OAuth, Onboarding, Einstellungen und Konfiguration des Diensts und der Synchronisierungsstatus der Transaktionen. Übergeben Sie die user_id
(auf Ihrer Plattform dargestelltes Unternehmen) als optionales HTML-Attribut, das Drittanbieter-Apps zur Erstellung einer dynamischen URL verwenden können, die nach OAuth zu Ihrem Nutzer-Dashboard zurückleitet.
Diese Komponente unterstützt die folgenden optionalen Attribute:
Attribut | Beschreibung |
---|---|
app | App-ID der eingebetteten App, bereitgestellt von Stripe |
user-id | Eindeutige Kennung der Plattformnutzer/innen |
Für Connect Destination OBO anpassen
Übergeben Sie erforderliche und optionale Transaktionsdaten an Xero oder QuickBooks Sync von Acodei, indem Sie die Destination Charge für das verbundene Konto mithilfe des unten aufgeführten standardisierten Datenschemas aktualisieren. Sie müssen ein Kunden-Objekt an die Destination Charge übergeben. QuickBooks Sync von Acodei erfordert auch Gebührenaktualisierungen mit in Metadaten geschriebenen Rückerstattungsbeträgen. Es gibt drei Fälle, in denen Sie Ihre Destination Charge aktualisieren müssen:
- Einmalzahlung abgeschlossen
- Wiederkehrende Zahlung abgeschlossen
- Zahlung zurückerstattet
Feld- oder Schlüsselname | Format (es gelten die Standard-CSV-Regeln) | Beschreibung |
---|---|---|
charges.customer | string (ID) | Stripe-Kunden-ID (die zu einem verbundenen Konto gehört), die an ein Destination Charge-Objekt angehängt ist. Die Transaktionen werden nicht mit Apps (wie Xero und QBO) synchronisiert, wenn dieses Feld nicht vorhanden ist. |
customer.name | string | Vollständiger Name des Kunden/der Kundin |
customer.email | string | E-Mail-Adresse des Kunden/der Kundin |
customer.address.<> | string (Multi-Feld) | Postadresse des Kunden/der Kundin (kann sowohl für die Abrechnung als auch für den Versand verwendet werden) |
charges.metadata.[refund_amount] | string (Cent, Ganzzahl) | Spiegelung von charges.amount_refunded |
charges.metadata.[refund_reason] | string | Grund für die Rückerstattung |
charges.metadata.[currency_converted] | true | false | null | Auf true setzen, wenn die Währung umgerechnet wurde, zum Beispiel wenn die dargestellte Währung von der Abrechnungswährung abweicht. |
customer.metadata.[platform_customer_ID] | string | Kunden-ID, wie im System der Plattform erfasst |
charges.metadata.[platform_product_ID] | string, CSV, mehrere Produkte | Produkt-IDs, wie im System der Plattform erfasst, im Zusammenhang mit dieser Transaktion (Zahlung) |
charges.metadata.[platform_product_name] | string, CSV, mehrere Produkte | Produktname, wie im System der Plattform erfasst, im Zusammenhang mit dieser Transaktion (Zahlung) |
charges.metadata.[platform_product_value] | string, CSV, mehrere Produkte | Der individuelle Produktwert (Preis/Kosten), der der Produkt-ID und dem Namen entspricht |
charges.metadata.[platform_order_ID] | string | Bestell-ID, wie im System der Plattform erfasst, im Zusammenhang mit dieser Transaktion (Zahlung) |
charges.metadata.[platform_charge_ID] | string | Zahlungs- oder Transaktions-ID, wie im System der Plattform erfasst und für den/die Händler/in sichtbar |
charges.metadata.[fees_names] | string, CSV | Die Bezeichnung der Gebühren, die Händler/innen im Zusammenhang mit der Transaktion zahlen (Aufwendungen) und die nicht in der Zahlung erfasst sind, zum Beispiel Kreditbearbeitungsgebühr, Plattformgebühr. Hinweis: Wenn dieses Feld ausgefüllt ist, wird charges.application_fee ignoriert. |
charges.metadata.[fees_values] | string, CSV | Die Werte der Gebühren, die Händler/innen im Zusammenhang mit der Transaktion zahlen (Aufwendungen) und die nicht in der Zahlung erfasst werden, zum Beispiel Kreditbearbeitungsgebühr, Plattformgebühr. |
Das folgende Codeausschnitt-Beispiel wechselt zur zielseitigen Destination Charge und zeigt, wie pro Schema aktualisiert werden kann.
- Rückverfolgung von der Transaktion bis zur Destination Charge
const paymentOnPlatform = await StripeClient.paymentIntents.retrieve( "pi_3N6JL7LirQdaQn8E1Lpn7Dui", ); const latestCharge = await StripeClient.charges.retrieve( paymentOnPlatform.latest_charge as string, ); const transfer = await StripeClient.transfers.retrieve( latestCharge.transfer as string, ); const payment = await StripeClient.charges.retrieve( transfer.destination_payment as string, undefined, { stripeAccount: transfer.destination as string, }, );
- Erstellen Sie einen Kunden/eine Kundin und aktualisieren Sie dann die Zahlung mit der entsprechenden Kunden-ID und den Metadaten. Der Kunde/die Kundin muss zu dem verbundenen Konto gehören und nicht zu der Plattform, damit die Daten weitergegeben und die Apps synchronisiert werden können.
const customer = await StripeClient.customers.create( { email: `jenny.rosen@example.com`, name: "Jenny Rosen", address.city: "Brothers" Address.state: "Oregon" address.country: "USA" address.line1: "27 Fredrick Ave" address.postal_code: "97712" metadata: { platform_customer_ID: "K-123456" }, }, { stripeAccount: accountId, }, ); const payment = await StripeClient.charges.update( id, { customer: customer.id, metadata: { product_name: "Creative writing course for PMs", platform_product_ID: "P-123456" platform_order_ID: "O-123456" }, }, { stripeAccount: accountId, }, );
Direct Charges
Die eingebetteten Buchhaltungsintegrationen greifen auf alle bei Stripe gespeicherten Zahlungs-, Kunden- und Produktdaten zu. Sie können optionale plattformspezifische Daten über die App mithilfe des folgenden Metadatenschemas an die Buchhaltungssoftware übergeben.
Feld- oder Schlüsselname | Format (es gelten die Standard-CSV-Regeln) | Beschreibung |
---|---|---|
customer.metadata.[platform_customer_ID] | string | Kunden-ID, wie im System der Plattform erfasst |
payment.metadata.[platform_product_ID] | string, CSV, mehrere Produkte | Produkt-IDs, die im System der Plattformen erfasst sind und sich auf diese Transaktion beziehen, wenn sie sich von der Stripe-Produkt-ID unterscheiden |
payment.metadata.[platform_product_name] | string, CSV, mehrere Produkte | Produkt- oder Dienstleistungsnamen, die im System der Plattformen erfasst sind und sich auf diese Transaktion beziehen, wenn sie sich vom Stripe-Produktnamen unterscheiden |
payment.metadata.[platform_product_value] | string, CSV, mehrere Produkte | Der individuelle Produktwert (Preis oder Kosten), der dem ID- und Namens-Array entspricht, falls abweichend vom Stripe-Produktwert |
payment.metadata.[platform_order_ID] | string | Bestell-ID, wie im System der Plattform erfasst, im Zusammenhang mit dieser Transaktion (Zahlung) |
payment.metadata.[platform_charge_ID] | string | Zahlungs- oder Transaktions-ID, die auf der Plattform erfasst und für den/die Nutzer/in sichtbar ist, falls sie sich von der Stripe-Zahlungs-ID unterscheidet |
Rechnungsstellung für Nutzer/innen
Die Xero App ist für die Nutzer/innen der Plattformen kostenlos. QuickBooks Sync von Acodei umfasst kostenlose und kostenpflichtige Level.
Andere Integrationen
Wenn Sie eine Integration mit anderer Buchhaltungssoftware oder anderen Integrationstypen benötigen, wenden Sie sich an stripe-apps@stripe.com.