Cash App Pay-Zahlungen
Fügen Sie Ihrer Integration Unterstützung für Cash App Pay hinzu.
In diesem Leitfaden zeigen wir Ihnen, wie Sie mit dem Payment Element ein nutzerdefiniertes Zahlungsformular von Stripe in Ihre Website oder Anwendung einbetten. Mit dem Payment Element können Sie Zahlungsmethoden wie Cash App Pay automatisch annehmen. Informationen zu erweiterten Konfigurationen und Anpassungen finden Sie im Integrationsleitfaden Zahlungen annehmen.
Stripe einrichtenServerseitig
Zunächst benötigen Sie ein Stripe-Konto. Registrieren Sie sich jetzt.
Nutzen Sie unsere offiziellen Bibliotheken für den Zugriff auf die Stripe-API über Ihre Anwendung:
Erstellen Sie ein PaymentIntentServerseitig
Stripe verwendet ein PaymentIntent-Objekt, um Ihre Absicht darzustellen, eine Kundenzahlung einzuziehen. Dabei werden die Abbuchungsversuche und Zahlungsstatusänderungen während des gesamten Vorgangs dokumentiert.
Client-Geheimnis abrufen
Im PaymentIntent ist ein Client-Geheimnis enthalten, das auf dem Client verwendet wird, um Zahlungen sicher abzuschließen. Es gibt verschiedene Verfahren zum Übergeben des Client-Geheimnisses an den Client.
Zahlungsdetails erfassenClientseitig
Erfassen Sie Zahlungsdetails auf dem Client mit dem Payment Element. Das Payment Element ist eine vorgefertigte Komponente der Nutzeroberfläche, die die Erfassung von Zahlungsdaten für eine Vielzahl von Zahlungsmethoden vereinfacht.
Das Payment Element enthält einen iFrame, der Zahlungsinformationen über eine HTTPS-Verbindung sicher an Stripe sendet. Vermeiden Sie es, das Payment Element in einem anderen iFrame zu platzieren, da einige Zahlungsmethoden die Weiterleitung an eine andere Seite zur Zahlungsbestätigung verlangen.
Die Adresse der Bezahlseite muss mit https://
beginnen, nicht mit http://
, damit Ihre Integration funktioniert. Sie können Ihre Integration ohne HTTPS testen. Denken Sie jedoch daran, dieses zu aktivieren, wenn Sie zur Annahme von Live-Zahlungen bereit sind.
Zahlung an Stripe sendenClientseitig
Verwenden Sie stripe.confirmPayment, um die Zahlung mit Details aus dem Payment Element vorzunehmen. Geben Sie für diese Funktion eine return_url an, um anzugeben, wohin Stripe die Nutzer/innen nach Durchführung der Zahlung weiterleiten soll. Ihre Nutzer/innen werden möglicherweise zunächst an eine zwischengeschaltete Seite weitergeleitet, wie z. B. eine Bankautorisierungsseite, bevor sie zur return_
weitergeleitet werden. Kartenzahlungen werden sofort zur return_
weitergeleitet, wenn eine Zahlung erfolgreich war.
Achten Sie darauf, dass die return_
auf eine Seite Ihrer Website verweist, die den Status der Zahlung angibt. Wenn Stripe den/die Kund/in an die return_
weiterleitet, stellen wir die folgenden URL-Abfrageparameter bereit:
Parameter | Beschreibung |
---|---|
payment_ | Die eindeutige ID für die PaymentIntent . |
payment_ | Das Client-Geheimnis des PaymentIntent -Objekts. |
Vorsicht
Wenn Sie über Tools verfügen, die die Browser-Sitzung der Kund/innen verfolgen, müssen Sie möglicherweise die Domain stripe.
zur Referenz-Ausschlussliste hinzufügen. Weiterleitungen haben zur Folge, dass einige Tools neue Sitzungen erstellen. Dies wiederum hindert Sie daran, die gesamte Sitzung zu verfolgen.
Verwenden Sie einen der Abfrageparameter, um den PaymentIntent abzurufen. Überprüfen Sie den Status des PaymentIntent, um zu entscheiden, was Ihren Kundinnen/Kunden angezeigt werden soll. Sie können bei der Angabe der return_
auch Ihre eigenen Abfrageparameter anhängen, die während des Weiterleitungsvorgangs erhalten bleiben.
Transaktionen umleiten und authentifizieren
Kundinnen/Kunden können Transaktionen per Cash App Pay mit der mobilen App oder der Desktop-App authentifizieren. Der kundenseitig verwendete Client bestimmt die Authentifizierungsmethode, nachdem confirmPayment
aufgerufen wurde.
OptionalSeparate Autorisierung und Erfassung
Sie können Autorisierung und Erfassung trennen, um eine Zahlung sofort zu erstellen, Gelder jedoch erst später zu erfassen. Stripe storniert den PaymentIntent und sendet das Ereignis payment_intent.canceled, wenn die Zahlung nicht innerhalb des 7-tägigen Zeitfensters erfasst wird.
Wenn Sie wissen, dass Sie die Zahlung nicht erfassen können, sollten Sie den PaymentIntent stornieren und nicht warten, bis das Zeitfenster von 7 Tagen abgelaufen ist.
Stripe anweisen, nur die Autorisierung durchzuführen 
Um anzugeben, dass Sie Autorisierung und Erfassung trennen möchten, legen Sie capture_method beim Erstellen des PaymentIntent auf manual
fest. Dieser Parameter weist Stripe an, nur den Betrag auf dem Cash App Pay-Konto der Kundin/des Kunden zu autorisieren.
Die Gelder erfassen 
Nach erfolgreicher Autorisierung wechselt der Status des PaymentIntent zu requires_
. Um die autorisierten Gelder zu erfassen, führen Sie eine Erfassungsanfrage für den PaymentIntent durch.
Der autorisierte Gesamtbetrag wird standardmäßig erfasst. Sie können auch amount_
angeben. Dieser kann kleiner oder gleich der Summe sein.
Optional Autorisierung stornieren
Wenn Sie eine Autorisierung stornieren müssen, können Sie den PaymentIntent stornieren.
OptionalEreignisse nach der Zahlung verarbeiten
Stripe übermittelt ein payment_intent.succeeded-Ereignis, wenn die Zahlung abgeschlossen ist. Verwenden Sie im Dashboard einen Webhook oder eine Partnerlösung, um diese Ereignisse zu empfangen und Aktionen auszuführen (Versenden einer Bestellbestätigung per E-Mail an die Kund/innen, Erfassen des Verkaufs in einer Datenbank oder Einleiten des Versandablaufs).
Überwachen Sie diese Ereignisse, statt auf einen Callback vom Client zu warten. Auf dem Client könnte der Kunde/die Kundin das Browserfenster schließen oder die App beenden, bevor der Callback erfolgt ist und böswillige Clients könnten die Antwort manipulieren. Wenn Sie Ihre Integration so einrichten, dass asynchrone Ereignisse überwacht werden, hilft Ihnen dies auch dabei, in Zukunft mehr Zahlungsmethoden zu akzeptieren. Hier erhalten Sie Informationen zu den Unterschieden zwischen allen unterstützten Zahlungsmethoden.
Manuelles Bearbeiten von Ereignissen im Dashboard
Verwenden Sie das Dashboard, um Ihre Testzahlungen im Dashboard anzuzeigen, E-Mail-Belege zu senden, Auszahlungen zu bearbeiten oder fehlgeschlagene Zahlungen erneut zu versuchen.
Erstellen eines benutzerdefinierten Webhooks
Erstellen Sie einen benutzerdefinierten Webhook-Handler, um auf Ereignisse zu hören und eigene asynchrone Zahlungsabläufe zu implementieren. Testen und debuggen Sie Ihre Webhook-Integration lokal mit der Stripe CLI.
Integrieren einer vorgefertigten App
Bearbeiten Sie häufige Unternehmensereignisse, wie z. B.Automatisierung oderMarketing und Vertrieb, indem Sie eine Partneranwendung integrieren.
Fehlgeschlagene Zahlungen
Cash App Pay verwendet mehrere Datenpunkte, um zu entscheiden, wann eine Transaktion abgelehnt wird (zum Beispiel hat das KI-Modell ein hohes Verbraucherbetrugsrisiko für die Transaktion festgestellt oder der Verbraucher/die Verbraucherin hat die Zustimmung zur Abbuchung über die Cash App widerrufen).
In diesen Fällen wird die PaymentMethod getrennt und der Status des PaymentIntent-Objekts wechselt automatisch zu requires_
.
Anders als bei einer abgelehnten Zahlung müssen Kundinnen/Kunden bei einem Cash App Pay-PaymentIntent mit dem Status requires_
die Zahlung innerhalb von 10 Minuten nach Weiterleitung zur Cash App-Website abschließen. Wenn nach 10 Minuten keine Aktion erfolgt ist, wird die Verbindung mit der PaymentMethod getrennt, und der Status des PaymentIntent-Objekts wechselt automatisch zu requires_
.
In diesem Fall zeigt das Payment Element Fehlermeldungen an und fordert Ihre Kundinnen/Kunden auf, es mit einer anderen Zahlungsmethode erneut zu versuchen.
Fehlercodes
In der folgenden Tabelle finden Sie häufige Fehlercodes und die empfohlenen Maßnahmen:
Fehlercode | Empfohlene Maßnahme |
---|---|
payment_ | Geben Sie die korrekte Währung ein. Cash App Pay unterstützt nur usd . |
missing_ | In der Fehlermeldung erhalten Sie weitere Informationen zum erforderlichen Parameter. |
payment_ | Dieser Code kann im Feld last_payment_error.code eines PaymentIntent angezeigt werden. Eine genauere Fehlerursache und Vorschläge zur Fehlerbehebung finden Sie in der Fehlermeldung. |
payment_ | Geben Sie eine return_ an, wenn Sie einen PaymentIntent mit Cash App Pay bestätigen. |