GrabPay-Zahlungen annehmen
So akzeptieren Sie Zahlungen per GrabPay, einer gängigen Zahlungsmethode in Südostasien.
Notiz
Abonnements und GrabPay für künftige Zahlungen werden derzeit nicht unterstützt. Wenden Sie sich an den Stripe-Support bei Fragen zu diesen Funktionen.
Bei GrabPay handelt es sich um eine Zahlungsmethode für die einmalige Nutzung. Bei Zahlungen mit GrabPay werden Kund/innen zur Autorisierung der Zahlung von Ihrer Anwendung zu GrabPay geleitet und dann wieder auf Ihre Anwendung zurückgeleitet, wo Sie eine sofortige Benachrichtigung über den Erfolg oder das Fehlschlagen der Zahlung erhalten.
Notiz
Erfahren Sie mehr zur Aktivierung von GrabPay im Dashboard.
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
Ein PaymentIntent stellt Ihre Absicht dar, Zahlungen von Kundinnen und Kunden einzuziehen, und dokumentiert den gesamten Zahlungsvorgang.
Erstellen Sie einen PaymentIntent
auf Ihrem Server und geben Sie den einzuziehenden amount
und die Währung sgd
oder myr
ein. Beachten Sie, dass es keinen Mindestabbuchungsbetrag für GrabPay gibt, sodass der Zahlungsbetrag durchaus so gering wie 1 sein kann. Falls Sie bereits eine Payment Intents-Integration haben, fügen Sie der Liste der Zahlungsmethodentypen grabpay
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.
Zahlung an Stripe sendenClientseitig
Wenn Kundinnen/Kunden über das „Click to Pay“-Verfahren mit GrabPay bezahlen, verwenden Sie Stripe.js, um die Zahlungen an Stripe zu übermitteln. Stripe.js ist die grundlegende JavaScript-Bibliothek für die Erstellung von Zahlungsabläufen. Sie verarbeitet automatisch komplexe Szenarien wie die nachfolgend beschriebene Weiterleitung und ermöglicht die Erweiterung Ihrer Integration durch zusätzliche Zahlungsmethoden. Binden Sie das Stripe.js-Skript in Ihre Bezahlseite ein, indem Sie es im head
Ihrer HTML-Datei einfügen.
<head> <title>Checkout</title> <script src="https://js.stripe.com/basil/stripe.js"></script> </head>
Erstellen Sie auf Ihrer Checkout-Seite mit dem folgenden JavaScript eine Instanz von Stripe.js.
// Set your publishable key. Remember to change this to your live publishable key in production! // See your keys here: https://dashboard.stripe.com/apikeys const stripe = Stripe(
);'pk_test_TYooMQauvdEDq54NiTphI7jx'
Um eine Zahlung auf Client-Seite zu erstellen, fügen Sie die Schaltfläche Pay with GrabPay hinzu und verwenden stripe.
, um die Weiterleitung von Ihrer Seite zu verarbeiten und die Zahlung zu ermöglichen.
<button type="button" id="grabpay-button">Pay with GrabPay</button> <div id="error-message"></div>
const button = document.getElementById('grabpay-button'); button.addEventListener('click', async function() { // By this point, the PaymentIntent should have already been created // Pass the clientSecret of the PaymentIntent to confirmGrabPayPayment stripe.confirmGrabPayPayment(clientSecret, { // Return URL where the customer should be redirected after the authorization return_url: 'https://example.com/checkout/complete', }); });
Übergeben Sie das Client-Geheimnis des in Schritt 2 erstellten PaymentIntent
-Objekts nach stripe.
.
Fügen Sie dieser Funktion außerdem eine return_
hinzu, um das Ziel anzugeben, an das Nutzer/innen weitergeleitet werden, nachdem sie die Zahlung auf der Website von Grab durchgeführt haben.
Wenn Ihr Kunde/Ihre Kundin eine Zahlung übermittelt, leitet Stripe ihn an die return_
weiter und fügt die folgenden URL-Abfrageparameter ein. Die Rückgabeseite kann diese nutzen, um den Status des PaymentIntent abzurufen, damit der Kunde/die Kundin den Zahlungsstatus anzeigen kann.
Wenn Sie die return_
angeben, können Sie auch Ihre eigenen Abfrageparameter für die Verwendung auf der Rückgabeseite anhängen.
Parameter | Beschreibung |
---|---|
payment_ | Die eindeutige ID für den PaymentIntent . |
payment_ | Das Client-Geheimnis des PaymentIntent -Objekts. Bei Abonnementintegrationen wird dieses client_secret auch über confirmation_ im Invoice -Objekt sichtbar gemacht |
Wenn Kundinnen und Kunden auf Ihre Seite weitergeleitet werden, können Sie payment_
nutzen, um den PaymentIntent abzufragen und Ihren Kundinnen und Kunden den Transaktionsstatus anzuzeigen.
<h2>Payment result</h2> <div class="payment-result"> </div> <script> // Check if we're returning from a redirect. const url = new URL(window.location.href); const paymentIntentClientSecret = url.searchParams.get( "paymentIntentClientSecret" ); if (paymentIntentClientSecret) { stripe.retrievePaymentIntent(paymentIntentClientSecret).then(function(result) { const paymentIntent = result.paymentIntent; document.querySelector(".payment-result").textContent = paymentIntent.status; }); } </script>
Integration testen
Beim Testen führt Sie die clientseitige Weiterleitung zu einer von Stripe gehosteten Test-Zahlungsseite von GrabPay, auf der Sie die Testzahlung entweder autorisieren oder ablehnen können.
Unterstützte Währungen
Stripe-Nutzer/innen in Malaysia und Singapur können Zahlungen mit GrabPay von Kund/innen aus dem jeweils anderen Land annehmen. Lesen Sie nachfolgend, welche Währungen unterstützt werden und welche Transaktionslimits GrabPay auferlegt:
Land | Kundenstandort | Unterstützte Währung | Transaktionslimits |
---|---|---|---|
Singapur (SG) | Singapur (SG) | SGD | GrabPay SG |
Malaysia (MY) | Malaysia (MY) | MYR | GrabPay MY |