You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用API验证Google Play收据时遇404不支持文档类型错误

解决Google Play收据验证API返回404 "The document type is not supported"错误

错误原因分析

这个unsupportedDocType错误指向token参数,常见诱因有这几个:

  • 请求端点和购买类型不匹配:你用的是一次性商品(products)的验证接口,但如果用户买的是订阅(subscriptions),就会触发这个报错。
  • Purchase Token无效或过期:传入的token不是有效的一次性商品购买凭证,可能被篡改、截断或者已失效。
  • 服务账号权限没配置到位:虽然拿到了token,但服务账号没被添加到Google Play Console的对应项目里,导致无权访问资源。

修复方案

1. 匹配购买类型切换接口

如果是订阅类购买,把API地址换成订阅验证端点:

# 订阅验证接口
url = f"https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{package_name}/purchases/subscriptions/{product_id}/tokens/{purchase_token}"

如果确实是一次性商品,核对product_id是否和Google Play Console里配置的完全一致(注意大小写、特殊字符)。

2. 校验Purchase Token有效性

  • 确保token是客户端直接返回的原始值,没有被转义、截断或修改。
  • 先用Google Play Console提供的测试token做验证,排除token本身的问题。

3. 检查服务账号权限

  • 登录Google Play Console,进入「用户和权限」页面,把你的服务账号邮箱添加为开发者或财务角色。
  • 确认服务账号已被授权访问目标应用,且相关API处于启用状态。

调试用请求示例(一次性商品)

package_name = 'com.your.package'
product_id = 'your_product_id'
purchase_token = 'valid_purchase_token'

url = f"https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{package_name}/purchases/products/{product_id}/tokens/{purchase_token}"
response = requests.get(url, headers={'Authorization': f'Bearer {credentials.token}', 'Accept': 'application/json'})

# 打印响应便于调试
print(response.json())

内容的提问来源于stack exchange,提问作者Technical Storm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 05:06:08