Verwenden in_app oder latest_receipt_info für immer die Letzte Quittung für auto-erneuerbare-iOS-7-Stil-Transaktionen?

Ich versuche zu überprüfen, ob eine auto-erneuerbare In-App-Kauf noch nicht abgelaufen ist, server-Seite (nicht auf ein Gerät).

Bin ich mit Apple ' s Grand Unified Eingang (iOS 7 Stil-Transaktionen). Die zurückgegebene Antwort von Apple enthält in_app und latest_receipt_info Elemente mit einer Reihe von Quittungen. Die in_app JSON-element enthält WENIGER Einnahmen als latest_receipt_info. Ich hatte erwartet, beide Elemente zu enthalten, die die gleiche Anzahl oder Quittungen.

Auch, ich hatte erwartet, dass die in_app element enthalten würde, ALLE Quittungen. Es scheint jedoch, dass latest_receipt_info enthält eigentlich alle Quittungen. Apple-Dokumentation zu suggerieren scheint, zu verwenden in_app für die Suche nach den neuesten Zugang.

Ich bin überrascht zu sehen, die latest_receipt_info da Apple in der Dokumentation Stand, dass dieses element
"Nur zurückgegeben, für iOS 6 Stil transaktionsbestätigungen automatisch erneuerbare Subskriptionen". (nicht iOS 7+).

Die JSON-element sollte ich Durchlaufen, den neuesten Zugang für auto-erneuerbare-iOS-7-Stil-Transaktionen: in_app oder latest_receipt_info?

  • haben Sie Antworten für Ihr problem?
  • Nein, ich fand nie eine Antwort oder Bestätigung zu dem JSON-element sollte ich Durchlaufen für die Suche nach den neuesten Zugang. Ich habe am Ende mit der "latest_receipt_info" weil es scheint, enthalten Sie alle Belege.
  • Chris, ich glaube, du hast Recht, über die Verwendung von latest_receipt_info. Vielen Dank für die Beantwortung! Verbrachte viel Zeit mit Debuggen und bin immer noch ratlos 🙂 Hat apple immer senden Sie die latest_receipt_info? Hier ist, was ich immer wieder aus Ihrem Dienst : gist.github.com/vasiliyb/23b5ac1fb36c6fd50006
  • ja, ich habe durchweg gesehen Apple zurück latest_receipt_info und latest_receipt. Ich benutze latest_receipt_info zu prüfen, ob eine automatische Verlängerung erneuert hat (oder abgelaufen ist). Und, ich speichern latest_receipt für die spätere Verwendung. Ich werde senden Sie die gespeicherte latest_receipt Apple das nächste mal überprüfe ich für eine Erneuerung.
  • Chris, hervorragende info! Danke! Damit Sie nicht einfach nach vorne die Zeichenfolgen, die Sie von der Telefone an apple, die Sie tatsächlich store von Apple latest_receipt? Ich glaube nicht, dass ich verstehen den Prozess sehr gut 🙁 Also, wenn Ihr eine erste Zeit zu kaufen, und Sie haben nicht die latest_receipt in sagen, mongo, und dann nach vorne die Zeichenfolge ein, die Sie in das Telefon, ansonsten senden Sie die gespeicherte latest_receipt, und überprüfen Sie die Zeichenfolge, die geschrieben wurde, um Sie?
  • ja, das 1. mal, Kauf ich senden Sie die Quittung (string) aus dem Gerät (es gibt nicht den neuesten Zugang in meiner Datenbank noch nicht). Wenn die Validierung erfolgreich ist, wird Apple eine Antwort zurück mit latest_receipt. Ich werde store latest_receipt. Dann, wenn eine automatische Verlängerung tritt (für mich, Abonnements 1 Monat), ich schick dir meine gespeicherten Erhalt an Apple, um zu sehen, wenn eine automatische Verlängerung eingetreten ist. Mein denken ist, dass wollte ich immer versuchen, zu senden, um Apple die meisten up-to-date Erhalt, dass ich bewusst bin und hoffentlich dadurch Apple immer schicken Sie mich zurück, die meisten bis zu Datum latest_receipt_info.
  • Jetzt das Telefon sendet NodeJS-API den Empfang Zeichenfolge jedes mal, wenn die Anwendung neu gestartet/geschlossen/put im hintergrund. Dieser string ist das gleiche jedes mal (ich habe gerade überprüft). Also die Antwort, die ich zurück bekommen von apple nach dem Absenden dieses Strings ist immer unterschiedlich. Wenn Sie versuchen, zu verstehen, die JSON-Antwort von apple, habe ich fast brach mein Gehirn. Docs sind fast nicht existent 🙁 Was ich nicht verstehe ist, warum die latest_receipt string immer anders in apple JSON-response? Größere Frage ist... wie kann ich überprüfen, ob der Empfang gültig ist. Schreckliche Erfahrung.
  • damit Sie nicht immer vorwärts apple Erhalt Validierung Versuch, nur einen Monat nach dem ersten Kauf Datum in der Datenbank?
  • Wie oft Sie senden Sie die Quittung von Apple ist bis zu Ihnen. Für mich, ich brauche nur zu prüfen, für Erneuerungen, jeden Monat. Testen in der Sandbox, wird Apple autorenew Häufig, also vielleicht das ist, warum die latest_receipt anders ist (?). Apple gibt eine status-code kann Ihnen helfen, sagen, ob es gültig ist oder nicht.
  • ich bin immer noch schreckliche Erfahrung. Das Telefon sendet mir eine Quittung, die ich senden Sie es an apple. die Antwort latest_receipt von apple ist anders als das, was das Telefon, der mich gesandt hat. Marke neue Kauf in der sandbox... wie zum Teufel bekomme ich diese zu arbeiten 🙁

InformationsquelleAutor Chris | 2014-09-09
Schreibe einen Kommentar