Terminal mit Connect verwenden
Stripe Terminal ist vollständig kompatibel mit Stripe Connect und ermöglicht es Ihrer Plattform oder Ihrem Marktplatz, persönliche Zahlungen anzunehmen.
Die Art und Weise, wie Terminal-API-Objekte erstellt, richtet sich danach, ob Sie Direct Charges oder Destination Charges verwenden. Wenn Sie Direct Charges verwenden, gehören alle Terminal-API-Objekte zu verbundenen Konten. Wenn Sie Destination Charges verwenden, werden alle Terminal-API-Objekte in Ihrem Plattformkonto erstellt. Verwenden Sie in beiden Fällen Standorte, um Lesegeräte nach Belieben zu gruppieren.
Notiz
Terminal Connect-Konten müssen die Funktion card_payments
aufweisen, um Transaktionen durchführen zu können.
Direct Charges
Bei Verwendung von Direct Charges gehören die API-Objekte zum verbundenen Konto und nicht zur Plattform. Das verbundene Konto ist für die Kosten von Stripe-Gebühren, -Rückerstattungen und -Rückbuchungen verantwortlich.
Im Dashboard können Sie Ihre Terminal-Daten anzeigen, indem Sie sich als verbundenes Konto anmelden.
Standorte und Lesegeräte erstellen Serverseitig
Bei Verwendung von Direct Charges müssen Sie Zahlungsobjekte erstellen, die zu dem verbundenen Konto gehören. Sie müssen andere Terminal-API-Objekte wie Standorte und Lesegeräte erstellen, die zu demselben verbundenen Konto gehören.
Zum Erstellen eines Standorts, der zu einem verbundenen Konto gehört, verwenden Sie den Stripe-Account
-Header.
Bevor Sie Ihre Anwendung mit einem intelligenten Lesegerät verbinden können, müssen Sie das Lesegerät bei einem Stripe-Konto registrieren. Um ein Lesegerät bei einem verbundenen Konto zu registrieren, verwenden Sie den Header Stripe-Account
.
Verbindungstoken erstellen Serverseitig
Notiz
Bei Verwendung der Connect OAuth-Authentifizierung muss das verbundene Konto separat für den Live-Modus und den Testmodus autorisiert werden, wobei die jeweilige Client-ID der Anwendung für jeden Modus verwendet wird.
Bei der Erstellung eines ConnectionToken für das Terminal SDK setzen Sie den Stripe-Account
-Header auf das verbundene Konto, das Zahlungen annimmt. Sie können auch einen location
-Parameter angeben, um den Zugriff auf Lesegeräte einzuschränken. Wenn Sie einen Standort angeben, kann das ConnectionToken nur mit Lesegeräten verwendet werden, die diesem Standort zugeordnet sind. Wenn Sie keinen Standort angeben, kann das ConnectionToken mit allen Lesegeräten verwendet werden.
PaymentIntents erstellen Client-side Server-side
Mit dem iOS, Android und React Native SDK können Sie einen PaymentIntent auf dem Client oder auf dem Server erstellen. Das JavaScript SDK unterstützt nur die Erstellung auf dem Server.
Clientseitig
Wenn Sie einen PaymentIntent auf der Client-Seite für Direct Charges erstellen, müssen Sie keine zusätzlichen Parameter für den PaymentIntent angeben. Setzen Sie stattdessen beim Erstellen eines ConnectionToken den Stripe-Account
-Header auf das verbundene Konto, das Zahlungen annimmt. Die SDKs für iOS, Android und React Native erstellen den PaymentIntent für dasselbe verbundene Konto, zu dem das ConnectionToken gehört. Weitere Informationen finden Sie unter Payment Intents auf der Client-Seite erstellen.
Serverseitig
Für das JavaScript SDK müssen Sie den PaymentIntent auf Ihrem Server erstellen. Für iOS oder Android können Sie den PaymentIntent auf Ihrem Server erstellen, wenn die zum Starten einer Zahlung erforderlichen Informationen in Ihrer App nicht ohne weiteres verfügbar sind. Weitere Informationen finden Sie unter Payment Intents serverseitig erstellen.
Wenn Sie einen PaymentIntent auf der Server-Seite für Direct Charges erstellen, setzen Sie den Stripe-Account
-Header auf das verbundene Konto.
Destination Charges
Wenn Sie Destination Charges verwenden, gehören API-Objekte wie Payment Intents und Standorte zu Ihrem Plattformkonto. Durch jede Zahlung wird automatisch eine Übertragung auf ein verbundenes Konto erstellt.
Im Dashboard können Sie Ihre Terminal-Daten direkt anzeigen, wenn Sie bei Ihrem Plattformkonto angemeldet sind.
Standorte und Lesegeräte erstellen Serverseitig
Reader-Objekte lassen sich am besten nach verbundenem Konto gruppieren, indem sie Standorten zugewiesen werden. Erstellen Sie in Ihrem Plattformkonto einen Ort für ein verbundenes Konto mit einem Anzeigenamen, der das Konto kennzeichnet.
Bevor Sie Ihre Anwendung mit einem intelligenten Lesegerät verbinden können, müssen Sie das Lesegerät bei Ihrem Plattformkonto registrieren.
Verbindungstoken erstellen Serverseitig
Verwenden Sie den geheimen Schlüssel Ihres Plattformkontos, wenn Sie ein ConnectionToken für das Terminal SDK erstellen. Legen Sie den Stripe-Account
-Header nicht fest. Geben Sie einen location
-Parameter an, um den Zugriff auf Lesegeräte zu steuern. Wenn Sie einen Ort angeben, kann das ConnectionToken nur mit Lesegeräten verwendet werden, die diesem Ort zugewiesen sind. Wenn Sie keinen Ort angeben, kann das ConnectionToken mit allen Lesegeräten verwendet werden.
PaymentIntents erstellen Client-side Server-side
Wenn Sie einen PaymentIntent mit Destination Charges erstellen, geben Sie die Parameter on_behalf_of und transfer_data[destination] und application_fee_amount an.
Der Parameter on_behalf_of
ist die ID des verbundenen Kontos, das zum Abwicklungshändler für die Zahlung wird. Bei Terminal-Transaktionen muss dieser Parameter in Fällen festgelegt werden, bei denen das Land der Plattform nicht mit dem Land des Connect-Kontos übereinstimmt. Wenn on_behalf_of
festgelegt ist, führt Stripe automatisch Folgendes durch:
- Begleicht die Zahlungen im Land des angegebenen Kontos. Dadurch werden Ablehnungen minimiert und Währungsumrechnungen vermieden.
- Verwendet die Gebührenstruktur für das Land des verbundenen Kontos.
- Listet die Adresse und die Telefonnummer des verbundenen Kontos auf der Kreditkartenabrechnung des/der Kund/in auf, und nicht die Adresse und die Telefonnummer der Plattform (nur, wenn sich das Konto und die Plattform in verschiedenen Ländern befinden).
Legen Sie für transfer_data[destination]
die ID des verbundenen Kontos fest, an das der Betrag gesendet wird.
Abschließend können Sie eine Plattformgebühr für Ihre Plattform einbehalten, indem Sie den Parameter application_fee_amount angeben.
Clientseitig
Mit den SDKs für iOS, Android und React Native können Sie einen PaymentIntent auf dem Client erstellen und die Parameter onBehalfOf
, transferDataDestination
und applicationFeeAmount
angeben.
Serverseitig
Für das JavaScript SDK müssen Sie den PaymentIntent auf Ihrem Server erstellen. Für iOS oder Android können Sie den PaymentIntent auf Ihrem Server erstellen, wenn die zum Starten einer Zahlung erforderlichen Informationen in Ihrer App nicht ohne weiteres verfügbar sind. Weitere Informationen finden Sie unter Payment Intents serverseitig erstellen.