I am noticing a lot of in-app purchase fraud in my app. Seems to be about 50/50 valid transaction vs fraud since enabling in-app purchases.
This is surprising that fraud is so widespread on iOS.
Currently we are logging all upgrades on our server, but not doing server-side validation. I assume server side validation is the best mechansim to prevent most fraud?
One thing that I noticed is the the "good" transactions have transaction ids like,
12345678912345
and the "bad" ones have ids like,
E0DFD3CC-15E2-4BC3-A15F-B03EBD95B59C
Can id assume valid transaction always have a 15 digit id, and ones like the above are fraud?