Accéder directement au contenu
Créez un compte
ou
connecter-vous
Logo de la documentation Stripe
/
Demander à l'assistant IA
Créez un compte
Connectez-vous
Démarrer
Paiements
Revenus
Plateformes et places de marché
Gestion de fonds
Ressources pour les développeurs
Aperçu
À propos des paiements Stripe
Mettre votre intégration à niveau
Analyses des paiements
Paiements en ligne
PrésentationTrouver votre cas d'usageManaged Payments
Utiliser Payment Links
Créer une page de paiement
Développer une intégration avancée
Développer une intégration dans l'application
Moyens de paiement
Ajouter des moyens de paiement
    Présentation
    Options d'intégration des moyens de paiement
    Gérer les moyens de paiement par défaut dans le Dashboard
    Types de moyens de paiement
    Cartes bancaires
    Payer avec le solde Stripe
    Cryptomonnaies
    Prélèvements bancaires
    Virements avec redirection bancaire
    Virements bancaires
    Virements (Sources)
    Achetez maintenant, payez plus tard
    Paiements en temps réel
    Coupons
    Portefeuilles
      Alipay
      Amazon Pay
      Apple Pay
      Cash App Pay
      Google Pay
      GrabPay
        Accepter un paiement
      Link
      MB WAY
      MobilePay
      PayPal
      PayPay
      Revolut Pay
      Satispay
      Secure Remote Commerce
      Vipps
      WeChat Pay
    Activer des moyens de paiement locaux par pays
    Moyens de paiement personnalisés
Gérer les moyens de paiement
Paiement accéléré avec Link
Interfaces de paiement
Payment Links
Checkout
Elements pour le web
Elements intégrés à l'application
Scénarios de paiement
Gérer plusieurs devises
Tunnels de paiement personnalisés
Acquisition flexible
Orchestration
Paiements par TPE
Terminal
Au-delà des paiements
Constituez votre entreprise
Cryptomonnaies
Financial Connections
Climate
AccueilPaiementsAdd payment methodsWalletsGrabPay

Accepter un paiement par GrabPay

Découvrez comment accepter les paiements effectués à l'aide de GrabPay, un moyen de paiement très répandu en Asie du Sud-Est.

Remarque

À l’heure actuelle, les abonnements et l’utilisation de GrabPay pour les paiements ultérieurs ne sont pas pris en charge. Contactez le service Support de Stripe pour toute demande d’assistance portant sur ces fonctionnalités.

GrabPay est un moyen de paiement à usage unique. Dans le cadre d’un paiement avec GrabPay, le client est redirigé depuis votre application vers GrabPay, il autorise le paiement, puis il revient sur votre application. Vous recevez alors une notification immédiate vous indiquant si le paiement a abouti ou échoué.

Remarque

En savoir plus sur l’activation de GrabPay dans le Dashboard.

Configurer Stripe
Côté serveur

Pour commencer, vous devez créer un compte Stripe. Inscrivez-vous maintenant.

Utilisez nos bibliothèques officielles pour accéder à l’API Stripe depuis votre application :

Command Line
Ruby
# Available as a gem sudo gem install stripe
Gemfile
Ruby
# If you use bundler, you can add this line to your Gemfile gem 'stripe'

Créer un PaymentIntent
Côté serveur

Un PaymentIntent représente votre intention d’encaisser un paiement auprès d’un client et suit le cycle de vie du processus de paiement.

Créez un PaymentIntent sur votre serveur et précisez le montant à encaisser dans le champ amount et sgd ou myr en tant que devise. Puisqu’il n’y a pas de montant minimum sur GrabPay, le montant du paiement peut être simplement de 1. Si vous disposez déjà d’une intégration Payment Intents, ajoutez grabpay à la liste des types de moyens de paiement.

Command Line
cURL
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "payment_method_types[]"=grabpay \ -d amount=1099 \ -d currency=sgd

Récupérer la clé secrète du client

Le PaymentIntent contient une clé secrète à utiliser côté client pour finaliser le processus de paiement en toute sécurité. Vous pouvez adopter différentes approches pour transmettre cette clé secrète côté client.

Récupérez la clé secrète du client à partir d’un endpoint sur votre serveur, à l’aide de la fonction fetch du navigateur. Cette approche est recommandée si votre côté client est une application d’une seule page, en particulier si elle repose sur un framework front-end moderne tel que React. Créez l’endpoint de serveur qui gère la clé secrète du client :

main.rb
Ruby
get '/secret' do intent = # ... Create or retrieve the PaymentIntent {client_secret: intent.client_secret}.to_json end

Récupérez ensuite la clé secrète du client à l’aide JavaScript côté client :

(async () => { const response = await fetch('/secret'); const {client_secret: clientSecret} = await response.json(); // Render the form using the clientSecret })();

Soumettre le paiement à Stripe
Côté client

Lorsqu’un client clique pour payer avec GrabPay, utilisez Stripe.js pour soumettre le paiement à Stripe. Stripe.js est la bibliothèque JavaScript de base pour créer les tunnels de paiement : elle gère automatiquement les opérations complexes telles que la redirection décrite ci-dessous, et facilite l’extension de votre intégration à d’autres moyens de paiement. Incluez le script Stripe.js sur votre page de paiement en l’ajoutant à la section head de votre fichier HTML.

checkout.html
<head> <title>Checkout</title> <script src="https://js.stripe.com/basil/stripe.js"></script> </head>

Créez une instance de Stripe.js avec le code JavaScript suivant sur votre page de paiement.

client.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'
);

Pour créer un paiement côté client, ajoutez un bouton de paiement avec GrabPay et utilisez stripe.confirmGrabPayPayment pour gérer la redirection depuis votre page et permettre le paiement.

checkout.html
<button type="button" id="grabpay-button">Pay with GrabPay</button> <div id="error-message"></div>
client.js
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', }); });

Transmettez la clé secrète du client de l’objet PaymentIntent que vous avez créé à l’étape 2 par stripe.confirmGrabPayPayment.

Ajoutez également une URL return_url à cette fonction pour indiquer à Stripe vers quelle page rediriger l’utilisateur une fois son paiement effectué sur le site Web de Grab.

Lorsque votre client effectue un paiement, Stripe le redirige vers l’URL return_url et inclut les paramètres de requête d’URL suivants. La page de redirection peut utiliser ces paramètres pour récupérer l’état du PaymentIntent et ainsi afficher l’état du paiement pour le client.

Lorsque vous spécifiez une URL return_url, vous pouvez également ajouter vos propres paramètres de requête à utiliser sur la page de redirection.

ParamètreDescription
payment_intentIdentifiant unique du PaymentIntent.
payment_intent_client_secretLa clé secrète du client de l’objet PaymentIntent. Pour les intégrations d’abonnements, le client_secret est également exposé sur l’objet Invoice via confirmation_secret

Lorsque le client est redirigé vers votre site, vous pouvez utiliser le payment_intent_client_secret pour interroger le PaymentIntent et communiquer l’état de la transaction à votre client.

order_confirmation.html
<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>

Tester votre intégration

Lors du test, la redirection côté client vous dirige vers une page de paiement de test GrabPay hébergée par Stripe, où vous pouvez autoriser ou refuser le paiement test.

FacultatifGérer les événements post-paiement

FacultatifGérer la redirection GrabPay manuellement

Devises prises en charge

Les utilisateurs de Stripe en Malaisie et à Singapour peuvent accepter les paiements GrabPay de leurs clients en Malaisie et à Singapour respectivement. Les devises prises en charge et les limites applicables aux transactions GrabPay sont précisées ci-dessous :

PaysPays du clientDevise prise en chargeLimites de transaction
Singapour (SG)Singapour (SG)SGDGrabPay SG
Malaisie (MY)Malaisie (MY)MYRGrabPay MY
Cette page vous a-t-elle été utile ?
OuiNon
  • Besoin d'aide ? Contactez le service Support.
  • Rejoignez notre programme d'accès anticipé.
  • Consultez notre log des modifications.
  • Des questions ? Contactez l'équipe commerciale.
  • LLM ? Lire llms.txt.
  • Propulsé par Markdoc