Passer au contenu

Configure la mise en sandbox d'iPhone

GitHub

La mise en œuvre des achats en application 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 démarrer avec les tests de sandbox.

  • Programme Apple Developer: Membre actif avec renouvellement annuel
  • Accords: Accord « Paiement d'applications payantes » signé avec 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 Banque et complétez :

    • Signer l'Accord sur les Applications Payantes
    • Ajouter 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 à Sand

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

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

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

    • iCloud : youremail+test@gmail.com
    • Créer un testeur de boîte à sand 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'adresse e-mail :

  3. Configureur de Dispositif 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 :

    1. Ouvrir Réglages
    2. Appuyer App Store
    3. Faites défiler vers le bas
    4. Appuyer Compte de Test de Salle de Tir
    5. Se connecter avec votre compte de test de salle de tir
  4. Configurer le projet Xcode

    Vérifiez 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 & Capacités
    3. Cliquez + Capacité
    4. Ajouter Achats en Ligne
  5. Créer des Produits d'Achats en Ligne

    Dans l'App Store Connect, naviguez vers votre application et créez vos produits d'achats 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
  • Limit de renouvellement automatique: Les abonnements se renouvellent automatiquement jusqu'à 6 fois en sandbox
  • 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 sandbox
  • 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);

Lorsqu'elle est correctement configurée, vous devriez observer :

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

Produits ne chargent pas :

  • Vérifiez que l'identifiant de l'application 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 “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 en panne silencieuse :

  • Vérifiez la console Xcode pour les messages d'erreur
  • Vérifiez que la capacité d'Achat en Ligne 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 :

  • Souvenez-vous 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 d'abonnement pour vérifier le comportement
  3. Testez les flux de suppression et de renouvellement Testez la validation de la réception
  4. pour s'assurer qu'elle fonctionne correctement Testez la fonctionnalité de restauration des achats
  5. Testez la fonctionnalité de mise à niveau/dégradation de l'abonnement Testez le comportement
  6. Testez avec des conditions de réseau dégradées Production vs. Sandbox
  7. Testez les flux de suppression et de renouvellement des abonnements

Vérifiez que la validation de la réception fonctionne correctement

Section intitulée “Production vs. Sandbox”
FonctionnalitéSandboxProduction
Frais réelsNonOui
Durée de l'abonnementAccéléréNormal
Limite de renouvellement automatique6 foisInfini
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 la documentation officielle d'Apple StoreKit sur le test de sandbox.

Continuez de la section intitulée « Continuez de la section Configure iOS Sandbox Testing »

Si vous utilisez

Configure iOS Sandbox Testing pour planifier l'approbation et la distribution dans l'App Store, connectez-le à Utilisez @__CAPGO_KEEP_0__/native-purchases pour la capacité native dans Utilisez @capgo/native-purchases, @capgo/__CAPGO_KEEP_1__-in-app-review pour le détail d'implémentation dans @capgo/capacitor-in-app-review, for the implementation detail in @capgo/capacitor-in-app-review, En utilisant @capgo/capacitor-en-revue-de-l'application pour la capacité native dans En utilisant @capgo/capacitor-en-revue-de-l'application, @capgo/capacitor-marché-natif pour le détail d'implémentation dans @capgo/capacitor-marché-natif, et En utilisant @capgo/capacitor-marché-natif pour la capacité native dans En utilisant @capgo/capacitor-marché-natif.