- 资源:ProductPurchaseV2
- PurchaseStateContext
- PurchaseState
- TestPurchaseContext
- FopType
- ProductLineItem
- ProductOfferDetails
- RentOfferDetails
- ConsumptionState
- AcknowledgementState
- 方法
资源:ProductPurchaseV2
ProductPurchaseV2 资源指示用户应用内商品购买的状态。
| JSON 表示法 |
|---|
{ "productLineItem": [ { object ( |
| 字段 | |
|---|---|
productLineItem[] |
包含 ProductPurchaseV2 的商品级信息。 |
kind |
此类型代表 androidpublisher 服务中的 ProductPurchaseV2 对象。 |
purchaseStateContext |
有关购买交易的购买状态的信息。 |
testPurchaseContext |
与测试购买交易相关的信息。此值仅针对测试购买交易设置。 |
orderId |
与应用内商品购买相关的订单 ID。如果购买交易未关联任何订单,则可能不会设置此值。 |
obfuscatedExternalAccountId |
与您的应用中的用户账号唯一关联且经过混淆处理的 ID。仅当购买时使用 https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedaccountid 指定的情况下才存在。 |
obfuscatedExternalProfileId |
与您的应用中的用户个人资料唯一关联且经过混淆处理的 ID。仅当购买时使用 https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedprofileid 指定的情况下才存在。 |
regionCode |
授予商品使用权时用户账单邮寄地址所在地区的代码,采用 ISO 3166-1 alpha-2 格式。 |
purchaseCompletionTime |
购买成功的时间,即 PurchaseState 更改为 PURCHASED 的时间。此字段只有在付款完成后才会显示。例如,如果用户发起了待处理的交易 (https://developer.android.com/google/play/billing/integrate#pending),则只有在用户成功完成完成交易所需的步骤后,此字段才会填充。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
acknowledgementState |
仅限输出。相应购买交易的确认状态。 |
PurchaseStateContext
有关购买状态的上下文。
| JSON 表示法 |
|---|
{
"purchaseState": enum ( |
| 字段 | |
|---|---|
purchaseState |
仅限输出。相应购买交易的购买状态。 |
PurchaseState
可能的购买状态。
| 枚举 | |
|---|---|
PURCHASE_STATE_UNSPECIFIED |
未指定购买状态。切勿设置此值。 |
PURCHASED |
购买成功。 |
CANCELLED |
交易已取消。 |
PENDING |
购买交易处于待处理状态,尚未完成。如需详细了解如何处理待处理的购买交易,请参阅 https://developer.android.com/google/play/billing/integrate#pending。 |
TestPurchaseContext
有关测试购买交易的背景信息。
| JSON 表示法 |
|---|
{
"fopType": enum ( |
| 字段 | |
|---|---|
fopType |
测试购买的 FOP 类型。 |
FopType
可能的 fop 类型。
| 枚举 | |
|---|---|
FOP_TYPE_UNSPECIFIED |
未指定 FOP 类型。切勿设置此值。 |
TEST |
购买交易是使用测试卡完成的。 |
ProductLineItem
包含 ProductPurchaseV2 的商品级信息。
| JSON 表示法 |
|---|
{
"productId": string,
"productOfferDetails": {
object ( |
| 字段 | |
|---|---|
productId |
所购买商品的 ID(例如:“monthly001”)。 |
productOfferDetails |
相应商品的优惠详细信息。 |
ProductOfferDetails
与购买订单项相关的优惠详情。
| JSON 表示法 |
|---|
{ "offerTags": [ string ], "offerId": string, "purchaseOptionId": string, "rentOfferDetails": { object ( |
| 字段 | |
|---|---|
offerTags[] |
与优惠相关联的最新优惠标记。这包括从购买选项继承的标记。 |
offerId |
优惠 ID。仅针对优惠存在。 |
purchaseOptionId |
购买选项 ID。 |
rentOfferDetails |
有关租金优惠的优惠详情。此值仅会针对租赁订单项进行设置。 |
offerToken |
用于购买相应购买交易订单项的每交易优惠令牌。 |
quantity |
与应用内商品购买相关的数量。 |
refundableQuantity |
符合退款条件的数量,即尚未退款的数量。该值反映基于数量的部分退款和全额退款。 |
consumptionState |
仅限输出。相应购买交易的消耗状态。 |
RentOfferDetails
此类型没有字段。
与租赁订单项相关的优惠详情。
ConsumptionState
可能的消费状态。
| 枚举 | |
|---|---|
CONSUMPTION_STATE_UNSPECIFIED |
未指定消费状态。切勿设置此值。 |
CONSUMPTION_STATE_YET_TO_BE_CONSUMED |
尚未消耗。 |
CONSUMPTION_STATE_CONSUMED |
已消耗。 |
AcknowledgementState
一次性商品的确认状态。
| 枚举 | |
|---|---|
ACKNOWLEDGEMENT_STATE_UNSPECIFIED |
未指定确认状态。 |
ACKNOWLEDGEMENT_STATE_PENDING |
购买交易尚未确认。 |
ACKNOWLEDGEMENT_STATE_ACKNOWLEDGED |
购买交易已确认。 |
方法 |
|
|---|---|
|
检查应用内商品的购买和消耗状态。 |
错误代码
此资源的操作会返回以下 HTTP 错误代码:
| 错误代码 | 原因 | 说明 | 分辨率 |
|---|---|---|---|
400 |
invalidPurchaseState |
相应购买交易处于无效状态,无法执行所请求的操作。例如,您可能尝试确认已消耗的购买交易或取消未处于有效状态的订阅。 | 在尝试执行操作之前,请使用相应的 Get API 检查资源的当前状态。确保资源处于适合执行相应操作的状态。 |
400 |
invalidValue |
请求中提供的值无效。如果购买令牌格式有误或无效,通常会返回此值。 | 根据 API 参考文档,更正请求正文或参数中的无效字段值。 |
400 |
productNotOwnedByUser |
所提供的购买令牌有效,但用户目前不拥有相应商品。如果购买交易在确认之前被退款、撤消或过期,则可能会发生这种情况。 | 在尝试执行操作之前,请使用相应的 Get API 检查资源的当前状态。确保资源处于适合执行相应操作的状态。 |
400 |
purchaseTokenMismatch |
所提供的购买令牌与购买交易、软件包名称、订阅 ID 或商品 ID 不一致。 | 验证要求中的所有详细信息是否正确且相互对应。 |
400 |
required |
请求中缺少必需的字段或参数。 | 请参阅 API 文档,确保包含所有必填字段和参数。 |
400 |
unsupportedIabType |
指定的应用内结算类型不支持此操作。 | 确保 API 方法与所管理的商品类型兼容。 |
403 |
userInsufficientPermission |
用户没有足够的权限来执行所请求的操作。 | 确保经过身份验证的用户在 Google Play 管理中心内拥有必要的权限。如需了解详情,请参阅 使用服务账号。 |
404 |
notFound |
找不到所请求的资源。 | 验证标识符(例如购买令牌、软件包名称、商品 ID、订阅 ID)是否正确。 |
409 |
concurrentUpdate |
尝试更新正在并发更新的对象。 | 使用指数退避算法重试请求。避免同时修改同一资源。 |
5xx |
Generic error |
Google Play 服务器中的一般错误。 | 请重试您的请求。 如果问题仍然存在,请与您的 Google Play 客户经理联系,或提交支持请求。不妨查看 Play 状态信息中心,了解是否存在任何已知的服务中断。 |