Passer au contenu

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.

  • 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
  1. 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).

  2. 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

    Créer un testeur sandbox

  3. 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 :

    1. Ouvrez Réglages
    2. Touchez App Store
    3. Faites défiler vers le bas
    4. Touchez Sandbox Account
    5. Connectez-vous avec votre compte de test sandbox
  4. 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

    1. Sélectionnez votre projet dans Xcode
    2. Allez dans Signing & Capabilities
    3. Cliquez sur + Capability
    4. Ajoutez In-App Purchase
  5. 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.

  6. 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.

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
  • 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
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 test
const transaction = await NativePurchases.purchaseProduct({
productIdentifier: 'premium_monthly',
productType: PURCHASE_TYPE.SUBS,
});
console.log('Achat de test réussi !', transaction.transactionId);

Lorsque correctement configuré, vous devriez observer :

  1. Bannière sandbox lors de l’achat : “[Environment: Sandbox]”
  2. Les produits se chargent avec succès
  3. Les achats se terminent sans frais réels
  4. Les reçus se valident correctement
  5. Les abonnements se renouvellent automatiquement (à rythme accéléré)

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
  1. Créez plusieurs comptes de test pour différents scénarios de test
  2. Testez toutes les durées d’abonnement pour vérifier le comportement
  3. Testez les flux d’annulation et de renouvellement
  4. Vérifiez que la validation de reçu fonctionne correctement
  5. Testez la fonctionnalité de restauration des achats
  6. Vérifiez le comportement de mise à niveau/déclassement d’abonnement
  7. Testez dans de mauvaises conditions réseau
FonctionnalitéSandboxProduction
Frais réelsNonOui
Durée d’abonnementAccéléréeNormale
Limite de renouvellement automatique6 foisIllimitée
Effet d’annulationImmédiatFin de période
Point de terminaison de reçuURL SandboxURL Production
Comptes de test uniquementOuiNon

Pour plus de détails, consultez la documentation officielle Apple StoreKit sur les tests sandbox.