如何通过Google Play Developer API获取已购商品的支付(价格与货币)信息
解决Google Play Developer API订单详情无价格/货币信息的问题
嘿,我之前也踩过这个坑!你遇到的情况很正常——productPurchase这个端点本身就不会返回商品的价格和货币信息,因为这些属于商品的静态属性,而不是订单的动态交易数据。下面给你两种靠谱的解决办法:
方法一:调用商品详情接口获取定价
对于一次性消费型商品,用户支付的金额就是该商品在购买时的标价,你可以通过products.get接口拿到这些信息:
- 构造请求:
GET https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{你的包名}/products/{商品SKU}?languageCode={用户语言代码,比如zh-CN} - 响应里会包含你需要的核心字段:
price:本地化的价格字符串(比如"¥6.00")priceAmountMicros:以微单位计算的金额(比如6000000,对应6元)priceCurrencyCode:货币代码(比如"CNY")
把这些字段和你已有的productPurchase数据关联起来就行——同一个SKU在同一地区的定价是固定的,除非你在用户购买后修改了价格,但用户支付的肯定是购买时的标价。
方法二:如果是订阅商品(额外补充)
要是你处理的是订阅类订单,直接调用purchases.subscriptions.get接口就可以了,这个端点会直接返回priceAmountMicros和priceCurrencyCode字段,因为订阅可能涉及折扣、不同计费周期等动态定价,所以这些信息会包含在订阅购买详情里。
举个例子,订阅接口的请求格式:
GET https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{你的包名}/purchases/subscriptions/{订阅SKU}/tokens/{购买token}
这样应该就能完美解决你拿不到支付金额的问题啦!
内容的提问来源于stack exchange,提问作者Siyavash Khojasteh
相关产品推荐
相关产品推荐

