Configurer les tests sandbox iOS
Tester les achats intégrés sur iOS nécessite une configuration appropriée dans App Store Connect et sur vos appareils de test. Ce guide couvre tout ce dont vous avez besoin pour commencer avec les tests sandbox.
Prérequis
Section titled “Prérequis”- Programme Apple Developer : Adhésion active avec renouvellement annuel
- Accords : “Paid Applications Agreement” signé avec informations bancaires et fiscales complétées
- Projet Xcode : Configuré avec l’identifiant de bundle et les capacités appropriées
Processus de configuration
Section titled “Processus de configuration”-
Signer le Paid Applications Agreement
Dans App Store Connect, accédez à Agreements, Tax, and Banking et complétez :
- Signez le Paid Applications Agreement
- Ajoutez vos informations bancaires
- Complétez les formulaires fiscaux
Attendez qu’Apple approuve vos informations (cela peut prendre 24-48 heures).
-
Créer un utilisateur de test sandbox
Dans App Store Connect, allez dans Users and Access > Sandbox Testers.
Cliquez sur le bouton + pour créer un nouveau testeur sandbox.
Important : Utilisez une adresse e-mail qui n’est PAS déjà associée à un Apple ID. Vous pouvez utiliser des alias d’e-mail :
- Gmail :
votre.email+test@gmail.com - iCloud :
votre.email+test@icloud.com

- Gmail :
-
Configurer l’appareil de test (iOS 12+)
À partir d’iOS 12, vous n’avez plus besoin de vous déconnecter de votre compte iTunes pour tester les achats.
Sur votre appareil iOS :
- Ouvrez Réglages
- Touchez App Store
- Faites défiler vers le bas
- Touchez Sandbox Account
- Connectez-vous avec votre compte de test sandbox
-
Configurer le projet Xcode
Assurez-vous que votre projet Xcode dispose de :
Bundle Identifier
- Doit correspondre à l’identifiant dans votre Developer Center
- Doit correspondre à l’identifiant dans App Store Connect
Capacité In-App Purchase
- Sélectionnez votre projet dans Xcode
- Allez dans Signing & Capabilities
- Cliquez sur + Capability
- Ajoutez In-App Purchase
-
Créer des produits d’achat intégré
Dans App Store Connect, accédez à votre application et créez vos produits d’achat intégré (abonnements, consommables, etc.).
Les produits doivent être au moins dans l’état “Ready to Submit” pour les tests sandbox.
-
Tester votre implémentation
Compilez et exécutez votre application sur un appareil de test. Lorsque vous tentez un achat, vous devriez voir :
[Environment: Sandbox]
Cette confirmation indique que vous êtes dans l’environnement sandbox et ne serez pas facturé d’argent réel.
Notes importantes
Section titled “Notes importantes”Caractéristiques de l’environnement sandbox
Section titled “Caractéristiques de l’environnement sandbox”- Aucun frais réel : Tous les achats sont gratuits en mode sandbox
- Abonnements accélérés : Les durées d’abonnement sont raccourcies pour des tests plus rapides
- Abonnement d’1 semaine = 3 minutes
- Abonnement d’1 mois = 5 minutes
- Abonnement de 2 mois = 10 minutes
- Abonnement de 3 mois = 15 minutes
- Abonnement de 6 mois = 30 minutes
- Abonnement d’1 an = 1 heure
- Limite de renouvellement automatique : Les abonnements se renouvellent automatiquement jusqu’à 6 fois dans sandbox
- Annulation immédiate : Les abonnements annulés expirent immédiatement
Gestion des comptes sandbox
Section titled “Gestion des comptes sandbox”- Créez plusieurs comptes de test pour différents scénarios
- Utilisez les comptes de test uniquement sur les appareils de test
- N’utilisez pas votre Apple ID personnel pour les tests sandbox
- Les comptes de test peuvent acheter n’importe quel produit quelle que soit la région
Utilisation des tests sandbox
Section titled “Utilisation des tests sandbox”import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
const { isBillingSupported } = await NativePurchases.isBillingSupported();if (!isBillingSupported) { throw new Error('StoreKit non pris en charge sur cet appareil');}
// Récupérer les produits (utilise automatiquement sandbox lorsque disponible)const { products } = await NativePurchases.getProducts({ productIdentifiers: ['premium_monthly'], productType: PURCHASE_TYPE.SUBS,});
// Effectuer un achat de testconst transaction = await NativePurchases.purchaseProduct({ productIdentifier: 'premium_monthly', productType: PURCHASE_TYPE.SUBS,});
console.log('Achat de test réussi !', transaction.transactionId);Vérification
Section titled “Vérification”Lorsque correctement configuré, vous devriez observer :
- Bannière sandbox lors de l’achat : “[Environment: Sandbox]”
- Les produits se chargent avec succès
- Les achats se terminent sans frais réels
- Les reçus se valident correctement
- Les abonnements se renouvellent automatiquement (à rythme accéléré)
Dépannage
Section titled “Dépannage”Les produits ne se chargent pas :
- Vérifiez que l’identifiant de bundle correspond à App Store Connect
- Vérifiez que les accords sont signés et approuvés
- Assurez-vous que les produits sont au moins dans l’état “Ready to Submit”
- Attendez 2-3 heures après la création des produits
“Cannot connect to iTunes Store” :
- Vérifiez que le compte sandbox est configuré correctement
- Vérifiez que l’appareil est connecté à Internet
- Essayez de vous déconnecter et de vous reconnecter au compte sandbox
- Redémarrez l’application
Les achats échouent silencieusement :
- Vérifiez la console Xcode pour les messages d’erreur
- Vérifiez que la capacité In-App Purchase est activée
- Assurez-vous que l’e-mail du compte sandbox n’est pas un vrai Apple ID
- Essayez de créer un nouveau compte de test sandbox
Erreurs de validation de reçu :
- Utilisez le point de terminaison de validation de reçu sandbox en test
- Point de terminaison production :
https://buy.itunes.apple.com/verifyReceipt - Point de terminaison sandbox :
https://sandbox.itunes.apple.com/verifyReceipt - Le plugin native-purchases gère cela automatiquement
Mauvaise durée d’abonnement :
- Rappelez-vous que les abonnements sont accélérés dans sandbox
- Utilisez le tableau de conversion ci-dessus pour les durées attendues
- Les abonnements se renouvellent automatiquement maximum 6 fois dans sandbox
“This Apple ID has not yet been used in the iTunes Store” :
- C’est normal pour les nouveaux comptes sandbox
- Poursuivez l’achat pour activer le compte
- Ne se produit qu’à la première utilisation
Bonnes pratiques
Section titled “Bonnes pratiques”- Créez plusieurs comptes de test pour différents scénarios de test
- Testez toutes les durées d’abonnement pour vérifier le comportement
- Testez les flux d’annulation et de renouvellement
- Vérifiez que la validation de reçu fonctionne correctement
- Testez la fonctionnalité de restauration des achats
- Vérifiez le comportement de mise à niveau/déclassement d’abonnement
- Testez dans de mauvaises conditions réseau
Production vs. Sandbox
Section titled “Production vs. Sandbox”| Fonctionnalité | Sandbox | Production |
|---|---|---|
| Frais réels | Non | Oui |
| Durée d’abonnement | Accélérée | Normale |
| Limite de renouvellement automatique | 6 fois | Illimitée |
| Effet d’annulation | Immédiat | Fin de période |
| Point de terminaison de reçu | URL Sandbox | URL Production |
| Comptes de test uniquement | Oui | Non |
Ressources supplémentaires
Section titled “Ressources supplémentaires”Pour plus de détails, consultez la documentation officielle Apple StoreKit sur les tests sandbox.