Aller directement au contenu

Configurer la mise en sandbox pour les tests iOS

La mise en œuvre des achats en application 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 vous lancer dans les tests de sandbox.

  • Programme Apple Developer : Membre actif avec renouvellement annuel
  • Accords : Accord « Applications payantes » signé avec les informations bancaires et fiscales complétées
  • Projet Xcode: Configuré avec un identifiant de bundle approprié et des capacités
  1. Signer l'Accord sur les Applications Payantes

    Dans l'App Store Connect, naviguez vers Accords, Fiscalité et Comptabilité et complétez :

    • Signez l'Accord sur les Applications Payantes
    • Ajoutez vos informations bancaires
    • Remplir les formulaires fiscaux

    Attendez que Apple approuve vos informations (cela peut prendre entre 24 et 48 heures).

  2. Créer un Utilisateur de Test de Boîte

    Dans App Store Connect, allez à Utilisateurs et Accès > Testeurs de Boîte.

    Cliquez sur le bouton pour créer un nouveau testeur de boîte. + Important :

    Utilisez une adresse e-mail qui n'est PAS déjà associée à un ID Apple. Vous pouvez utiliser des alias d'e-mail :Gmail :

    • iCloud : youremail+test@gmail.com
    • Créer un testeur de boîte youremail+test@icloud.com

    Utilisez une adresse e-mail qui n'est pas déjà associée à un ID Apple. Vous pouvez utiliser des alias d'e-mail :

  3. Configureur le Dispositif 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. Ouvrir Réglages
    2. Appuyer App Store
    3. Faites défiler vers le bas
    4. Appuyer Compte de Test de Sandbox
    5. Se connecter avec votre compte de test de sandbox
  4. Configurer le projet Xcode

    Assurez-vous que votre projet Xcode possède :

    Identifiant de l'application

    • Doit correspondre à l'identifiant dans votre Centre de développement
    • Doit correspondre à l'identifiant dans App Store Connect

    Capacité d'achat en application

    1. Sélectionnez votre projet dans Xcode
    2. Allez à Signature et capacités
    3. Cliquez + Capacité
    4. Ajouter Achete en Ligne
  5. Créer des Produits d'Achete en Ligne

    Dans l'App Store Connect, naviguez vers votre application et créez vos produits d'achat en ligne (abonnements, consommables, etc.).

    Les produits doivent être au moins dans l'état « Prêt à Soumettre » pour les tests de sandbox.

  6. Tester votre Implémentation

    Construire et exécuter votre application sur un appareil de test. Lorsque vous tenterez d'une achat, vous devriez voir :

    [Environnement : Sandbox]

    Cette confirmation indique que vous êtes dans l'environnement de sandbox et que vous ne serez pas facturé d'argent réel.

  • Pas de frais réelsTous les achats sont gratuits en mode sandbox
  • Abonnements accélérésLes durées d'abonnement sont raccourcies pour un test plus rapide
    • 1 semaine d'abonnement = 3 minutes
    • 1 mois d'abonnement = 5 minutes
    • 2 mois d'abonnement = 10 minutes
    • 3 mois d'abonnement = 15 minutes
    • 6 mois d'abonnement = 30 minutes
    • 1 an d'abonnement = 1 heure
  • Limite de renouvellement automatique: Les abonnements se renouvellent automatiquement jusqu'à 6 fois dans l'environnement de test
  • Annulation immédiate: Les abonnements annulés expirent immédiatement
  • Créer plusieurs comptes de test pour différents scénarios
  • Utiliser les comptes de test uniquement sur des appareils de test
  • Ne pas utiliser un ID Apple personnel pour le test de l'environnement de test
  • Les comptes de test peuvent acheter n'importe quel produit, quel que soit le pays
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 purchase
const transaction = await NativePurchases.purchaseProduct({
productIdentifier: 'premium_monthly',
productType: PURCHASE_TYPE.SUBS,
});
console.log('Test purchase successful!', transaction.transactionId);

Lorsque correctement configuré, vous devriez observer :

  1. Bannière de sandbox pendant l'achat : « [Environnement : Sandbox ] »
  2. Les produits chargent avec succès
  3. Les achats se terminent sans frais réels
  4. Les reçus s'avalident correctement
  5. Renouvellements de souscriptions s'effectuent automatiquement (à un rythme accéléré)

Produits ne chargent pas :

  • Vérifiez que l'identifiant de l'ensemble correspond à App Store Connect
  • Vérifiez que les accords sont signés et approuvés
  • Assurez-vous que les produits sont au moins au statut « Prêt à soumettre »
  • Attendez 2-3 heures après avoir créé des produits

“Impossible de se connecter à l’iTunes Store” :

  • Vérifiez que votre compte sandbox est configuré correctement
  • Vérifiez que le dispositif est connecté à Internet
  • Essayez de vous déconnecter et de vous reconnecter à votre compte sandbox
  • Redémarrez l'application

Achats qui se passent en silence :

  • Vérifiez le console Xcode pour les messages d'erreur
  • Vérifiez que la capacité d'achat en application est activée
  • Assurez-vous que l'adresse e-mail du compte sandbox n'est pas un ID Apple réel
  • Essayez de créer un nouveau compte de test sandbox

Erreurs de validation de récépissé :

  • Utilisez l'endpoint de validation de récépissé sandbox pour les tests
  • Endpoint de production : https://buy.itunes.apple.com/verifyReceipt
  • Endpoint de sandbox : https://sandbox.itunes.apple.com/verifyReceipt
  • Le plugin native-purchases gère cela automatiquement

Durée de souscription incorrecte :

  • N'oubliez pas que les souscriptions sont accélérées dans l'environnement de test
  • Utilisez le tableau de conversion ci-dessus pour les durées attendues
  • Les souscriptions se renouvellent automatiquement jusqu'à 6 fois dans l'environnement de test

“Cette adresse Apple n'a pas encore été utilisée dans l'App Store” :

  • C'est normal pour de nouveaux comptes de test
  • Procédez à l'achat pour activer le compte
  • Se produit uniquement lors de la première utilisation
  1. Créez plusieurs comptes de test pour différents scénarios de test
  2. Testez toutes les durées de souscription pour vérifier le comportement
  3. Testez les flux de suppression et de renouvellement de la souscription Testez la validation de la réception
  4. pour s'assurer que cela fonctionne correctement Testez la restauration des achats
  5. la fonctionnalité Vérifiez le comportement de mise à niveau/désactivation de la souscription
  6. Vérifiez le comportement avec des conditions de réseau dégradées Production vs. Sandbox
  7. Testez les flux de suppression et de renouvellement de la souscription

Testez la validation de la réception

Section intitulée « Production vs. Sandbox »
FonctionnalitéSandboxProduction
Frais réelsNonOui
Durée de l'abonnementAccéléréNormal
Limite de renouvellement automatique6 foisSans limite
Effet d'annulationImmédiatFin de période
Point de terminaison de la factureURL de sandboxURL de production
Seulement pour les comptes de testOuiNon

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