首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android : inApp购买收据验证(第2部分)

Android : inApp购买收据验证(第2部分)
EN

Stack Overflow用户
提问于 2016-02-03 06:26:25
回答 1查看 3K关注 0票数 0

我将在我的应用程序中实现inApp购买,并将产品添加为"Manage Product“。购买后,我想做收据验证.For,我在开发人员控制台中进行了配置,如

这些步骤是

  1. 开发人员控制台->设置-> API访问
  2. 创建服务器帐户
  3. ->在服务帐户中添加凭证,并将其作为JSON
  4. 添加之后,我从开发人员控制台获得了它包含的文件。 {“service_account”:"service_account","project_id":“ixxxxxxxxxxxxxxxx”,"private_key_id":“”、"private_key":“"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”}

但我不知道下一步该怎么做。如何使用此文件收据验证

在购买后,我得到的回报是

代码语言:javascript
复制
{ 
 "orderId":"12999763169054705758.1371079406387615", 
 "packageName":"com.example.app",
 "productId":"exampleSku",
 "purchaseTime":1345678900000,
 "purchaseState":0,
 "developerPayload":"bGoa+V7g/yqDXvKRqq+JTFn4uQZbPiQJo4pf9RzJ",
 "purchaseToken":"rojeslcdyyiapnqcynkjyyjh"
}

有谁能帮我处理下一个步骤,以便使用包含JSON值的下载文件来进行收据验证?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-03 13:36:20

现在我知道您正在使用原始问题作为服务器端代码,接下来您将需要使用Google客户端Java库。我自己对Java并不满意,但是文档很容易理解。

首先,您需要验证,看看谷歌提供的示例代码。您目前有一个JWT (JSON ),但是可以通过从Google上的相同位置下载p12证书文件来保留这个示例。

您的身份验证代码应该如下所示:

代码语言:javascript
复制
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的认识有限,所以请使用您忽略我所犯的任何错误。

谷歌提供了一些代码样本,下载和链接到GitHub repos。我建议你去看看。

在这里,您可以使用AndroidPublisher.Purchases.Products.Get方法检索购买的详细信息。文档列出签名如下:

代码语言:javascript
复制
AndroidPublisher.Purchases.Products.Get(java.lang.String packageName, java.lang.String productId, java.lang.String token)

对于订阅,请使用AndroidPublisher.Purchases.Subscriptions.Get

如果您需要更多的帮助,可以考虑使用javagoogle-api-java-client标记问一个问题。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35169960

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档