PayTo-ZahlungenNur auf Einladung
So akzeptieren Sie Zahlungen per PayTo.
PayTo ist eine Echtzeit-Zahlungsmethode in Australien für die Annahme von einmaligen und wiederkehrenden Zahlungen. Bei der Zahlung mit PayTo authentifizieren und genehmigen Kundinnen und Kunden Vereinbarungen mit ihrer mobilen Banking-App.
Sie erhalten eine verzögerte Benachrichtigung darüber, ob die Zahlung erfolgreich war oder nicht. Stripe sendet normalerweise innerhalb von 30 Sekunden nach der Autorisierung der Vereinbarung eine Benachrichtigung über den endgültigen Status der Zahlung.
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.