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

应用内计费验证:需使用哪些公钥与私钥?

应用内计费购买数据验证实操指南

嘿,做应用内计费的时候,购买数据的验证可不能偷懒——这是保障交易安全、避免恶意欺诈的关键步骤!我给你理清楚具体该怎么做:

核心验证逻辑

你需要通过Google Play提供的Base64编码公钥,结合返回的INAPP_DATA_SIGNATURE,来校验INAPP_PURCHASE_DATA的合法性:

  • INAPP_PURCHASE_DATA是包含购买详情的JSON字符串(比如购买的商品ID、交易时间、用户信息等)
  • INAPP_DATA_SIGNATURE是Google Play用私钥对这个JSON字符串生成的签名,我们用公钥解密验证,就能确认数据确实来自官方,没被篡改

快速实现方法

Google官方已经给我们封装好了工具类,直接用就行:

  1. 找到官方计费示例里的Security类
  2. 调用它的verifyPurchase方法,传入三个参数:
    • 第一个参数:你的Google Play Base64格式公钥(base64PublicKey)
    • 第二个参数:返回的购买数据字符串(INAPP_PURCHASE_DATA)
    • 第三个参数:对应的签名字符串(INAPP_DATA_SIGNATURE)
  3. 方法会返回布尔值,true就说明验证通过,数据可信;false则要拒绝这次交易。

额外提示

如果觉得官方的类用着有点繁琐,也可以找一些封装更友好的工具类来简化代码,但核心的签名验证逻辑一定要和官方保持一致,别自己瞎改,不然容易出安全漏洞。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 08:48:12