Utilisation in_app ou latest_receipt_info pour obtenir plus tard de la réception de l'auto-renouvelable iOS 7 style transactions?

Je suis en train de vérifier que l'auto-renouvelables d'achat In-App n'a pas expiré côté serveur (pas sur un périphérique).

Je suis d'Apple pour Grand Unified Réception (iOS 7 opérations). La réponse retournée par Apple contient in_app et latest_receipt_info éléments avec un éventail de recettes. Le in_app JSON élément contient MOINS recettes que latest_receipt_info. Je m'attendais à deux éléments pour contenir le même nombre ou reçus.

Aussi, je m'attendais à ce que le in_app élément contient TOUTES les recettes. Cependant, il semble que latest_receipt_info contient en fait toutes les recettes. La documentation d'Apple semble suggérer d'utiliser in_app pour trouver une dernière réception.

Je suis surpris de voir le latest_receipt_info parce que la Documentation d'Apple état que cet élément est
"Ne retourne pour iOS 6 style reçus de transaction pour les abonnements renouvelables automatiquement." (pas l'iOS 7+).

Qui JSON élément devrais-je effectuer une itération de trouver la dernière réception de l'auto-renouvelable iOS 7 style transactions: in_app ou latest_receipt_info?

  • avez-vous trouvé des réponses à votre problème?
  • Non, je n'ai jamais trouvé une réponse ou une confirmation de ce qui JSON élément je dois parcourir pour trouver la dernière réception. J'ai fini à l'aide de la "latest_receipt_info" parce qu'il semble contenir la totalité des recettes.
  • Chris, je pense que vous avez raison sur l'utilisation de latest_receipt_info. Merci beaucoup pour la réponse! Passé beaucoup de temps à mettre au point cette et je suis toujours à une perte 🙂 apple N'a toujours vous envoyer le latest_receipt_info? Voici ce que je reçois toujours de retour de leur service : gist.github.com/vasiliyb/23b5ac1fb36c6fd50006
  • oui, j'ai constamment vu de Pomme de retour latest_receipt_info et latest_receipt. J'utilise latest_receipt_info pour vérifier si une auto-renouvellement est renouvelé (ou expiré). Et, je stocke latest_receipt pour une utilisation ultérieure. Je vais envoyer la stockées latest_receipt à Apple la prochaine fois que je check pour un renouvellement.
  • Chris, super info! Merci! Si vous n'avez pas simplement suivre les chaînes que vous obtenez à partir de téléphones d'apple, vous avez réellement store d'Apple latest_receipt? Je ne pense pas que je comprends le processus très bien 🙁 Donc si c'est un premier achat, et vous n'avez pas le latest_receipt en dire mongo, puis vers la chaîne de caractères que vous avez obtenu à partir du téléphone, sinon envoyer le stockés latest_receipt, et de vérifier avec la chaîne qui a été posté pour vous?
  • oui, la 1ère fois que l'achat j'ai envoyer le reçu (string) de l'appareil (il n'y en a pas un plus tard à réception de ma base de données). Si la validation est réussie, Apple sera de retour une réponse avec latest_receipt. Je vais stocker latest_receipt. Puis, quand un auto-renouvellement se produit (pour moi, les abonnements sont de 1 mois), je vais envoyer mes stockées réception d'Apple pour voir si une auto-renouvellement a eu lieu. Ma pensée est que je voulais toujours essayer de l'envoyer à Apple la plus à jour de la réception que je suis au courant et j'espère en faire d'Apple sera toujours me renvoyer le plus à jour latest_receipt_info.
  • Droit maintenant, le téléphone envoie NodeJS API de la réception de la chaîne à chaque fois que l'application est redémarrée/fermé/mettre en arrière-plan. Cette chaîne est la même à chaque fois (je viens de vérifier). Donc, la réponse que je reçois en retour d'apple après l'envoi de cette chaîne de caractères est toujours différent. En essayant de comprendre la réponse JSON à partir d'apple, je me suis presque cassé mon cerveau. Docs sont quasi inexistants 🙁 Ce que je ne comprends pas est pourquoi la latest_receipt chaîne de toujours différentes d'apple réponse JSON? Plus grande question est... comment puis-je valider si le reçu est valide. Expérience Horrible.
  • si vous n'avez pas toujours de l'avant apple la réception de la validation de tenter, seulement un mois après la première date d'achat de votre base de données?
  • Comment souvent vous envoyer le reçu d'Apple est à vous. Pour moi, j'ai juste besoin de vérifier pour un renouvellement tous les mois. Les essais dans le bac à sable, Apple va auto renouveler fréquemment peut-être que c'est pourquoi le latest_receipt est différent (?). Apple sera de retour code d'état peut vous aider à dire si elle est valide ou pas.
  • im toujours avoir horrible expérience. Le téléphone m'envoie un accusé de réception, je l'envoyer à apple. la réponse latest_receipt d'apple est différent de ce que le téléphone m'a envoyé. marque nouvel achat en sandbox... comment diable puis-je obtenir que cela fonctionne 🙁

InformationsquelleAutor Chris | 2014-09-09