Cash App Pay-Zahlungen
Fügen Sie Ihrer Integration Unterstützung für Cash App Pay hinzu.
Wir empfehlen die Verwendung des mobilen Payment Element. Bei diesem handelt es sich um ein Zahlungsformular, über das Sie Cash App Pay (und weitere Zahlungsmethoden) mit wenig Aufwand zu Ihrer Integration hinzufügen können.
In diesem Leitfaden erfahren Sie, wie Sie Cash App Pay über Ihre native Mobilanwendung akzeptieren, wenn Sie Ihr eigenes benutzerdefiniertes Zahlungsformular verwenden möchten.
Wenn Sie Cash App Pay über Ihre native mobile App akzeptieren, werden Ihre Kundinnen/Kunden zur Authentifizierung an die mobile App Cash App weitergeleitet. Der Kauf wird in der mobilen Cash App-Anwendung abgeschlossen und der Kunde/die Kundin wird zu Ihrer systemeigenen mobilen Anwendung zurückgeleitet.
Stripe einrichtenServerseitigClientseitig
Zunächst benötigen Sie ein Stripe-Konto. Registrieren Sie sich jetzt.
Serverseitig
Diese Integration erfordert Endpoints auf Ihrem Server, die mit der Stripe-API kommunizieren können. Nutzen Sie die offiziellen Bibliotheken für den Zugriff auf die Stripe-API von Ihrem Server aus:
Clientseitig
Das Stripe iOS SDK ist Open Source, vollständig dokumentiert und kompatibel mit Apps, die iOS 13 oder höher unterstützen.
Notiz
Details zur aktuellen SDK-Version und zu vorherigen Versionen finden Sie auf der Seite Releases auf GitHub. Um bei Veröffentlichung einer neuen Version eine Benachrichtigung zu erhalten, achten Sie auf die Releases zum jeweiligen Repository.
Konfigurieren Sie das SDK mit Ihrem veröffentlichbaren Schlüssel von Stripe, um es beim Start der App auszuführen. Dadurch kann Ihre App Anfragen an die Stripe-API senden.
Notiz
Verwenden Sie Ihre Testschlüssel beim Testen und Entwickeln Ihrer App und Ihre Live-Modus-Schlüssel beim Veröffentlichen Ihrer App.
Erstellen Sie ein PaymentIntentServerseitigClientseitig
Serverseitig
Ein PaymentIntent ist ein Objekt, das Ihre Absicht, eine Kundenzahlung einzuziehen, darstellt und den gesamten Zahlungsvorgang dokumentiert.
So erstellen und bestätigen Sie einen PaymentIntent
auf Ihrem Server:
- Geben Sie den einzuziehenden Betrag und die Währung an.
- Fügen Sie
cashapp
zur Liste der Zahlungsmethoden für IhrenPaymentIntent
hinzu. Vergewissern Sie sich, dass Cash App Pay im Dashboard aktiviert ist. - Setzen Sie
payment_
aufmethod_ data[type] cashapp
, um eine PaymentMethod zu erstellen und diese sofort mit diesem PaymentIntent zu verwenden.
Der zurückgegebene PaymentIntent enthält ein Client-Geheimnis, das Sie verwenden werden, um den PaymentIntent zu bestätigen. Übermitteln Sie das Client-Geheimnis zurück an den Client, damit Sie es im nächsten Schritt verwenden können.
Clientseitig
Fordern Sie auf dem Client einen PaymentIntent von Ihrem Server an und speichern Sie sein Client-Geheimnis.
Zahlung an Stripe sendenClientseitig
Wenn Kundinnen/Kunden die Schaltfläche zum Bezahlen mit Cash App antippen, bestätigen Sie den PaymentIntent
, um die Zahlung abzuschließen. Konfigurieren Sie ein STPPaymentIntentParams
-Objekt mit dem Client-Geheimnis des PaymentIntent
.
Das Client-Geheimnis unterscheidet sich von Ihren API-Schlüsseln, die die Stripe API-Anfragen authentifizieren. Es darf nicht protokolliert, in URLs eingebettet oder Personen außer der Kundin/dem Kunden selbst zugänglich gemacht werden.
Rückgabe-URL einrichten
Das iOS SDK zeigt zur Durchführung einer Zahlung per Cash App Pay eine Webansicht in Ihrer App an. Wenn die Authentifizierung abgeschlossen ist, muss Ihre Kundin/Ihr Kunde sie nicht schließen, sondern dies geschieht automatisch. Um dieses Verhalten zu aktivieren, konfigurieren Sie ein benutzerdefiniertes URL-Schema oder einen Universal-Link und richten Sie Ihre App so ein, dass die URL an das SDK weitergeleitet wird.
Übergeben Sie die URL als return_
, wenn Sie den PaymentIntent bestätigen. Nach Abschluss der Authentifizierung über die Webansicht leitet Stripe die Nutzerin/den Nutzer an die return_
weiter.
Barzahlung per Cash App Pay bestätigen
Führen Sie durch Aufrufen von STPPaymentHandler confirmPayment
die Zahlung durch. Dies entspricht einer Webansicht, über die die Kund/innen die Zahlung per Cash App Pay durchführen können. Danach wird der Completion-Block mit dem Ergebnis der Zahlung aufgerufen.
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.
Integration testen
Testen Sie Ihre Cash App Pay-Integration mit Ihren Test-API-Schlüsseln, indem Sie die Weiterleitungsseite anzeigen. Sie können die erfolgreiche Zahlung testen, indem Sie die Zahlung auf der Weiterleitungsseite authentifizieren. Der PaymentIntent wechselt von requires_
zu succeeded
.
Um den Fall zu testen, in dem sich Nutzer/innen nicht authentifizieren können, verwenden Sie Ihre Test-API-Schlüssel und zeigen Sie die Weiterleitungsseite an. Klicken Sie auf der Weiterleitungsseite auf Fail test payment (Testzahlung fehlschlagen lassen). Der PaymentIntent wechselt von requires_
zu requires_
.
Bei der manuellen Testerfassung von PaymentIntents läuft der nicht erfasste PaymentIntent 7 Minuten nach erfolgreicher Autorisierung automatisch ab.
Wenn Sie im Live-Modus auf Bezahlen tippen, werden Sie zur mobilen Anwendung von Cash App weitergeleitet. In der Cash App haben Sie keine Möglichkeit, die Zahlung zu genehmigen oder abzulehnen. Die Zahlung wird nach abgeschlossener Weiterleitung automatisch genehmigt.
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. |