Integrationsleitfaden für eingebettete Stripe-AppsPrivate Vorschau
Verwenden Sie eingebettete Komponenten für Stripe-Apps, damit Ihre Kundinnen/Kunden Zahlungsdaten in Anwendungen von Drittanbietern verwalten können.
Kundinnen/Kunden erwarten, dass ihre Zahlungsdaten in den Tools, die sie bereits verwenden, um ihre Geschäftsabläufe durchzuführen, unkompliziert zugänglich sind. Eingebettete Komponenten für Apps ermöglichen es Ihren Kundinnen/Kunden, Anwendungen von Drittanbietern in Stripe zu verwenden.
Mit eingebetteten Komponenten für Apps können Sie Integrationen, die für Stripe entwickelt wurden, in Ihre Plattform einbetten und Ihren Kundinnen und Kunden ermöglichen, ihre bevorzugten Drittanbieteranwendungen zu verwenden, ohne Stripe zu verlassen. Verwenden Sie vorgefertigte Komponenten der Nutzeroberfläche, die Daten direkt mit Anwendungen wie QuickBooks und Xero 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.
Eingebettete Stripe Apps verwendet private Vorschaukomponenten, die die Nutzung von Vorschauversionen der Stripe-SDKs erfordern. Erfahren Sie mehr über Komponenten privater Vorschauen.
Wählen Sie die App aus, die integriert werden soll
Stripe unterstützt die folgenden App-Integrationen.
App-Integration | App-ID |
---|---|
QuickBooks Sync von Acodei | com.example.acodeistripeapp |
Xero-Synchronisation durch Xero | com.xero.stripeapp |
Mailchimp | mailchimp |
App-Installation einrichten
Rendern Sie die eingebettete App-Installationskomponente für die ausgewählte App. Die App-Installation erteilt der Drittanbieter-App die Berechtigung, auf die Stripe-Daten Ihrer Nutzer/innen zuzugreifen und eine Verbindung zwischen Ihrer Plattform, Stripe und der Drittanbieter-App herzustellen. Die Komponente hat zwei Zustände: uninstalled
und installed
. Überwachen Sie die Installation von Ereignisauslösern, um Ihren nutzerdefinierten UX-Ablauf zu erstellen oder Aktualisierungen in Ihrem eigenen Backend vorzunehmen.
Aktivieren Sie beim Erstellen einer Kontositzung die App-Installation und das Rendering, indem Sie app_
und app_
im Parameter components
angeben. Sie müssen die App, die Sie anzeigen möchten, aktivieren, indem Sie den Parameter features
unter allowed_
angeben.
Nachdem Sie die Kontositzung erstellt und ConnectJS initiiert haben, können Sie die Installationskomponente der App im Frontend anzeigen:
Diese eingebettete Komponente unterstützt die folgenden Parameter:
Sie können ein nutzerdefiniertes Verhalten basierend auf dem aktuellen oder aktualisierten Status einer Installation konfigurieren.
App-Einstellungen einrichten
Rendern Sie die eingebettete Komponente des App-Darstellungsfelds für Ihre ausgewählte App, um die Kernfunktionalität der App zu aktivieren. Dies umfasst auch die Verbindung mit dem Konto der Software der App mit OAuth, Onboarding, Einstellungen sowie die Konfiguration des Diensts und Synchronisierungsstatus von Transaktionen. Übergeben Sie die user_
(auf Ihrer Plattform dargestelltes Unternehmen) als optionales HTML-Attribut, mit dem Apps von Drittanbietern eine dynamische URL erstellen können. Nach dem OAuth-Vorgangwird dadurch eine Weiterleitung zum Nutzer-Dashboard vorgenommen.
Diese eingebettete Komponente unterstützt die folgenden Parameter:
Für Connect-Ziel im Auftrag von (OBO) anpassen
Um sicherzustellen, dass Ihre ausgewählte App die Transaktionsdaten ordnungsgemäß verarbeitet, müssen Sie die Destination Charge für das verbundene Konto mithilfe des standardisierten Datenschemas aktualisieren. Es ist wichtig, dass Ihre Plattform bei jedem Zahlungsereignis mindestens ein Kundenobjekt (insbesondere die Kunden-ID) übermittelt.
Diese Anforderung ist wichtig, da das Ereignis charge.
für eine einzelne Transaktion möglicherweise mehrmals gesendet wird. Die Drittanbieter-App liest und verarbeitet jedoch nur Ereignisse, die eine Kunden-ID enthalten. Fügen Sie immer die Kunden-ID in die Nutzlast ein, um zu bestätigen, dass die App die entsprechende Transaktion verarbeitet. Es gibt drei Szenarien, bei denen Sie Ihre Destination Charge aktualisieren müssen:
- Einmalige Zahlung abgeschlossen
- Wiederkehrende Zahlung abgeschlossen
- Zahlung zurückerstattet
Der folgende Codeausschnitt geht zur zielseitigen Destination Charge über 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 Abbuchung mit der entsprechenden Kunden-ID und den Metadaten. Der Kunde/die Kundin muss dem verbundenen Konto angehören und nicht der Plattform für die Weitergabe der Daten und die Synchronisierung der Apps.
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 Integrationen greifen auf alle bei Stripe gespeicherten Zahlungs-, Kunden- und Produktdaten zu. Sie können optionale plattformspezifische Daten mithilfe des folgenden Metadatenschemas an die App übergeben.
Feld- oder Schlüsselname | Format (es gelten die Standard-CSV-Regeln) | Beschreibung |
---|---|---|
customer. | Zeichenfolge | Kunden-ID, wie im System der Plattform erfasst |
payment. | Zeichenfolge, CSV, mehrere Produkte | Produkt-IDs, die im System der Plattformen erfasst sind und sich auf diese Transaktion beziehen (falls abweichend von der Stripe-Produkt-ID) |
payment. | Zeichenfolge, CSV, mehrere Produkte | Produkt- oder Dienstleistungsnamen, die im System der Plattformen erfasst sind und sich auf diese Transaktion beziehen (falls abweichend vom Stripe-Produktnamen) |
payment. | Zeichenfolge, CSV, mehrere Produkte | Der individuelle Produktwert (Preis oder Kosten), der dem ID- und Namens-Array entspricht (falls abweichend vom Stripe-Produktwert) |
payment. | Zeichenfolge | Auftrags-ID, wie im System der Plattform erfasst, im Zusammenhang mit dieser Transaktion (Zahlung) |
payment. | Zeichenfolge | Zahlungs- oder Transaktions-ID, wie auf der Plattform erfasst und für den/die Nutzer/in sichtbar (falls abweichend von der Stripe-Zahlungs-ID) |