2016-02-03 14 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 –