Proposez la gestion des abonnements sur iOS à l’aide d’une page de portail client
Configurez un portail client et ouvrez-le dans un navigateur à partir de votre application.
Dans certains pays, vous pouvez ajouter un lien vers un site Web externe pour accepter les paiements de biens numériques intégrés à l’application, y compris les abonnements, sur iOS. Ce guide explique comment configurer un portail client pour gérer les abonnements et y rediriger vos clients depuis votre application.

Lien à partir de l’application pour gérer les abonnements et les moyens de paiement
Ce que vous allez créer
Remarque
Ce guide décrit uniquement la gestion des abonnements. Si vous configurez des achats d’abonnements, consultez Accepter des paiements pour des biens numériques sur iOS avec une page de paiement préconfigurée.
Ce guide vous explique comment :
- Configurez une page de portail client que vos clients pourront utiliser pour gérer leurs abonnements
- Utilisez les liens universels pour rediriger les utilisateurs vers votre application à partir du portail client
- Écoutez les webhooks pour mettre à jour l’état de l’abonnement de votre client
Ce qui n’est pas couvert
Ce guide vous explique comment configurer un portail client Stripe et y accéder depuis votre application. Il ne couvre pas :
- Achats d’abonnements : Afin d’utiliser Stripe Checkout pour vendre des biens et des abonnements dans l’application, consultez la page Accepter des paiements pour des biens numériques sur iOS avec une page de paiement préconfigurée.
- Authentification de l’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 intégrés natifs : Pour implémenter des achats dans l’application avec StoreKit, consultez le guide d’Apple sur les achats intégrés à l’application.
Configurer le portail
Tout d’abord, vous devez créer un compte Stripe.
Avant d’intégrer le portail client, utilisez le Dashboard pour définir les actions que vos utilisateurs peuvent y effectuer. Choisissez vos paramètres pour les environnements de test et le mode production, en fonction de votre catalogue de produits et de tarifs.
Erreur fréquente
Si vous utilisez le portail client avec Stripe Connect, veillez à configurer le portail client pour la plateforme, et non pour un compte connecté.
Si vous souhaitez créer plusieurs configurations de portail pour différents ensembles de clients, ou si vous êtes une plateforme Connect et souhaitez gérer les configurations de vos comptes connectés, vous pouvez le faire en utilisant l’API :
Définir un catalogue de produits
Si vous autorisez les clients à passer à un abonnement supérieur ou inférieur, ou à modifier les quantités relatives à leurs abonnements, vous devez définir un catalogue de produits. Celui-ci inclut les produits et tarifs pour lesquels vos clients peuvent opter, ainsi que les abonnements dont ils peuvent ajuster les quantités. Consultez la section dédiée à la création d’un produit pour en savoir plus sur la création de produits et de tarifs. Si vous utilisez le portail client uniquement à des fins de facturation, vous n’avez pas besoin de définir un catalogue de produits.
Le portail affiche les attributs suivants de votre catalogue de produits :
- Nom et description du produit : ces attributs sont modifiables dans le Dashboard et l’API.
- Restrictions de quantité par produit : ces attributs sont modifiables dans le Dashboard.
- Devise, période de facturation et montant du tarif : ces attributs sont immuables et peuvent uniquement être définis au moment de leur création dans le Dashboard ou l’API.
Activer la collecte du numéro fiscal
Si vous utilisez Stripe Tax pour collecter automatiquement les taxes sur les abonnements ou factures, vous pouvez laisser vos clients définir et modifier leurs numéros fiscaux sur le portail client. Stripe Billing ajoute les numéros fiscaux aux factures des clients. Pour autoriser les clients à définir leur numéro fiscal, accédez aux paramètres du portail client et activez Numéro fiscal. Pour en savoir plus, consultez la page sur le fonctionnement des numéros fiscaux pour les abonnements et les factures.
Découvrez comment configurer Stripe Tax, collecter les taxes sur les paiements récurrents, collecter des taxes dans vos tunnels de paiement personnalisés et définir les taux de taxe des factures et postes de facture.
Prévisualiser et tester
Lorsque vous configurez vos paramètres, cliquez sur Prévisualiser pour prévisualiser le portail. Cela lancera une version en lecture seule du portail vous permettant de visualiser la manière dont vos clients peuvent gérer leurs abonnements et informations de facturation.
Après avoir enregistré vos paramètres, vous pouvez lancer le portail et le tester avec un client du environnement de test. Accédez à un client dans le Dashboard et cliquez sur le bouton Actions, puis sélectionnez Ouvrir le portail client.
La prévisualisation du portail en lecture seule n’est disponible que lorsque votre Dashboard se trouve dans un environnement de test. Si vous ne parvenez pas à prévisualiser et tester le portail, vérifiez vos paramètres pour vous assurer que votre configuration est enregistrée dans un environnement de test. Pour que la prévisualisation et les tests fonctionnent, vous devez également disposer d’autorisations en écriture dans le Dashboard.
Configurer StripeCôté serveur
Côté serveur
Installez ensuite l’interface de ligne de commande Stripe. L’interface de ligne de commande vous permet d’exécuter les tests de webhook dont vous avez besoin.
Pour davantage d’options d’installation, consultez la page consacrée à l’interface de ligne de commande Stripe.
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.
Vous devez également définir votre clé publiable afin que le SDK puisse effectuer des appels à l’API vers Stripe. Pour commencer rapidement, vous pouvez coder cela en dur côté client pendant l’intégration, mais récupérer la clé publiable sur votre serveur en mode production.
// Set your publishable key: remember to change this to your live publishable key in production // See your keys here: https://dashboard.stripe.com/apikeys STPAPIClient.shared.publishableKey =
"pk_test_TYooMQauvdEDq54NiTphI7jx"
Créer une session de portailCôté serveur
Lorsqu’un client souhaite apporter des changements à son abonnement, générez une URL pour la page du portail à l’aide de son ID client Stripe via l’API de session du portail.
Configurer des liens universelsCôté clientCôté serveur
Les liens universels permettent au portail client d’établir un lien profond 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 les URL de redirection de votre portail.
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.
{ "applinks": { "apps": [], "details": [ { "appIDs": [ "A28BC3DEF9.com.example.MyApp1", "A28BC3DEF9.com.example.MyApp1-Debug" ], "components": [ { "/": "/checkout_redirect*", "comment": "Matches any URL whose path starts with /checkout_redirect" } ] } ] } }
Avertissement
Vous devez traiter le fichier avec le type MIME application/json
. Utilisez curl -I
pour confirmer le type de contenu.
curl -I https://example.com/.well-known/apple-app-site-association
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.
Veillez à créer une page de renvoi au niveau de votre return_
. 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.
Ouvrir le portail client dans SafariCôté client
Ajoutez un bouton pour ouvrir le portail client dans votre application. Ce bouton :
- Appelle votre endpoint côté serveur pour créer une session de portail.
- Renvoyez l’URL de la page du portail au client.
- Ouvrez l’URL dans Safari.
import Foundation import SwiftUI import StoreKit struct SubscriptionManagementView: View { @EnvironmentObject var myBackend: MyServer var body: some View { // Check if payments are blocked by Parental Controls on this device. if !SKPaymentQueue.canMakePayments() { Text("Payments are disabled on this device.") } else { Button { myBackend.createCustomerPortalSession { url in UIApplication.shared.open(url, options: [:], completionHandler: nil) } } label: { Text("Manage subscriptions") }.onOpenURL { url in // Handle the universal link from the customer portal. // Implement any necessary behavior, such as refreshing the customer's subscription status. } } } }
Gérer les modifications apportées à l’état de l’abonnement des clientsCôté serveur
Lorsque les clients modifient l’état de leur abonnement via le portail client, Stripe vous envoie des webhooks, tels que customer.
, customer.
et customer.
. Pour obtenir la liste complète des événements et les informations les concernant, consultez la page Utiliser des webhooks avec des abonnements. Assurez-vous de gérer tous les événements nécessaires pour surveiller avec précision les états des abonnements que vous avez configurés.
Pour tester votre intégration, vous pouvez surveiller les événements dans le Dashboard ou utiliser l’interface de ligne de commande Stripe. En production, configurez un endpoint de webhook et abonnez-vous aux types d’événements pertinents. Si vous ne connaissez pas votre clé STRIPE_
, cliquez sur le lien du webhook dans le Dashboard pour l’afficher.