我在Google Play(fmr。Android Market)上放置應用,現在我正在開發應用內結算功能。 Android文檔說,您應該通過使用公鑰驗證交易簽名來做到這一點,但我想知道使用Google Checkout API檢索訂單信息會更容易。像下面這樣:使用Google Checkout驗證Android應用內購買?
老辦法
- 的Android客戶購買了一些產品的市場
- 市場上發出迴應電話的隨機數,簽名的transactionId等
- Android手機,或遠程服務器驗證使用隨機數(先前生成)的事務和簽名。
- 如果交易被驗證,購買是有效的,信貸客戶與項目。
MY WAY
- 的Android客戶購買了一些產品在市場上
- 市場發出迴應電話的隨機數,簽名的transactionId等
- Android手機發送請求到遠程服務器的transactionId
- 遠程服務器向google checkout API發送一個請求,以使用transactionid命令,並驗證事務已清除。
- 如果交易已被清除,信貸客戶與項目
這可能嗎?
那麼,這兩種方法都變成了很多工作。我使用App Engine作爲我的遠程服務器,它沒有簡單的方法來驗證公鑰使用的簽名(m2crypto不在AE上運行,pyCrypto有問題)。 – 2012-04-07 15:43:25
不知道關於生成隨機數和驗證簽名的工作很多。當然連接到谷歌結帳是更多的工作?有一段時間沒有使用pyCrypto,但我很確定它可以驗證RSA簽名。或者你可以用Java做後端。 – 2012-04-07 15:50:31
我不是Android/Play開發者 - Google Checkout API僅適用於通過Google Checkout進行的交易(不是任何其他API/Google產品)。您的商家/賣家ID和密鑰對於您的市場/產品API是唯一的(它不會與Google Checkout的「商家ID /密鑰」相同。訂單號/ ID也會不同...... – EdSF 2012-04-08 03:13:03