Configurer les tests sandbox iOS
Copiez un prompt de configuration incluant les étapes d'installation et le guide markdown complet pour ce plugin.
Tester les achats in-app sur iOS nécessite une configuration correcte dans App Store Connect et sur vos appareils de test. Ce guide couvre tout ce qu'il vous faut pour démarrer les tests en sandbox.
Prerequisites
Section intitulée « Prérequis »- Apple Developer Program: Abonnement actif avec renouvellement annuel
- Contrats: « Paid Applications Agreement » signé avec les informations bancaires et fiscales complétées
- Projet Xcode: Configuré avec le bon bundle identifier et les bonnes capabilities
Processus de configuration
Section intitulée « Processus de configuration »-
Signer le Paid Applications Agreement
Dans App Store Connect, accédez à Contrats, fiscalité et banque et terminez :
- Signez le contrat Paid Applications Agreement
- Ajoutez vos informations bancaires
- Remplissez les formulaires fiscaux
Attendez la validation de vos informations par Apple (cela peut prendre 24 à 48 heures).
-
Créer un utilisateur de test Sandbox
Dans App Store Connect, allez dans Utilisateurs et accès > Sandbox Testers.
Cliquez sur les + bouton pour créer un nouveau testeur sandbox.
Important: Utilisez une adresse e-mail qui n'est PAS déjà associée à un identifiant Apple. Vous pouvez utiliser des alias d'e-mail :
- Gmail :
youremail+test@gmail.com - iCloud :
youremail+test@icloud.com

- Gmail :
-
Configurer l'appareil de test (iOS 12+)
Depuis iOS 12, vous n'avez plus besoin de vous déconnecter de votre compte iTunes pour tester les achats.
Sur votre appareil iOS :
- Ouvrez Paramètres
- Appuyez sur App Store
- Faites défiler jusqu'en bas
- Appuyez sur Compte sandbox
- Connectez-vous avec votre compte de test sandbox
-
Configurer le projet Xcode
Assurez-vous que votre projet Xcode contient :
Identifiant du bundle
- Doit correspondre à l'identifiant de votre Developer Center
- Doit correspondre à l'identifiant d'App Store Connect
Capacité In-App Purchase
- Sélectionnez votre projet dans Xcode
- Accéder à Signature et capacités
- Cliquez + Capability
- Ajoutez Achats intégrés
-
Créer des produits d'achat in-app
Dans App Store Connect, accédez à votre application et créez vos produits d'achat in-app (abonnements, consommables, etc.).
Les produits doivent être au moins au statut « Prêt à être soumis » pour les tests sandbox.
-
Tester votre implémentation
Compilez et lancez votre application sur un appareil de test. Lors d'une tentative d'achat, vous devriez voir :
[Environnement : Sandbox]
Cette confirmation indique que vous êtes dans l'environnement sandbox et qu'aucun montant réel ne vous sera prélevé.
Notes importantes
Section intitulée « Notes importantes »Caractéristiques de l'environnement sandbox
Section intitulée « 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 réduites pour des tests plus rapides
- Abonnement 1 semaine = 3 minutes
- Abonnement 1 mois = 5 minutes
- Abonnement 2 mois = 10 minutes
- Abonnement 3 mois = 15 minutes
- Abonnement 6 mois = 30 minutes
- Abonnement 1 an = 1 heure
- Limite de renouvellement automatique: Les abonnements se renouvellent jusqu'à 6 fois en sandbox
- Annulation immédiate: Les abonnements annulés expirent immédiatement
Gestion des comptes sandbox
Section intitulée « Gestion du compte sandbox »- Créer plusieurs comptes de test pour différents scénarios
- Use test accounts only on test devices
- Don’t use personal Apple ID for sandbox testing
- Les comptes de test peuvent acheter n'importe quel produit, peu importe la région
Utiliser les tests sandbox
Section intitulée « Utiliser le sandbox testing »import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
const { isBillingSupported } = await NativePurchases.isBillingSupported();if (!isBillingSupported) { throw new Error('StoreKit not supported on this device');}
// Fetch products (automatically uses sandbox when available)const { products } = await NativePurchases.getProducts({ productIdentifiers: ['premium_monthly'], productType: PURCHASE_TYPE.SUBS,});
// Make test purchaseconst transaction = await NativePurchases.purchaseProduct({ productIdentifier: 'premium_monthly', productType: PURCHASE_TYPE.SUBS,});
console.log('Test purchase successful!', transaction.transactionId);Vérification
Section intitulée « Vérification »Une fois correctement configuré, vous devriez observer :
- La bannière Sandbox pendant l'achat : « [Environment: Sandbox] »
- Le chargement des produits avec succès
- Achats finalisés sans frais réels
- Les reçus sont validés correctement
- Les abonnements se renouvellent automatiquement (à un rythme accéléré)
Troubleshooting
Section intitulée « Dépannage »Les produits ne se chargent pas :
- Vérifiez que le bundle identifier correspond à App Store Connect
- Vérifiez que les accords sont signés et approuvés
- Assurez-vous que les produits ont au moins le statut « 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 correctement configuré
- Vérifiez que l'appareil est connecté à Internet
- Try signing out and back into sandbox account
- Redémarrez l'application
Les achats échouent silencieusement :
- Check Xcode console for error messages
- Vérifiez que la capacité In-App Purchase est activée
- Assurez-vous que l'e-mail du compte sandbox n'est pas un véritable Apple ID
- Essayez de créer un nouveau compte de test sandbox
Erreurs de validation du reçu :
- Utilisez l'endpoint de validation de reçu sandbox pendant les tests
- Endpoint de production :
https://buy.itunes.apple.com/verifyReceipt - Endpoint sandbox :
https://sandbox.itunes.apple.com/verifyReceipt - Le plugin native-purchases s'en charge automatiquement
Durée d'abonnement incorrecte :
- N'oubliez pas que les abonnements sont accélérés en sandbox
- Utilisez le tableau de conversion ci-dessus pour les durées attendues
- Les abonnements se renouvellent au maximum 6 fois en sandbox
« Cet identifiant Apple n'a pas encore été utilisé dans l'iTunes Store » :
- C'est normal pour les nouveaux comptes sandbox
- Finalisez l'achat pour activer le compte
- Cela n'arrive que lors de la première utilisation
Bonnes pratiques
Section intitulée « Bonnes pratiques »- Créer plusieurs comptes de test pour différents scénarios de test
- Tester toutes les durées d'abonnement pour vérifier le comportement
- Tester les flux de résiliation flux
- Vérifier que la validation des reçus fonctionne correctement
- Tester la fonctionnalité de fonctionnalité
- Vérifier l'upgrade/downgrade d'abonnement comportement
- Tester en conditions réseau dégradées
Production vs sandbox
Section intitulée « Production vs Sandbox »| Fonctionnalité | Sandbox | la production |
|---|---|---|
| Prélèvements réels | Non | Oui |
| Durée de l'abonnement | Accéléré | Normal |
| Limite de renouvellement automatique | 6 fois | Illimité |
| Effet de l'annulation | Immédiat | Fin de période |
| Endpoint du reçu | URL sandbox | URL de production |
| Comptes de test uniquement | Oui | Non |
Ressources complémentaires
Section intitulée « Ressources complémentaires »Pour plus de détails, consultez la documentation officielle StoreKit d’Apple sur les tests sandbox.
Continuer avec la configuration des tests sandbox iOS
Section intitulée « Continuer après la configuration du sandbox iOS »Si vous utilisez Configurer les tests sandbox iOS pour planifier la validation et la distribution sur le store, connectez-l’à Utiliser @capgo/native-purchases pour la capacité native dans Utiliser @capgo/native-purchases @capgo/capacitor-in-app-review pour le détail d'implémentation dans @capgo/capacitor-in-app-review, Utiliser @capgo/capacitor-in-app-review pour la capacité native dans Utiliser @capgo/capacitor-in-app-review, @capgo/capacitor-native-market pour le détail d'implémentation dans @capgo/capacitor-native-market, et Utiliser @capgo/capacitor-native-market pour la capacité native dans Utiliser @capgo/capacitor-native-market.