Accepter des paiements pour des biens numériques sur iOS à l'aide d'une page de paiement préconfigurée
Ouvrez Stripe Checkout dans un navigateur pour vendre des biens et services numériques dans l’application.
Remarque
Apprenez à construire une intégration similaire qui utilise Managed Payments. Apprenez à construire une intégration similaire qui utilise Managed Payments. Managed Payments permet à Stripe d’agir en tant que {% glossary term="marchand officiel %}marchand officiel{ % /glossaire %}.
For digital products, content, and subscriptions sold in the United States or European Economic Area (EEA), your iOS app can accept Apple Pay using Stripe Checkout.
If you have a limited number of products and prices, you can instead use Payment Links.
In other regions, your app can’t accept Apple Pay for digital products, content, or subscriptions.
This guide describes how to sell credits for consumption in your app using Stripe Checkout to redirect your customers to a Stripe-hosted payment page.
Remarque
If your business is new to Stripe, processes a high volume of payments, and has advanced integration needs, contact our sales team.

Lien à partir de l’application pour les paiements ponctuels

Lien à partir de l’application pour les paiements récurrents ou d’abonnement
Ce que vous allez créer
Remarque
Ce guide n’explique le processus que pour la vente de biens numériques intégrés à l’application. Si vous vendez :
- Produits physiques
- Biens et services destinés à la consommation en dehors de votre application
- Services en temps réel de personne à personne entre deux individus
Utilisez plutôt le guide de paiement iOS natif.
Ce guide explique comment :
- Collectez des informations de paiement avec Checkout.
- Modélisez vos forfaits de crédits avec des produits, des tarifs et des clients.
- Utilisez les liens universels pour rediriger directement vers votre application depuis Checkout.
- Surveillez des webhooks pour mettre à jour le solde de la devise du client dans l’application.
Ce qui n’est pas couvert
Ce guide vous explique comment ajouter Stripe Checkout à côté de votre système d’achat actuel dans l’application. Il ne couvre pas les points suivants :
- Authentification d’utilisateur. Si vous ne disposez pas encore d’un fournisseur d’authentification, vous pouvez faire appel à un tiers (par exemple, avec l’option Se connecter avec Apple ou Authentification Firebase).
- Achats dans l’application native. Pour implémenter des achats dans l’application avec StoreKit, consultez le guide d’Apple sur les achats intégrés à l’application.
Tout d’abord, inscrivez-vous pour créer un Compte Stripe.
Ajoutez ensuite la bibliothèque d’API Stripe à votre back-end :
Installez ensuite l’interface de ligne de commande Stripe. Cette dernière vous permet d’exécuter les tests webhook dont vous aurez besoin et vous pouvez l’utiliser pour créer vos produits et vos tarifs.
Pour davantage d’options d’installation, consultez la page consacrée à l’interface de ligne de commande Stripe.
Créez vos produits et leurs tarifs dans le Dashboard ou via l’interface de ligne de commande Stripe. Vous pouvez modéliser les biens numériques à l’aide de tarifs ponctuels et les abonnements à l’aide de tarifs récurrents. Vous pouvez également laisser votre client payer le montant de son choix (par exemple, pour décider du nombre de crédits à acheter), en sélectionnant Les clients indiquent le montant à payer.
Cet exemple utilise un seul produit et un tarif pour représenter un lot de 100 coins.
Chaque fois que vous créez une session Checkout, créez un objet Customer pour votre utilisateur si celui-ci n’existe pas encore.
Avertissement
Veillez à conserver sur votre serveur l’association entre le compte d’utilisateur et l’ID de client Stripe. Sans cela, vous ne pourrez pas associer vos clients à des achats et vos clients ne pourront donc pas récupérer leurs achats.
Si votre application ne dispose pas de fournisseur d’authentification, vous pouvez utiliser l’option Se connecter avec Apple.
Vous pouvez enregistrer les informations du moyen de paiement pour que Checkout associe automatiquement ce moyen de paiement à l’objet Customer afin de pouvoir le réutiliser.
Les liens universels autorisent Checkout à vous renvoyer directement vers votre application. Pour configurer un lien universel :
- Ajoutez un fichier
apple-app-site-association
à votre domaine. - Ajoutez un droit de domaine associé à votre application.
- Ajoutez une page de renvoi pour vos URL de redirection Checkout.
Définissez les domaines associés
Ajoutez un fichier à votre domaine sur .well-known/apple-app-site-association pour définir les URL que votre application peut gérer. Ajoutez l’ID d’application avec votre ID d’équipe que vous pourrez trouver sur la page d’abonnement du portail développeur d’Apple.
Vous devez traiter le fichier avec le type MIME application/json
. Utilisez curl -I
pour confirmer le type de contenu.
Pour en savoir plus, consultez la page d’Apple relative aux domaines associés pris en charge.
Ajouter un droit de domaine associé à votre application
- Ouvrez le volet Signatures et fonctionnalités de la cible de votre application.
- Cliquez sur + Fonctionnalité, puis sélectionnez Domaines associés.
- Ajoutez une entrée pour
applinks:example.
à la liste Domaines associés.com
Pour en savoir plus sur les liens universels, consultez la page d’Apple sur les liens universels pour les développeurs.
Bien qu’iOS intercepte les liens vers les URL définies dans votre fichier apple-app-site-association
, il se peut que la redirection ne parvienne pas à ouvrir votre application.
Assurez-vous de créer une page de repli à votre success_
. Par exemple, vous pouvez définir un schéma d’URL personnalisé pour votre application et l’utiliser pour créer un lien de retour en cas d’échec du lien universel.
Une session Checkout est la représentation programmatique de ce que votre client voit lorsqu’il est redirigé vers le formulaire de paiement. Les sessions Checkout expirent 24 heures après leur création. Configurez-le à l’aide des éléments suivants :
- ID du client
- ID du produit (paiement ponctuel ou abonnement)
- Un
origin_
défini surcontext mobile_
pour activer une interface utilisateur optimisée pour les achats interentreprises.app - Une URL
success_
, à savoir un lien universel vers lequel rediriger votre client après avoir finalisé le paiement.url
Erreur fréquente
Créez la session de paiement avec origin_
pour accepter une interface utilisateur optimisée pour les achats interentreprises.
Après avoir créé une session Checkout, renvoyez l’URL contenue dans la réponse vers votre application.
Remarque
Apple Pay est activé par défaut et s’affiche automatiquement dans Checkout lorsqu’un client utilise un appareil pris en charge. Vous pouvez accepter des moyens de paiement supplémentaires à l’aide de moyens de paiement dynamiques.
Ajoutez un bouton de paiement à votre application. Ce bouton :
- Appelez un endpoint côté serveur pour créer une session Checkout.
- Renvoie la session Checkout au client.
- Ouvre l’URL de la session dans Safari.
Récupérer l’URL Checkout côté client
Utilisez votre endpoint serveur pour récupérer la session de paiement.
Une fois l’achat effectué, Stripe vous envoie un webhook checkout.
. Lorsque vous l’avez reçu, vous pouvez ajouter les coins au client sur votre serveur.
Checkout redirige votre client vers l’URL success_
lorsque vous confirmez avoir reçu l’événement. Si votre endpoint est hors service ou si l’événement n’est pas confirmé correctement, Checkout redirige le client vers l’URL success_
10 secondes après la finalisation du paiement.
Pour les tests, vous pouvez surveiller les événements dans le Dashboard ou utiliser l’interface de ligne de commande Stripe. Pour le mode production, configurez un endpoint de webhook et abonnez-vous aux types d’événement appropriés. Si vous ne connaissez pas votre clé STRIPE_
, cliquez sur le webhook dans le Dashboard pour l’afficher.
Tests
Testez votre bouton de paiement qui redirige votre client vers Stripe Checkout.
- Cliquez sur le bouton de paiement qui vous redirige vers le formulaire de paiement Stripe Checkout.
- Saisissez le numéro de carte de test , un code CVC à trois chiffres, une date d’expiration et un code postal valide.
- Appuyez sur Payer.
- Le webhook
checkout.
s’active et Stripe notifie votre serveur de la transaction.session. completed - Vous êtes redirigé(e) vers votre application.
Si votre intégration ne fonctionne pas, consultez la section Ressources de test supplémentaires ci-dessous.
Stripe met à votre disposition plusieurs cartes de test que vous pouvez utiliser pour vous assurer que votre intégration est prête à passer en production. Utilisez-les avec n’importe quels code CVC, code postal et date d’expiration future.
Numéro | Description |
---|---|
Fait aboutir le paiement et le traite immédiatement. | |
Effectue une authentification 3D Secure 2 pour que le paiement aboutisse. | |
Échec systématique avec le code de refus de paiement insufficient_ . |
Pour obtenir la liste complète des cartes de test, consultez notre guide consacré aux tests.
Tester des liens universels
Si votre lien universel ne vous renvoie pas vers votre application depuis Checkout, vérifiez que les logs SharedWebCredentials
ne contiennent pas d’erreurs.
Ajouter un paramètre de débogage au droit de domaine associé
- Ouvrez le volet Signatures et fonctionnalités de la cible de votre application.
- Ajoutez le flag
?mode=developer
dans votre saisie pour votre domaine associé. (Exemple :applinks:example.
)com?mode=developer
Passez l’appareil en mode développeur.
- Exécutez une application de Xcode sur votre appareil pour activer le menu développeur.
- Sur votre iPhone, ouvrez le volet Réglages, touchez Développeur, puis activez Développement des domaines associés.
Supprimez et désinstallez votre application. De cette manière, iOS récupérera à nouveau le fichier apple-app-site-association.
Finalisez le tunnel de paiement dans votre application.
Checkout vous redirige vers votre application. Si ce n’est pas le cas, lancez un diagnostic système.
Appuyez simultanément sur les boutons d’augmentation du volume, de réduction du volume et de marche/arrêt pendant 1 seconde, puis relâchez-les. Vous sentirez une courte vibration, mais aucun élément visuel ne s’affichera.
Patientez 5 minutes, puis accédez à Paramètres > Confidentialité > Analyses et Amélioration > Données d’analyse. Ensuite, faites défilez la page jusqu’au dernier fichier de diagnostic système de la liste.
Touchez le bouton de partage pour envoyer le fichier avec AirDrop sur votre ordinateur.
Ouvrez l’archive du diagnostic système, puis le fichier
swcutil_
show. txt Recherchez l’ID de votre application dans ce fichier. Vous verrez une section contenant des informations de débogage pour votre application, dont un message d’erreur, le cas échéant.
Acceptez des paiements avec Managed Payments, qui peut gérer de nombreuses fonctions d’entreprises (telles que les taxes et les litiges) en votre nom. En savoir plus sur comment utiliser Managed Payments comme marchand d’enregistrement pour les achats en application.