使用android dungeons示例如何从inapp购买中检索订单号

时间:2012-12-16 19:07:13

标签: android in-app-purchase

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

Google order number: 4444555552219333 - XYZ Inc Order #66666633355555224444.3332214444224444

我该怎么做?我无法在交易过程中找到谷歌返回此信息的位置。 希望当我发现返回PurchaseState.PURCHASED时,我还能够获得与任一订单号匹配的其他数据,但是如果我必须再制作另一个,我想我可以在此时拨打电话但我不知道何时制作或实际呼叫的内容。

1 个答案:

答案 0 :(得分: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结帐分配了Google订单号,并将该号码报告为orderID的值。以下是持有Google订单号的orderID的示例:

“orderId”:“556515565155651”

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