Accepter un paiement Alipay
Découvrez comment accepter des paiements par Alipay, un portefeuille électronique très répandu en Chine.
Alipay est un moyen de paiement à usage unique qui nécessite l’authentification du paiement par le client. Pour effectuer un paiement, les clients sont redirigés depuis votre site Web ou application, autorisent le paiement via Alipay, puis reviennent vers votre site Web ou application. Vous recevez alors une notification immédiate indiquant si le paiement a abouti ou échoué.
Configurer StripeCôté serveur
Pour commencer, il vous faut un compte Stripe. Créez votre compte Stripe.
Utilisez nos bibliothèques officielles pour accéder à l’API Stripe à partir de votre application :
Créer un PaymentIntentCôté serveur
Un PaymentIntent est un objet qui représente votre intention d’encaisser un paiement auprès de votre client et suit le cycle de vie du processus de paiement. Créez un PaymentIntent
sur votre serveur et précisez le montant à encaisser ainsi qu’une devise prise en charge. Si vous avez une intégration Payment Intents existante, ajoutez alipay
à la liste des types de moyens de paiement.
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.
Rediriger l'utilisateur vers le portefeuille AlipayCôté client
Lorsqu’un client clique pour payer avec Alipay, 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.
<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.
// 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'
Utilisez la clé secrète du client du PaymentIntent
et appelez stripe.
pour gérer la redirection vers Alipay. Ajoutez une return_
vers laquelle Stripe redirigera votre client une fois son paiement effectué.
const form = document.getElementById('payment-form'); form.addEventListener('submit', async function(event) { event.preventDefault(); // Set the clientSecret of the PaymentIntent const { error } = await stripe.confirmAlipayPayment(clientSecret, { // Return URL where the customer should be redirected after the authorization return_url: `${window.location.href}`, }); if (error) { // Inform the customer that there was an error. const errorElement = document.getElementById('error-message'); errorElement.textContent = error.message; } });
L’URL return_
correspond à une page de votre site Web qui affiche le résultat du paiement. Pour déterminer l’information à afficher, vous pouvez vérifier l’état du PaymentIntent
. Pour ce faire, la redirection de Stripe vers la page return_
inclut les paramètres de requête d’URL suivants. Vous pouvez également ajouter vos propres paramètres de requête à la return_
. Ils seront conservés pendant tout le processus de redirection.
Paramètre | Description |
---|---|
payment_ | L’identifiant unique du PaymentIntent . |
payment_ | La clé secrète du client de l’objet PaymentIntent . |
FacultatifGérer la redirection manuellementCôté serveur
Le meilleur moyen de gérer les redirections est d’utiliser Stripe.js avec confirmAlipayPayment
. Si vous devez rediriger vos clients manuellement :
- Indiquez l’URL vers laquelle vos clients seront redirigés une fois leur paiement terminé.
- Vérifiez que l’état du
PaymentIntent
est bienrequires_
. Le type deaction next_
seraaction alipay_
.handle_ redirect
"next_action": { "type": "alipay_handle_redirect", "alipay_handle_redirect": { "url": "https://hooks.stripe.com/...", "return_url": "https://example.com/checkout/complete" } }
- Redirigez le client vers l’URL indiquée dans la propriété
next_
.action
À l’issue du processus de paiement, le client est redirigé vers la destination return_
. Les paramètres de requête d’URL payment_
et payment_
sont inclus et vous pouvez par ailleurs transmettre vos propres paramètres de requête, comme indiqué plus haut.
FacultatifGérer les événements post-paiement
Stripe envoie un événement payment_intent.succeeded à l’issue du paiement. Utilisez le Dashboard, un webhook personnalisé ou une solution partenaire pour recevoir ces événements et exécuter des actions, comme envoyer une confirmation de commande par e-mail à votre client, enregistrer la vente dans une base de données ou lancer un workflow de livraison.
Plutôt que d’attendre un rappel de votre client, écoutez ces événements. En effet, côté client, l’acheteur pourrait fermer la fenêtre de son navigateur ou quitter l’application avant l’exécution du rappel. Des personnes malveillantes peuvent en profiter pour manipuler la réponse. Si vous configurez votre intégration de manière à écouter les événements asynchrones, cela vous permettra également d’accepter de nouveaux moyens de paiement plus facilement à l’avenir. Apprenez-en davantage sur les différences entre les différents moyens de paiement pris en charge.
Recevoir des événements et exécuter des actions métier
Plusieurs options s’offrent à vous pour recevoir et exécuter des actions métier.
Manuellement
Utilisez le Dashboard pour consulter tous vos paiements Stripe, envoyer des reçus par e-mail, gérer les virements et relancer les paiements ayant échoué.
Code personnalisé
Créez un gestionnaire de webhooks pour écouter des événements et créer des tunnels de paiement asynchrones personnalisés. Testez et déboguez votre intégration de webhooks en local, grâce à la CLI Stripe.
Applications préconfigurées
Intégrez une application partenaire pour gérer les événements métier courants, comme l’automatisation, le marketing ou les ventes.
Devises prises en charge
Votre compte doit disposer d’un compte bancaire dans l’une des devises suivantes. Vous pouvez créer des paiements Alipay dans les devises correspondant à votre pays. La devise locale par défaut pour Alipay est cny
et les clients voient également le montant de leur achat en cny
.
Devise | Pays |
---|---|
cny | Tous les pays |
aud | Australie |
cad | Canada |
eur | Allemagne, Autriche, Belgique, Bulgarie, Chypre, Danemark, Espagne, Estonie, Finlande, France, Grèce, Irlande, Italie, Lettonie, Lituanie, Luxembourg, Malte, Norvège, Pays-Bas, Portugal, République tchèque, Roumanie, Slovaquie, Slovénie, Suède, Suisse |
gbp | Royaume-Uni |
hkd | Hong Kong |
jpy | Japon |
myr | Malaisie |
nzd | Nouvelle-Zélande |
sgd | Singapour |
usd | États-Unis |
Si vous détenez un compte bancaire dans une autre devise et souhaitez créer un paiement Alipay dans cette devise, veuillez contacter le service Support. Les devises supplémentaires sont prises en charge au cas par cas.