2012-04-24 15 views
14

Prima di tutto, non sto parlando di chiamare https://buy.itunes.apple.com/verifyReceipt/, invece, quello che sto chiedendo è come verificare una ricevuta di iTuneStore da uno dei nostri utenti.Come verificare una ricevuta di iTunes Store per acquisti in-app

Abbiamo acquistato in-app nella nostra app e verifichiamo le ricevute di gioco sul nostro server prima di concedere il prodotto. Tuttavia, questo particolare utente ha affermato di essere stato addebitato dal negozio iTunes ma non ha ricevuto i prodotti acquistati e ci ha inviato la ricevuta come prova.

Quindi mi chiedo se ci sia comunque possibile verificare tale ricevuta. Nella ricevuta di iTunes Store sono presenti "ricevuta n." E "numero ordine", tuttavia con la verifica di ricezione in-game viene effettuato transaction_id e questi numeri sono molto diversi. Qualche idea?

Grazie in anticipo.

+0

Hai mai trovato una soluzione a questo problema? Sono piuttosto curioso di sapere se è possibile. – FallingReign

risposta

0

È necessario contattare l'assistenza per gli sviluppatori di Apple. Dubito che ci sia un modo per verificarlo da solo se non riesci a trovare una rispettiva transazione nei tuoi sistemi.

0

Non esiste un modo manuale per eseguire questa operazione, a meno che non sia possibile ottenere in qualche modo i dati di ricevuta dal suo dispositivo, nel qual caso è possibile utilizzare l'API di Apple che ha citato per verificare le sue affermazioni. Se ciò che dice è vero, allora suggeriscigli di richiedere un rimborso e poi riacquistarlo. Dovrebbe essere in grado di farlo here.

+0

Nel mio caso, sto testando sul mio dispositivo, quindi ho accesso all'API, al mio effettivo ricevimento via e-mail di Apple e al contenuto di acquisto in-app dello sviluppatore, come l'identificativo della transazione, l'intero codificato ricevuta e così via. Il problema è che sembra non esserci nulla sulla ricevuta del cliente (quella che Apple invia per e-mail all'acquirente) che lega 1 a 1 a una transazione di acquisto in app. – nspire

+0

Sì, probabilmente è corretto. Quello che intendevo per "ricevuta" è il file binario che usi nel codice, credo che sia la stessa cosa a cui ti riferisci come "la ricevuta codificata completa". Utilizzando questo si potrebbe essere in grado di risolverlo, tuttavia chiedere al cliente di fare un rimborso e acquistare nuovamente è probabilmente il modo migliore per farlo. – Rick

-1

Il codice sorgente è https://github.com/roddi/ValidateStoreReceipt/blob/master/validatereceipt.m che convalida una ricevuta e consente di analizzarlo e scaricare tutte le transazioni. Se la transazione IAP è presente, la vedresti.

Dovresti scrivere un'app per iOS per scopi speciali che utilizza tale codice e alimentarlo come ricevuta. Sembra un sacco di lavoro.

+0

Ho usato questa fonte, ma era deprecata. Ora abbiamo bisogno di un'altra soluzione. Sembra che la fonte sia stata la correzione Apple per la vulnerabilità IAP in iOS 5.1. Ora è tutto risolto, e quella fonte non è necessaria. – NoAngel

-4

Non sto parlando di chiamare https://buy.itunes.apple.com/verifyReceipt/

realtà u hanno in linea strumento di verifica della ricevuta, raggiungibile con link qui sopra. Non esiste un modo migliore per verificare la ricevuta. La verifica offline è possibile, ma se anche ci riesce, nessuno può garantire al 100% che la tua ricevuta sia valida (forse solo la stessa firma, ma ancora falsa).

Apple elabora ogni acquisto sui propri server e, se ha esito positivo, ricevuta salvata nel database. Se vuoi controllare la ricevuta, devi accedere a quel database e richiedere la ricevuta. Quindi hai uno strumento, ma non vuoi usarlo? Nessun modo affidabile allora.

Problemi correlati