Eine Zahlung unter Verwendung von Destination Charges akzeptieren
Verwenden Sie Destination Charges, um Zahlungen anzunehmen.
Erstellen Sie Destination Charges, wenn Kundinnen/Kunden mit Ihrer Plattform im Zusammenhang mit Produkten oder Dienstleistungen interagieren, die von Ihren verbundenen Konten zur Verfügung gestellt werden und Sie sofort Gelder an Ihre verbundenen Konten überweisen. Mit diesem Zahlungstyp:
- Sie erstellen eine Abbuchung auf dem Konto Ihrer Plattform.
- Sie bestimmen, ob diese Gelder teilweise oder vollständig auf das verbundene Konto übertragen werden sollen.
- Sie sind der eingetragene Händler und Ihr Kontoguthaben wird mit den Kosten für die Stripe-Gebühren, Rückerstattungen und Rückbuchungen belastet.
Wenn sich Ihre Plattform und ein verbundenes Konto nicht in derselben Region befinden, müssen Sie, abgesehen von bestimmten Ausnahmen, das verbundene Konto als Abwicklungshändler mit dem Parameter on_behalf_of für den Payment Intent angeben.
In diesem Leitfaden erfahren Sie, wie Sie eine von Stripe gehostete Checkout-Sitzung erstellen. Alternativ können Sie auchStripe Elemente oder dieAPI verwenden.
Checkout-Sitzung erstellenServerseitig
Über eine Checkout-Sitzung wird gesteuert, was die Kundinnen/Kunden auf dem Zahlungsformular sehen, z. B. Positionen, Bestellbetrag und Währung sowie die akzeptierten Zahlungsmethoden. Fügen Sie auf Ihrer Website eine Schaltfläche zum Bezahlen hinzu, die einen serverseitigen Endpoint aufruft, um eine Checkout-Sitzung zu erstellen.
Erstellen Sie auf Ihrem Server eine Checkout-Sitzung und leiten Sie Ihre Kundinnen/Kunden an die in der Antwort zurückgegebene URL weiter.
| Parameter | Wert | Erforderlich? | Beschreibung |
|---|---|---|---|
| payment_intent_data[transfer_data] | destination | Ja | Dies bedeutet, dass es sich um eine sogenannte Destination Charge handelt: Die Zahlung wird über Ihre Plattform verarbeitet und die Gelder werden sofort und automatisch auf das angegebene verbundene Konto übertragen (in den ausstehenden Saldo). |
| line_items | Eine Liste mit bis zu 100 Elementen | Ja | Die Posten, die die/der Kundin/Kunde kauft. Die Posten werden in dem Formular für die eingebettete Zahlung angezeigt. |
| success_url | Eine gültige URL | Ja | Die URL, an die die Kundin oder der Kunde nach Abschluss einer Zahlung weitergeleitet wird. Verwenden Sie den Wert von {CHECKOUT_, um den Bezahlvorgang abzurufen und den Status zu überprüfen, um zu entscheiden, was Sie Ihrer Kundin oder Ihrem Kunden anzeigen möchten. Sie können auch personalisierte Abfrage-Parameter anhängen, die während des Umleitungsprozesses bestehen bleiben. |
| payment_intent_data[application_fee_amount] | Ein Geldbetrag | Erforderlich für Connect | Der Betrag, den Ihre Plattform von der Transaktion einbehalten möchte. Nach Erfassung der Zahlung wird der gesamte Betrag sofort von der Plattform auf das verbundene Konto überwiesen, das unter transfer_ angegeben wird. Anschließend wird der application_ zurück an die Plattform überwiesen, wobei die Stripe-Gebühr vom Betrag der Plattform abgezogen wird. |
Bearbeiten von Nachzahlungsvorgängen für Destination ChargesServerseitig
Stripe übermittelt ein checkout.session.completed-Ereignis, wenn die Zahlung abgeschlossen ist. Verwenden Sie einen Webhook, um diese Ereignisse zu empfangen und Aktionen auszuführen (Versenden einer Bestellbestätigung per E-Mail an die Kundinnen/Kunden, Erfassen des Verkaufs in einer Datenbank oder Einleiten des Versandablaufs).
Überwachen Sie diese Ereignisse, anstatt auf einen Callback vom Client zu warten. Auf dem Client könnten die Kundinnen und Kunden das Browserfenster schließen oder die App beenden, bevor der Callback erfolgt ist. Einige Zahlungsmethoden benötigen auch 2 bis 14 Tage bis zur Zahlungsbestätigung. Wenn Sie Ihre Integration so einrichten, dass sie asynchrone Ereignisse überwacht, können Sie mehrere Zahlungsmethoden mit einer einzelnen Integration akzeptieren.
Verarbeiten Sie die folgenden Ereignisse, wenn Sie Zahlungen mit Checkout einziehen:
| Ereignis | Beschreibung | Nächste Schritte |
|---|---|---|
| checkout.session.completed | Der Kunde/die Kundin hat die Zahlung nach der Übermittlung des Checkout-Formulars erfolgreich autorisiert. | Warten Sie, bis die Zahlung erfolgt ist oder fehlschlägt. |
| checkout.session.async_payment_succeeded | Die Kundenzahlung war erfolgreich. | Führen Sie die Bestellung der gekauften Waren oder Dienstleistungen aus. |
| checkout.session.async_payment_failed | Die Zahlung wurde abgelehnt oder ist aus einem anderen Grund fehlgeschlagen. | Kontaktieren Sie den Kunden/die Kundin per E-Mail und fordern Sie eine neue Bestellung von ihm/ihr an. |
Diese Ereignisse beinhalten alle das Checkout-Sitzungsobjekt. Nach erfolgreicher Zahlung ändert sich der Status des zugrunde liegenden PaymentIntent von processing in succeeded oder in einen Fehlerstatus.
Nächste Schritte
Als nächstes erfahren Sie, wie Sie Plattformgebühren von Ihren verbundenen Konten einziehen können.