I have implemented In App Billing for my Android app.
After a feature is purchased in my app, I have been collecting the Purchase bundle of that purchase order to my local server.
I don’t know what’s wrong or happened, but I observed a few purchase orders on my local server, which are not reflected on the merchant page.
When I check the purchase orders at my server, I found something strange like, the Order ID for that purchase is found as
Order ID <19 Digit number>.<16 Digit Number>
say <1234567891234567891>.<1234567891234567>
According to Google,
The order number itself is a string consisting of numbers only, with a format assigned and managed by Google.
For transactions dated 5 December 2012 or later, Google payments assigns a Merchant Order Number (rather than a Google Order Number) and reports the Merchant Order Number as the value of orderId. Here's an example:
"orderId" : "GPA.1234-5678-9012-34567"
For transactions dated previous to 5 December 2012, Google checkout assigned a Google Order Number and reported that number as the value of orderId. Here's an example of an orderId holding a Google Order Number:
"orderId" : "556515565155651"
The orders which are shown at the merchant page are in the following format:
"orderId" : "GPA.1234-5678-9012-34567"
Questions:
Is the OrderId other than the format is considered as fraud?
How to validate an actual purchase in case of fraud orders (i.e Order ID <19 Digit number>.<16 Digit Number>)?