2011-12-05 11 views
29

Wprowadzam rozliczenia w aplikacji do gry na Androida i chcemy użyć serwera do przechowywania informacji o zakupie.W jaki sposób potwierdzamy potwierdzenie fakturowania w aplikacji na Androida po stronie serwera?

Zgodnie z tym co zrozumiałem do tej pory, Android Market zwróci wywołanie zwrotne do aplikacji w postaci odbiornika Broadcast o statusie zakupu. Ponieważ jednak przechowujemy informacje o transakcjach na serwerze, moja aplikacja musi wykonać pewne żądanie HTTP i zaktualizować mój serwer. Istnieje bardzo duża szansa, że ​​ten post może zostać naśladowany przez jakiegoś hakera ręcznie. W jaki sposób mogę zweryfikować informacje o kwocie uzyskanej z rynku Android z mojego kodu serwera?

Czy jest dostępny oddzwaniacz od usługi Google Checkout na moim serwerze? Czy istnieje sposób na sprawdzenie odpowiedzi IAB dostarczonej przez klienta HTTP, który jest prawdziwy i jest to zakup dokonany tylko w mojej aplikacji!

W procesie Apple iOS IAP, they have a validate web API @https://sandbox.itunes.apple.com/verifyReceipt za które możemy przekazać

req.method = URLRequestMethod.POST; 
req.data = "{\"receipt-data\" : \""+ t.receipt +"\"}"; 

i mówi, jeśli odbiór jest właściwe czy nie. Czy mamy coś takiego na Androida?

Odpowiedz

23

Aktualizacja: Można użyć metody getPurchases() odzyskać "Un-konsumowane" zakupów, jak wyjaśniono w docs deweloperskich:
http://developer.android.com/google/play/billing/billing_reference.html#getPurchases

Original Odpowiedź (obecnie nieaktualne)

Interfejs API usługi Google Checkout jest przestarzały. Powinieneś teraz użyć interfejsu API stanu zakupów.

Jeśli zamierzasz użyć API Zakup stanu, link powyżej wspomina te ograniczenia:

  • Można użyć API do sprawdzenia statusu tylko poszczególnych elementów - wniosków zbiorczych dla statusu zamówienia nie są obsługiwane w tym razem.
  • Możesz zapytać o szczegóły dotyczące zamówień złożonych w dniu 12 czerwca 2013 r. Lub później, ale nie w przypadku zamówień złożonych wcześniej.
  • Możesz wysyłać zapytania o zakupy dowolnego typu produktu za pomocą interfejsu API rozliczeń w aplikacji v3 lub zakupy zarządzanych produktów za pomocą rozliczeń w aplikacji v1 i v2. Nie możesz używać interfejsu API stanu zakupów do wysyłania zapytań o zakupy niezarządzanych produktów za pomocą rozliczeń w aplikacji v1 lub v2.
+0

Link zniknął, po prostu przekierowuje do https://developer.android.com/google/play/developer-api.html#overview –

+0

Dzięki, zaktualizowałem odpowiedź, więc mam nadzieję, że jest nieco bardziej aktualna. –

3

EDYCJA: ta odpowiedź jest nieaktualna, zobacz odpowiedź Dana J.

Brak połączenia zwrotnego, ale usługa Google Checkout ma interfejs API. Twoje odpowiedzi to here.

+0

Ta odpowiedź jest przestarzała, a Dan J ma rację. Niech OP zaakceptuje to. –

Powiązane problemy