2016-08-01 45 views
3

我已實施在應用程序結算對於我的Android應用程序。欺詐谷歌播放訂單ID收到

在我的應用程序中購買功能後,我一直在收集該購買訂單的購買捆綁到我的本地服務器。

我不知道發生了什麼問題,我在本地服務器上觀察到很少的購買訂單,這些訂單沒有反映在商家頁面中。

當我檢查的採購訂單,在我的服務器,我發現了一些奇怪的事情一樣,

該購買訂單ID被發現作爲

Order ID <19 Digit number>.<16 Digit Number> 
    say <1234567891234567891>.<1234567891234567> 

據谷歌稱,

訂單號碼本身只是一個由數字組成的字符串,由Google分配和管理的格式爲 。

對於日期爲2012年12月5日或更晚的交易,Google付款 會分配商家訂單號(而不是Google訂單號) ,並將商戶訂單號報告爲orderId的值。下面是 一個例子:

「訂單ID」:「GPA.1234-5678-9012-34567」

對於以往日至2012年12月5日的交易,分配一個谷歌訂單號谷歌結帳 和報道數量orderId的值 。下面是一個訂單ID拿着谷歌訂單爲例 編號:

「訂單ID」:「556515565155651」

它們在商戶頁面顯示的訂單是按以下格式,

"orderId" : "GPA.1234-5678-9012-34567" 

問題:

  1. 除格式之外的OrderId是否被認爲是欺詐?

  2. 如何驗證實際購買的情況下的欺詐命令[即訂單ID < 19位數>。 < 16位數字>]?

回答

0

您應該使用購買令牌來驗證使用谷歌購買API訂單,而不是訂單ID

Purchases.subscriptions: get

它似乎被谷歌服務器返回的訂單ID可能不總是在新的格式(GPA.1234-5678-9012-34567 )根據此link。由於格式可能在將來隨時更改,因此避免將其用於驗證。