Witam
nie mogłem nigdzie znaleźć informacji na ten temat, więc pisze, a mianowicie. Tworzę aplikację w której chcę zastosować wbudowane płatności, tylko aplikacja ta jest połączona z serwerem, na którym muszę zapisać, że taka płatność została zatwierdzona, tylko jak. Gdy w aplikacji zostanie wywołany callback, że płatność zakończona to nie mogę wysłać do serwera POSTem, że ktoś kupił bo taki POST można spokojnie wygenerować i ktoś mógłby aktywować funkcje bez kupna. Proszę o pomoc.
Z góry dziękuje
Pozdrawiam
Przecież to się odbywa za pomocą google play service.
Google play services zajmuje się samą płatnością, i jak zostanie zakończona to w aplikacji jest uruchamiany callback. Jeśli się mylę proszę o kod jak to zrobić, bo na serwerze nie mogę ustawić:
<?php
if($_POST['premium'] == true){
//code
}
?>
bo POST można zasymulować, więc chodzi mi o to, jakie dane wysłać z androida na SWÓJ serwer, żeby tam można było zweryfikować.
No ale możesz zrobić autoryzjację swojego serwera, zabiezpieczyć kod, lecieć po https i marne szanse, że ktoś strzeli posta do Twojego serwera. Na dodatek możesz też weryfikować po adresie email.
Po 1. https z ssl kosztuje
Po 2. wyobraź sobie taką sytuacje:
Masz konto na aplikacji i chciałbyś sobie kupić premium, ale że jesteś cebulą(bez obrazy, tylko taki przykład) to nie zapłacisz tylko szukasz sposobu na około. Patrzysz w kod a tam: koleś wysyła twój email, ze statusem POSTem, więc strzelasz POST'a na mój serwer ze swoim mailem i statusem kupione.
Czy da się wysłać jakieś sygnatury, id, product id itp na serwer i tam zweryfikować korzystając z jakiegoś google api. O takie cuś mi chodzi.
PS.Mam fobie na temat bezpieczeństwa :D
AD.1 Wiem
AD.2 Pisałem o autentykacji POST'a i np obfuskowaniu kodu.
Na dodatek google przed tym zabezpiecza w Google API. Od tego to jest.
Natomiast jak chcesz się zabezpieczyć przed nielegalnym udostępnieniem APK to możesz właśnie strzelać po emailach które zaciagasz w chwili callbacka