Flutter集成in_app_purchase后正式上线前需完成哪些准备工作?
Flutter 应用内支付生产环境发布前置检查清单
一、Google Play 端必做配置校验
- 移除测试相关配置:删除Google Play Console中添加的所有许可测试人员、测试信用卡配置,测试人员列表仅保留发布前必要的审核人员即可,普通用户不会进入测试支付路径
- 检查商品状态:确认所有内购商品在Google Play Console中已设置为激活状态,且关联的应用版本是即将发布的正式版版本号
- 结算库配置校验:打包正式APK/AAB时确保使用的是正式签名证书,不要使用调试签名,Google Play会自动根据签名和发布渠道区分沙箱/生产环境,不需要额外手动切换开关
- 校验购买凭证验证逻辑:服务端验证Google Play购买凭证时,确保正式环境调用的是Google Play Developer API的生产端点,不要对接沙箱测试端点
二、Apple App Store 端必做配置校验
- 移除沙箱测试账号关联:不要在App Store Connect的沙箱测试员列表中添加普通用户邮箱,只有测试人员的账号才会进入沙箱支付流程,普通用户登录的是正式App Store账号,自动走生产支付
- 检查商品状态:确认所有内购商品在App Store Connect中已提交审核并通过,状态为已批准,没有处于草稿或等待审核状态
- 打包配置校验:提交App Store的正式包使用Release模式打包,不要使用Debug模式打包的包提交审核,Xcode会自动根据打包模式和发布渠道区分沙箱/生产环境,无需手动切换
- 凭证校验逻辑校验:服务端验证Apple购买凭证时,正式环境要调用App Store的生产验证接口,不要调用沙箱验证接口,建议增加容灾逻辑:如果生产接口返回21007状态码(代表凭证是沙箱的),再 fallback 到沙箱接口验证,避免审核时出现问题
三、Flutter 端通用校验
- 确认
in_app_purchase包初始化逻辑没有硬编码沙箱相关参数,该包会自动根据应用的安装渠道和运行环境自动适配对应支付环境,没有单独的环境切换开关 - 增加购买前的环境校验逻辑,可在应用初始化时打印当前支付环境日志,正式发布前封包时确认日志输出的是生产环境即可
- 测试正式包支付逻辑:可以在发布前将正式包上传到Google Play内部测试轨道、App Store TestFlight测试,使用非测试账号验证支付流程是否正常触发正式支付,不会走测试免费路径
内容的提问来源于stack exchange,提问作者FCR
相关产品推荐
相关产品推荐

