Paiements MobilePay
Comment accepter MobilePay, un moyen de paiement très répandu au Danemark et en Finlande.
MobilePay est un wallet par carte à usage unique utilisé au Danemark et en Finlande. Il permet à votre client de s’authentifier et d’approuver des paiements à l’aide de l’application MobilePay.
Lorsque votre client paie avec MobilePay, Stripe effectue une transaction par carte en utilisant les données de carte que nous recevons de MobilePay. Le traitement de la transaction par carte est invisible pour votre intégration, et Stripe vous informe immédiatement de la réussite ou de l’échec du paiement.
Stripe vous recommande d’utiliser le composant Mobile Payment Element, un formulaire de paiement intégrable, pour ajouter MobilePay (et d’autres moyens de paiement) à votre intégration le plus facilement possible.
Ce guide explique comment accepter MobilePay depuis votre application mobile native à l’aide de votre formulaire de paiement personnalisé. Votre application mobile native redirige votre client vers l’application mobile MobilePay pour effectuer le paiement. La finalisation de l’achat ne nécessite aucune action supplémentaire dans l’application mobile MobilePay.
Configurer StripeCôté serveurCôté client
Tout d’abord, il vous faut un compte Stripe. Inscrivez-vous.
Côté serveur
Pour cette intégration, votre serveur doit être doté d’endpoints qui communiquent avec l’API Stripe. Utilisez les bibliothèques officielles pour accéder à l’API Stripe depuis votre serveur :
Côté client
Le SDK iOS de Stripe est disponible en open source et fait l’objet d’une documentation complète. Il est également compatible avec les applications prenant en charge iOS 13 et les versions ultérieures.
Remarque
Pour obtenir de plus amples informations sur la version la plus récente du SDK et ses versions antérieures, consultez la page des versions sur GitHub. Pour recevoir une notification lors de la publication d’une nouvelle version, surveillez les versions à partir du référentiel.
Configurez le SDK avec votre clé publiable Stripe au démarrage de votre application. Cela lui permet d’envoyer des requêtes à l’API Stripe.
Remarque
Utilisez vos clés de test lors de vos activités de test et de développement et vos clés du mode production pour la publication de votre application.
Créer un PaymentIntentCôté serveurCôté client
Côté serveur
Un PaymentIntent est un objet qui représente votre intention de collecter un paiement auprès d’un client et qui suit le cycle de vie du processus de paiement à chaque étape.
Pour créer et confirmer un PaymentIntent
sur votre serveur :
- Spécifiez le montant à collecter et une devise prise en charge (
eur
,dkk
,sek
ounok
). - Ajoutez
mobilepay
à la liste des types de moyens de paiement pour votrePaymentIntent
. Assurez-vous d’activer MobilePay dans les Dashboard. - Définissez
payment_
surmethod_ data[type] mobilepay
pour créer un PaymentMethod et l’utiliser immédiatement avec ce PaymentIntent.
Le PaymentIntent inclut une clé secrète du client. Envoyez la clé secrète du client au client pour confirmer le PaymentIntent à l’étape suivante.
Côté client
Côté client, demandez un PaymentIntent auprès de votre serveur et sauvegardez la clé secrète du client.
Envoyer le paiement à StripeCôté client
Lorsque votre client appuie sur le bouton pour payer via MobilePay, confirmez le PaymentIntent
pour finaliser le paiement. Configurez un objet STPPaymentIntentParams
avec la clé secrète du client du PaymentIntent
.
La clé secrète du client est différente de vos clés API qui servent à authentifier les requêtes de l’API Stripe. Elle doit être utilisée avec prudence, car elle peut servir à effectuer le paiement. Ne l’enregistrez pas, ne l’intégrez pas dans des URL et ne la dévoilez à personne d’autre que votre client.
Configurer une URL de renvoi
Le client peut quitter votre application pour s’authentifier (par exemple, dans Safari ou dans son application bancaire). Pour lui permettre de revenir automatiquement sur votre application après s’être authentifié, configurez un schéma d’URL personnalisé et configurez votre délégué d’application pour qu’il transmette l’URL au SDK. Stripe ne prend pas en charge les liens universels.
Confirmer le paiement
Utilisez la clé secrète du client du PaymentIntent de l’étape 2 pour confirmer le PaymentIntent à l’aide de STPPaymentHandler.shared.confirmPayment(). Cela ouvre alors directement l’application MobilePay (le cas échéant) ou une vue web affichant la page d’accueil MobilePay. Une fois que le client a autorisé le paiement, le bloc de finalisation contient l’état du paiement.
Votre client dispose de 5 minutes pour autoriser le paiement dans l’application MobilePay. Si le paiement par carte sous-jacent échoue, votre client peut choisir une autre carte et réessayer dans l’application MobilePay.
Gé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.
Manuellement
Utilisez le Dashboard Stripe 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.
Tester l'intégration
Créez un PaymentIntent à l’aide de vos clés API de test. Après avoir confirmé le PaymentIntent, suivez l’URL de redirection next_
qui vous mènera vers une page de test avec des options permettant de valider ou non le paiement.
- Cliquez sur Autorisation du paiement test pour simuler la réussite du paiement. L’état du PaymentIntent passe de
requires_
àaction succeeded
. - Cliquez sur Échec du paiement test pour simuler un échec d’authentification du client. L’état du PaymentIntent passe de
requires_
àaction requires_
.payment_ method
Échecs de paiement
Les transactions MobilePay peuvent échouer si la transaction par carte sous-jacente est refusée. En savoir plus sur les refus de paiement par carte. Dans ce cas, le PaymentMethod est dissocié et l’état du PaymentIntent passe automatiquement à requires_
.
Lorsque l’état du PaymentIntent est requires_
, votre client doit authentifier le paiement dans les 5 minutes. Si aucune action n’est effectuée au bout de 5 minutes, le PaymentMethod est dissocié et l’état du PaymentIntent passe automatiquement à requires_
.
Remboursements et litiges
Stripe effectue une transaction par carte à l’aide de réseaux de carte standard dans le cadre d’une transaction MobilePay. Les remboursements et litiges sont soumis aux règles des réseaux Visa et Mastercard.