PayTo-Zahlungen
So akzeptieren Sie Zahlungen per PayTo.
PayTo is a real-time payment method in Australia for accepting one-time and recurring payments. When paying with PayTo, customers authenticate and approve mandates using their mobile banking app or online banking.
You get delayed notification on whether the payment succeeded or failed. Stripe typically sends a notification of the final status of the payment within 60 seconds of the mandate authorization.
Stripe einrichtenServerseitig
Zunächst benötigen Sie ein Stripe-Konto. Registrieren Sie sich jetzt.
Um von Ihrer Anwendung auf die Stripe API zuzugreifen, verwenden Sie unsere offiziellen Bibliotheken:
PaymentIntent erstellenServerseitig
Ein PaymentIntent ist ein Objekt, das Ihre Absicht darstellt, eine Kundenzahlung einzuziehen, und den Zahlungsvorgang dokumentiert. Um einen PaymentIntent zu erstellen, der eine ShopeePay-Zahlungsmethode akzeptiert, geben Sie den einzuziehenden Betrag, aud als Währung und payto in der Liste der payment_method_types an. Wenn Sie eine Liste mit Zahlungsmethodentypen haben, die Sie beim Erstellen eines PaymentIntent übergeben, fügen Sie dieser Liste payto hinzu.
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.
Angaben zur Zahlungsmethode erfassen und die Zahlung übermittelnClientseitig
Wenn Sie die Zahlung bestätigen, übergeben Sie das Client-Geheimnis.
Vorsicht
Gehen Sie sorgfältig mit dem Client-Geheimnis um, da es den Zugriff auf den PaymentIntent ermöglicht. Es darf nicht protokolliert, in URLs eingebettet oder Personen außer der Kundin/dem Kunden selbst zugänglich gemacht werden.
Verwenden Sie stripe., um die Zahlungsautorisierung mit Ihrer Kundin/Ihrem Kunden zu initiieren.
Die Kundin/der Kunde erhält eine Benachrichtigung über die Zahlungsanfrage und genehmigt oder lehnt diese über die Banking-App ab.
// Inititates the payment request notification to the customer stripe.confirmPayToPayment( '{{PAYMENT_INTENT_CLIENT_SECRET}}', { payment_method: { billing_details: { // Name is required for all PayTo payments name: 'Jenny Rosen', // Email is required only for PayID payments, for refund processing email: 'jenny@example.com' }, payto: { // Either provide a PayID (typically an email or phone number) pay_id: 'jenny@example.com' // ...or provide bank account details account_number: '000123456', bsb_number: '000000' } } } ).then(function(result) { if (result.error) { // Inform the customer that there was an error. console.log(result.error.message); } });
Standardmäßig fragt Stripe.js nach Aktualisierungen des PaymentIntent. Das von confirmPayToPayment zurückgegebene Promise wird aufgelöst, wenn die PaymentIntent den Status succeeded erreicht, oder wenn die Zahlung fehlschlägt und die PaymentIntent wieder in den Status requires_ wechselt. Nähere Informationen dazu, wie diese Übergänge stattfinden, finden Sie im Ablauf eines PaymentIntent.
Deaktivieren Sie die automatische Abfrage, indem Sie handleActions: false festlegen, um sich selbst abzufragen:
stripe.confirmPayToPayment( '{{PAYMENT_INTENT_CLIENT_SECRET}}', { payment_method: { payto: { account_number: '000123456', bsb_number: '000000' } } } { handleActions: false } // <---- Like this )
Rufen Sie in diesem Fall die PaymentIntents API auf, um den Status der PaymentIntent selbst abzurufen.
Integration testen
Testen Sie Ihre PayTo-Integration mit Ihren Test-API-Schlüsseln, indem Sie die verschiedenen Test-PayIDs und Bankkontodaten unten verwenden. Jeder Datensatz hat ein anderes Szenario zufolge, mit dem Ihre Integration im Live-Modus häufig konfrontiert wird.
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.