2016-02-03 115 views
0

我執行inApp在我的應用程序中購買並添加產品爲「管理產品」。購買後我想做收到驗證。對於我配置Developer控制檯像Android:inApp購買收據驗證(第2部分)

的步驟

  1. 開發者控制檯 - >設置 - > API訪問
  2. 創建服務器帳戶
  3. Google開發者控制檯 - >在服務帳戶中添加一個憑證並將其設置爲JSON

  4. 加入後,我從開發者控制檯有一個文件,它包含

    { 
        "type": "service_account", 
        "project_id": "api-xxxxx-xxx", 
        "private_key_id": "xxxxxxxxxxxxxxxxxxxxxx", 
        "private_key": "-----BEGIN PRIVATE KEY-----\ixxxxxxxxxxxxxxxx=\n-----END PRIVATE KEY-----\n", 
        "client_email": "test-in-app-rec[email protected]", 
        "client_id": "xxxxxxxxxxxxxxx", 
        "auth_uri": "https://accounts.google.com/o/oauth2/auth", 
        "token_uri": "https://accounts.google.com/o/oauth2/token", 
        "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", 
        "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/test-in-app-receipt-validation%40api-9129873511008807687-564452.iam.gserviceaccount.com" 
        } 
    

但我不知道該怎麼做下一步。 如何使用這個文件收據驗證

購買我得到的效應初探作爲

{ 
"orderId":"12999763169054705758.1371079406387615", 
"packageName":"com.example.app", 
"productId":"exampleSku", 
"purchaseTime":1345678900000, 
"purchaseState":0, 
"developerPayload":"bGoa+V7g/yqDXvKRqq+JTFn4uQZbPiQJo4pf9RzJ", 
"purchaseToken":"rojeslcdyyiapnqcynkjyyjh" 
} 

任何人都可以幫我如何處理收據驗證了化妝使用下載文件的下一個步驟之後包含JSON值

回答

3

在您的original question上執行以下操作後,我知道您正在爲您的服務器端代碼使用Java,因此您需要使用Google API Client Library for Java。我自己對Java不太熟悉,但文檔很容易遵循。

首先,您需要進行身份驗證,看看Google提供的example code。您目前擁有JWT(JSON Web令牌),但您可以繼續保持該示例,只需從Google API儀表板上的相同位置下載p12證書文件即可。

您的驗證碼應該是這個樣子:

HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport(); 
JsonFactory jsonFactory = JacksonFactory.getDefaultInstance() 

GoogleCredential credential = new GoogleCredential.Builder().setTransport(httpTransport) 
    .setJsonFactory(jsonFactory) 
    .setServiceAccountId(SERVICE_ACCOUNT_EMAIL) 
    .setServiceAccountScopes(Collections.singleton(AndroidPublisherScopes.ANDROIDPUBLISHER)) 
    .setServiceAccountPrivateKeyFromP12File(new File("key.p12")) 
    .build(); 

也不要忘記設置你的SERVICE_ACCOUNT_EMAIL並存儲key.p12文件到您的服務器的某個地方訪問。

如果你有興趣,這是docs AndroidPublisherScopes

正如我所提到的,我對Java的知識有限,請使用您的無視我所犯的任何錯誤。

谷歌已經提供了一些code samples下載和鏈接到GitHub回購。我建議檢查一下。

從這裏您可以使用AndroidPublisher.Purchases.Products.Get方法檢索購買的詳細信息。文檔列表中的簽名如下:

AndroidPublisher.Purchases.Products.Get(java.lang.String packageName, java.lang.String productId, java.lang.String token) 

對於訂閱使用AndroidPublisher.Purchases.Subscriptions.Get

如果您需要更多幫助,請考慮提問javagoogle-api-java-client標籤。

+0

非常感謝Marc @Marc Greenstock –

相關問題