Zahlungen per Afterpay oder Clearpay annehmen
Erfahren Sie, wie Sie Zahlungen mit Afterpay annehmen (im Vereinigten Königreich auch unter dem Namen Clearpay bekannt), einer Zahlungsmethode in den USA, CA, UK, AU und NZ.
Wenn Ihre App Afterpay akzeptiert, wird Kund/innen für die Authentifizierung der Zahlung eine Webansicht angezeigt. Anschließend kehrt der/die Kund/in zu Ihrer App zurück und Sie können sofort bestätigen, ob die Zahlung erfolgreich war oder fehlgeschlagen ist.
Notiz
Bevor Sie mit der Integration beginnen, vergewissern Sie sich, dass Ihr Konto für Afterpay geeignet ist. Dies können Sie in Ihren Einstellungen für Zahlungsmethoden prüfen.
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.
PaymentIntent erstellenServerseitigClientseitig
Ein PaymentIntent ist ein Objekt, das Ihre Absicht, eine Kundenzahlung einzuziehen, darstellt und den gesamten Zahlungsvorgang dokumentiert.
Serverseitig
Erstellen Sie einen PaymentIntent auf Ihrem Server und geben Sie den einzuziehenden Betrag sowie eine unterstützte Währung an. Wenn Sie bereits eine Integration mit dem Payment Intents API haben, fügen Sie afterpay_ zur Liste der Zahlungsmethoden für Ihren PaymentIntent hinzu.
Zusätzliche Optionen für Zahlungsmethoden
Sie können einen optionalen Parameter reference in den Optionen für Zahlungsmethoden für Ihren PaymentIntent angeben, der eine Bestellkennung für die Zahlung festlegt. Obwohl dies normalerweise weder für das Unternehmen noch für den Verbraucher sichtbar ist, kann das interne Support-Team von Afterpay bei manuellen Supportanfragen darauf zugreifen. Die Kennung ist auf 128 Zeichen begrenzt und darf nur aus Buchstaben, Ziffern, Unterstrichen, umgekehrten Schrägstrichen und Bindestrichen bestehen.
Clientseitig
Im zurückgegebenen PaymentIntent ist ein Client-Geheimnis enthalten, mit dem der Client den Zahlungsvorgang sicher abschließen kann, anstatt das gesamte PaymentIntent-Objekt zu übergeben. Fordern Sie auf dem Client einen PaymentIntent von Ihrem Server an und speichern Sie das zugehörige Client-Geheimnis.
Angaben zur Zahlungsmethode erfassenClientseitig
Für Afterpay sind die Abrechnungsdaten erforderlich, damit die Zahlung durchgeführt werden kann. Erfassen Sie in Ihrer App die erforderlichen Abrechnungsdaten von den Kundinnen/Kunden:
- Vollständiger Name (Vor- und Nachname)
- E-Mail-Adresse
- Vollständige Rechnungsadresse
Erstellen Sie ein STPPaymentMethodParams-Objekt mit diesen Angaben.
Auch wenn keine Versanddaten erforderlich sind, können Sie die Authentifizierungsraten verbessern. Um Versanddaten zu erfassen, erfassen Sie folgende Daten von der Kundin/dem Kunden:
- Vollständiger Name
- Vollständige Versandadresse
Erstellen Sie ein STPPaymentIntentShippingDetailsAddressParams-Objekt mit diesen Angaben.
Zahlung an Stripe sendenClientseitig
Rufen Sie das Client-Geheimnis von dem in Schritt 2 erstellten PaymentIntent ab und rufen Sie die STPPaymentHandler confirmPayment:-Methode auf. Dies entspricht einer Webansicht, in der die Kundinnen und Kunden ihre Zahlung abschließen können. Anschließend wird der Completion-Block mit dem Ergebnis der Zahlung aufgerufen.
OptionalPosten zum PaymentIntent hinzufügen
Sie können optional Postendaten akzeptieren, um Afterpay mehr Risikosignale zur Verfügung zu stellen. Bei dieser Funktion handelt es sich derzeit um eine private Betaversion. Bitte kontaktieren Sie uns, wenn Sie Zugriff anfordern möchten.
OptionalSeparate Autorisierung und Erfassung
Anders als bei der getrennten Autorisierung und Erfassung für Kartenzahlungen belastet Afterpay die Kundin/den Kunden mit der ersten Rate der Zahlung zum Zeitpunkt der Autorisierung. Sie haben dann nach der Autorisierung maximal 13 Tage Zeit, den Rest der Zahlung zu erfassen. Wenn Sie die Zahlung in diesem Zeitfenster nicht erfassen, erhält der Kunde/die Kundin eine Rückerstattung für diese Rate und ihm/ihr werden keine weiteren Raten berechnet. Der Kundin/Dem Kunden werden dann keine weiteren Raten mehr in Rechnung gestellt. In diesen Fällen storniert Stripe außerdem den PaymentIntent und übermittelt das Ereignis payment_intent.canceled.
Wenn Sie wissen, dass Sie die Zahlung nicht erfassen können, sollten Sie den PaymentIntent stornieren und nicht warten, bis das Zeitfenster von 13 Tagen abgelaufen ist. Durch die proaktive Stornierung des PaymentIntent wird die erste Rate sofort an die Kundin/den Kunden zurückerstattet, sodass keine Verwirrung hinsichtlich der Zahlungen in ihrer Abrechnung entsteht.
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 Afterpay-Konto der Kundin/des Kunden zu autorisieren.
Bei erfolgreicher Autorisierung übermittelt Stripe das Ereignis payment_intent.amount_capturable_updated. Lesen Sie in unserem Leitfaden zu Ereignissen mehr dazu.
Die Gelder erfassen 
Nach erfolgreicher Autorisierung wechselt der Status des PaymentIntent zu requires_. Um die autorisierten Gelder zu erfassen, führen Sie eine PaymentIntent-Erfassungsanfrage durch. Standardmäßig wird der gesamte autorisierte Betrag erfasst. Sie können keinen höheren, aber einen niedrigeren Betrag erfassen.
Optional Autorisierung stornieren
Wenn Sie eine Autorisierung stornieren müssen, können Sie den PaymentIntent stornieren.
OptionalEreignisse nach 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.
OptionalAfterpay-Integration testen
Testen Sie Ihre Afterpay-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 Nutzer/innen sich 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_.
Für die manuelle Erfassung von PaymentIntents im Testmodus läuft der nicht erfasste PaymentIntent 10 Minuten nach erfolgreicher Autorisierung automatisch ab.
Fehlgeschlagene Zahlungen
Afterpay berücksichtigt mehrere Faktoren bei der Entscheidung, ob eine Transaktion akzeptiert oder abgelehnt wird (zum Beispiel die Dauer der Nutzung von Afterpay durch den/die Käufer/in, den ausstehenden Betrag, den der/die Kund/in zurückzahlen muss, oder den Wert der aktuellen Bestellung).
Sie sollten in Ihrem Bezahlvorgang immer weitere Zahlungsoptionen wie card anbieten, da Afterpay-Zahlungen eine höhere Ablehnungsrate haben als viele andere Zahlungsmethoden. In diesen Fällen wird die PaymentMethod getrennt und der Status des PaymentIntent-Objekts wechselt automatisch zu requires_.
Bei einem Afterpay-PaymentIntent mit dem Status requires_ müssen Kundinnen/Kunden die Zahlung innerhalb von 3 Stunden nach Weiterleitung zur Afterpay-Website abschließen. Wenn nach 3 Stunden keine Aktion erfolgt ist, wird die PaymentMethod getrennt, und der Status des PaymentIntent-Objekts wechselt automatisch zu requires_.
Teilen Sie Ihren Kund/innen in diesen Fällen mit, dass sie es mit einer anderen Zahlungsoption versuchen sollten, die in Ihrem Bezahlvorgang zur Verfügung gestellt wird.
Fehlercodes
Im Folgenden finden Sie die häufigsten Fehlercodes und die entsprechenden empfohlenen Maßnahmen:
| Fehlercode | Empfohlene Maßnahme |
|---|---|
payment_ | Ein allgemeiner Fehler, der darauf hinweist, dass der Afterpay-Bezahlvorgang fehlgeschlagen ist. Dabei kann es sich auch um eine Ablehnung handeln, die nicht als Ablehnungsfehlercode angezeigt wird. |
payment_ | Afterpay hat die Kundenzahlung abgelehnt. Als nächsten Schritt muss sich der Kunde/die Kundin an Afterpay wenden, um weitere Informationen einzuholen. |
payment_ | Die Kundin/der Kunde hat die Zahlung auf der Afterpay-Checkout-Seite nicht abgeschlossen und die Payment-Sitzung ist abgelaufen. Stripe setzt PaymentIntents, die nicht erfolgreich autorisiert wurden, automatisch 3 Stunden nach Erstellung des ursprünglichen Checkouts außer Kraft. |
payment_ | Bei Afterpay ist ein Servicefehler aufgetreten und die Anfrage kann nicht abgeschlossen werden. Versuchen Sie es zu einem späteren Zeitpunkt erneut. |
amount_ | Geben Sie einen Betrag ein, der innerhalb der Standard-Transaktionslimits von Afterpay für das jeweilige Land liegt. |
amount_ | Geben Sie einen Betrag ein, der innerhalb der Standard-Transaktionslimits von Afterpay für das jeweilige Land liegt. |