0

我目前正在使用地牢示例来实现从谷歌购买 inApp 并且大部分似乎都在工作。我目前将购买加载到我的数据库中,以存储给定用户进行的所有购买,这是由我从设备获得的 udid 存储的,当我看到 onPurchaseStateChange 方法返回 PurchaseState.PURCHASED 时完成。我需要能够将其映射到以下数据之一,即 Google 订单号我们的公司订单号,例如显示在发送给客户的收据上。

Google order number: 4444555552219333 - XYZ Inc Order #66666633355555224444.3332214444224444

我怎样才能做到这一点。在交易过程中,我找不到从谷歌返回此信息的位置。希望当我发现 PurchaseState.PURCHASED 被返回时,我还能够获得与同一个呼叫中的任何一个订单号匹配的附加数据,但如果我必须再做一个,我想我可以在此时拨打电话但我不知道什么时候做或实际调用什么。

4

1 回答 1

0

在继续研究答案时发现:

当用户购买应用内商品时,Google Checkout 会为该交易分配一个唯一且永久的订单号。Google Play 在购买流程结束时向您提供该订单号,作为 PURCHASE_STATE_CHANGED 意图的 orderId 字段的值。

在您的应用中,您可以将订单号用作应用内购买交易的通用标识符。购买后,您可以使用订单号作为在对账报告中跟踪交易和获得客户支持的一种方式。

订单号本身是一个仅由数字组成的字符串,其格式由 Google Checkout 分配和管理。

对于日期为 2012 年 12 月 5 日或之后的交易,Google Checkout 会分配商家订单号(而不是 Google 订单号)并将商家订单号报告为 orderID 的值。这是一个例子:

“orderId”:“12999556515565155651.5565135565155651”

对于 2012 年 12 月 5 日之前的交易,Google checkout 分配了一个 Google 订单编号,并将该编号报告为 orderID 的值。下面是一个包含 Google 订单号的 orderID 示例:

“orderId”:“556515565155651”

因此,通过解析意图,您可以确定与之关联的特定订单并将其存储或使用它来确认购买或其他详细信息

于 2012-12-22T04:04:20.733 回答