iOS vérifier l'ID d'achat de l'application de l'application par le développeur

Comment puis-je vérifier l'identifiant d'achat qui m'a été envoyé par l'user à partir de sa list de commands?

Par exemple, il peut envoyer quelque chose comme: M1VYXX7VX7 (comme écrit dans sa list d'achats dans l'appstore) et requestr à returnner son achat (peut-être qu'il a supprimé son application accidentellement),

Mais lorsque je reçois des informations de command à l'intérieur de mon code (via SKPaymentTransaction ), je n'ai pas access à cet identifiant. Alors seulement ID j'ai ressemble à: 1000000020706713.

Est-il possible de valider cet ID d'achat à l'aide des informations qui m'ont été envoyées par l'App Store?

Merci.

Lisez la section Vérification des réceptions de magasin dans le Guide de programmation des achats embeddeds. Selon la documentation:

Pour vérifier le reçu, procédez comme suit:

  1. Récupérer datatables de réception. Sur iOS, il s'agit de la valeur de la propriété transactionReceipt de la transaction. Sous OS X, il s'agit de l'set du contenu du file de réception dans le regroupement d'applications. Coder datatables de réception en utilisant le encoding base64.

  2. Créez un object JSON avec une seule key nommée receipt-data et la string que vous avez créée à l'étape 1. Votre code JSON doit ressembler à ceci:

     { "receipt-data" : "(receipt bytes here)" } 
  3. Publiez l'object JSON sur l'App Store à l'aide d'une requête HTTP POST. L'URL du magasin est https://buy.itunes.apple.com/verifyReceipt .

  4. La réponse reçue de l'App Store est un object JSON avec deux keys, statut et reçu. Ça devrait ressembler a quelque chose comme ca:

     { "status" : 0, "receipt" : { (receipt here) } } 

Si la valeur de la key de statut est 0, ceci est un reçu valide. Si la valeur est autre que 0, ce reçu est invalide.

Lisez l'article pour plus de détails.