Gérer des Abonnements sur iOSVersion bêta privée
Acceptez les paiements récurrents et gérez les droits d'accès avec BillingSDK pour iOS.
Acceptez les paiements d’abonnement, laissez vos clients gérer leurs Abonnements et gérez les droits d’accès directement dans votre application iOS avec le BillingSDK pour iOS. Le SDK fournit des composants d’interface utilisateur préconfigurés pour afficher les boutons d’achat, présenter le portail client et vérifier les droits d’accès aux fonctionnalités premium.
Avant de commencer
Pour utiliser BillingSDK pour iOS, vous aurez besoin de :
- Un serveur back-end pour créer des sessions client
- Un compte Stripe ayant accès à la version bêta privée
- iOS 15.0 ou version ultérieure et macOS 12.0 ou version ultérieure
- Xcode 15.0 ou version ultérieure
Ce que vous allez créer
Ce guide vous explique comment :
- Configurer un endpoint de serveur pour créer des sessions client
- Installer et configurer le BillingSDK pour iOS
- Afficher les boutons d’achat pour les achats d’abonnement
- Vérifier les droits d’accès aux fonctionnalités premium
- Présenter le portail client pour la gestion des abonnements
- Gérer les erreurs et gérer l’état de la session
Vous trouverez un exemple complet d’application dans le référentiel BillingSDK pour iOS.
Créez un endpoint de serveur qui génère des sessions client pour les utilisateurs authentifiés. Ces sessions authentifient votre application iOS en toute sécurité avec les API de facturation de Stripe.
Créer un endpoint de session client
L’endpoint doit :
- Vérifier que l’utilisateur est authentifié
- Créer ou récupérer l’ID client Stripe de l’utilisateur
- Créer une session client avec les composants requis activés
- Renvoyez les détails de la session à votre application
Voici un exemple d’implémentation :
Format de réponse
L’endpoint doit renvoyer ces champs pour une authentification réussie :
Champ | Type | Description |
---|---|---|
clientSecret | chaîne | La clé secrète de la session client utilisée pour authentifier le SDK |
expiresAt | nombre | Horodatage d’expiration en secondes depuis l’heure |
customer | chaîne | L’ID client Stripe |
Lorsque l’authentification échoue, renvoyez HTTP 401 pour déclencher l’état non authentifié du SDK.
Le BillingSDK pour iOS fournit une expérience iOS native pour la gestion des abonnements et le contrôle d’accès aux fonctionnalités.
Ajouter le SDK à votre projet
Lors de la prévisualisation privée, installez le paquet BillingSDK :
- Ouvrir votre projet dans Xcode
- Sélectionnez Fichier → Ajouter des dépendances de package
- Saisissez
https://github.
dans le champ Rechercher ou saisir l’URL du packagecom/stripe-samples/billing-ios-sdk - Sélectionnez
BillingSDK
et cliquez sur Ajouter un package
Configurer le SDK
Initialisez le SDK dans une classe partagée pour gérer la configuration et l’authentification du SDK Billing :
Remarque
Le SDK gère la sécurité des threads en interne : vous pouvez appeler ses méthodes en toute sécurité depuis n’importe quel thread.
Configurer le fournisseur de sessions client
Ajoutez la méthode d’authentification à votre gestionnaire de facturation :
Remarque
Le SDK Billing appelle automatiquement votre fournisseur de session lorsqu’il doit s’authentifier auprès de Stripe. Lorsque le fournisseur renvoie zéro
, le SDK passe à l’état non authentifié.
Les boutons d’achat fournissent un élément d’interface utilisateur préconfiguré pour permettre aux clients d’acheter des Abonnements. Chaque bouton est lié à un produit et à un tarif spécifiques dans votre compte Stripe.
Créer des boutons d’achat dans le Dashboard
Suivez ce guide pour créer des boutons d’achat dans le Dashboard. Si vous prévoyez d’utiliser la fonctionnalité de vérification des droits, assurez-vous que les produits que vous avez créés sont associés à des droits d’accès.
Afficher un bouton d’achat
Remarque
Les boutons d’achat fonctionnent même lorsque les utilisateurs ne sont pas authentifiés. Si nécessaire, le SDK crée un nouveau client Stripe lors de l’achat.
Les droits vous permettent de contrôler l’accès aux fonctionnalités premium en fonction des Abonnements actifs d’un client.
Vérifier un droit spécifique
Vérifiez si un utilisateur a accès à une fonctionnalité spécifique :
Obtenir tous les droits d’accès actifs
Récupérez tous les droits auxquels le client a accès :
Écouter les changements de droits
Configurez un écouteur pour recevoir une notification en cas de modification des droits :
Remarque
En l’absence de session, getActiveEntitlements()
renvoie un tableau vide.
Le portail client permet aux abonnés de gérer leurs Abonnements, leurs moyens de paiement et leurs informations de facturation.
Afficher le portail client
Présentez le portail lorsque les utilisateurs doivent gérer leur abonnement :
Avertissement
Le portail client nécessite une session authentifiée active. Si l’utilisateur n’est pas connecté, le SDK renvoie une erreur .
.
Redirection externe (facultatif)
Vous pouvez également ouvrir le portail dans un navigateur :
Pendant le développement, utilisez vos clés API d’environnement de test et vos ID de client d’environnement de test pour éviter de créer des paiements réels.
Scénarios de test
Testez ces scénarios courants :
Scénario | Étapes |
---|---|
Achat d’un nouvel abonnement | Présenter un bouton d’achat à un nouvel utilisateur |
Gestion des abonnements | Utiliser le portail client pour modifier les offres |
Vérification des droits | Vérifier une fonctionnalité premium avec hasEntitlement |
Gestion des erreurs | Tester avec des clés non valides ou des sessions expirées |
Flux de déconnexion | Vérifier que billing. vide les données en cache |