2013-07-11 13 views
5

Sto sviluppando un'applicazione con le ricevute di rinnovo automatico e salvandole nel server, che funziona perfettamente, finché l'utente non ripristina gli acquisti, causando duplicati.Salvataggio/ripristino di ricevute di rinnovo automatico senza duplicati

Il campo transaction_id è diverso per lo stesso ricevimento con ogni ripristino e lo original_transaction_id è ovviamente lo stesso per ogni ciclo di rinnovi, quindi non posso utilizzarlo. Il campo unique_identifier è lo stesso (non capisco come sia unico). Stavo usando il campo web_order_line_item_id e sembrava soddisfacente, ma l'ho appena testato con un account completamente nuovo, e ho finito con un duplicato, quindi anche questo è inutile.

Mi manca qualcosa, ovviamente, qui? Ci deve essere un campo che è unico per ogni ricevuta, ma non cambia ogni volta che viene ripristinato?

+0

Poiché si salva la ricevuta sul server, perché non si recupera anche la ricevuta dal server? – rocky

+0

Lo faccio per la maggior parte degli scenari di utilizzo, ma devo consentire agli utenti di ripristinare gli acquisti su un dispositivo nuovo o ripristinato. –

+0

Suppongo che tu abbia una sorta di accesso associato al tuo abbonamento al rinnovo automatico. E suppongo anche che associ il login alla ricevuta che hai salvato sul tuo server. Con questo in mente, non importa se un dispositivo è nuovo o ripristinato. Ogni volta che l'utente esegue l'accesso, è possibile interrogare il proprio server per la ricevuta e restituirla. Le mie supposizioni sono sbagliate? – rocky

risposta

3

Apparentemente original_transaction_id e purchase_date sono gli unici due valori univoci che non cambieranno dopo il ripristino degli acquisti. È inoltre possibile fare affidamento su latest_receipt_info -> web_order_line_item_id in quanto non cambia tra ripristini (a differenza di latest_receipt_info -> transaction_id). Ispezionando latest_receipt_info puoi trovare lo expiration_date dell'abbonamento, che a quanto pare Apple crede dovrebbe bastare per te.

Problemi correlati