2012-04-24 20 views
14

Przede wszystkim, nie mówię o wywołaniu https://buy.itunes.apple.com/verifyReceipt/, zamiast tego, pytam, jak zweryfikować potwierdzenie iTuneStore od jednego z naszych użytkowników.Jak zweryfikować potwierdzenie zakupu w sklepie iTunes Store?

Mamy w aplikacji zakupu w naszej aplikacji, a my sprawdzamy wpływy w grze na naszym serwerze przed przyznaniem produktu. Jednak ten konkretny użytkownik twierdził, że został obciążony przez sklep iTunes, ale nie dostał zakupionych produktów i przesłał nam jego potwierdzenie jako dowód.

Zastanawiam się, czy istnieje możliwość weryfikacji takiego pokwitowania. W potwierdzeniu odbioru iTunes Store znajdują się "nr potwierdzenia" i "numer zamówienia", ale w przypadku potwierdzenia odbioru w grze otrzymujemy identyfikator transaction_id, a liczby te są zupełnie inne. Dowolny pomysł?

Z góry dziękuję.

+0

Czy kiedykolwiek znalazłeś rozwiązanie tego problemu? Jestem ciekawy, czy to nawet możliwe. – FallingReign

Odpowiedz

0

Powinieneś skontaktować się z działem wsparcia programistów Apple. Wątpię, czy istnieje sposób, aby to zweryfikować samodzielnie, jeśli nie możesz znaleźć odpowiedniej transakcji we własnych systemach.

0

Nie ma ręcznego sposobu, aby to zrobić, chyba że można w jakiś sposób uzyskać dane z paragonu z jego urządzenia, w takim przypadku można użyć interfejsu API Apple, o którym wspomniałeś, aby zweryfikować swoje roszczenia. Jeśli to, co mówi, jest prawdą, zasugeruj mu, aby zażądał zwrotu pieniędzy, a następnie dokonał ponownego zakupu. Powinien być w stanie to zrobić here.

+0

W moim przypadku testuję na własnym urządzeniu, więc mam dostęp do interfejsu API, mojego faktycznego potwierdzenia wysłanego pocztą elektroniczną przez firmę Apple oraz treści zakupionej przez programistę w aplikacji, takie jak identyfikator transakcji, pełne kodowanie paragon i tak dalej. Problem polega na tym, że wydaje się, że nie ma niczego na rachunku klienta (tym, który Apple wysyła do e-maila od kupującego), który wiąże 1 do 1 z transakcją zakupu aplikacji. – nspire

+0

Tak, prawdopodobnie to prawda. Co mam na myśli przez "pokwitowanie", to plik binarny, którego używasz w kodzie, uważam, że jest to to samo co "pełny zakodowany paragon". Korzystanie z tej opcji może być możliwe, jednak prośba klienta o dokonanie zwrotu kosztów i ponowny zakup jest prawdopodobnie najlepszym sposobem, aby go rozwiązać. – Rick

-1

Istnieje kod źródłowy o numerze https://github.com/roddi/ValidateStoreReceipt/blob/master/validatereceipt.m, który sprawdzi poprawność paragonu, a następnie przeanalizuje go i zrzuci wszystkie transakcje. Jeśli transakcja IAP tam jest, zobaczysz ją.

Musisz napisać specjalną aplikację na iOS, która będzie używać tego kodu i podawać go jako pokwitowanie. Wydaje się, że dużo pracy.

+0

Użyłem tego źródła, ale zostało ono przestarzałe. Teraz potrzebujemy innego rozwiązania. Wygląda na to, że źródłem była łatka Apple dotycząca luki IAP w systemie iOS 5.1. Teraz wszystko jest naprawione, a to źródło nie jest potrzebne. – NoAngel

-4

Nie mówię o wywołanie https://buy.itunes.apple.com/verifyReceipt/

Faktycznie u mieć narzędzie weryfikacji paragon online, dostępny przez link powyżej. Nie ma lepszego sposobu na potwierdzenie odbioru. Weryfikacja offline jest możliwa, ale nawet jeśli się udało, nikt nie może dać 100% gwarancji, że Twój paragon jest ważny (może tylko ten sam podpis, ale nadal fałszywy).

Apple przetwarza każdy zakup na swoich serwerach i jeśli to się powiedzie, rachunek zostanie zapisany w bazie danych. Jeśli chcesz sprawdzić rachunek, musisz uzyskać dostęp do tej bazy danych i zażądać potwierdzenia. Więc masz narzędzie, ale nie chcesz tego użyć? Nie ma wtedy niezawodnego sposobu.