Google Play应用订阅大量出现“Payment Pending”状态问题求助
我之前维护的一款Android订阅类App也碰到过完全相同的情况:3天免费试用结束后,大量月度订阅用户状态卡在“Payment Pending”且从未扣款,年度订阅却基本正常。最后通过以下几个方向排查解决了问题:
Billing Library版本的隐性bug
当时我们用的是Billing Library 4.1.0,后来发现该版本存在部分地区月度订阅自动扣款触发延迟的问题,升级到5.2.1稳定版后,Pending用户的比例直接降到了0.1%以下。升级时要注意,新版本的queryPurchasesAsync回调逻辑有细微调整,需确保没有遗漏对订阅状态变更的处理。地区风控导致的延迟扣款
问题集中在东南亚和拉美地区,这些地区的Google Pay对首次订阅试用后的扣款有额外风控验证流程,最长可能拖7天,期间状态显示为Pending。若超过7天仍未扣款,要检查订阅创建参数——当时我们给月度订阅设置freeTrialPeriod为P3D,但未正确配置setSubscriptionUpdateParams(即使新订阅部分场景也需明确该参数),导致系统无法正确触发扣款流程。本地状态缓存未及时更新
最初仅依赖购买时的onPurchasesUpdated回调更新本地状态,未定期主动拉取最新订阅状态。部分用户订阅状态已在Google端完成扣款,但客户端缓存仍显示Pending。后来改成每天主动调用一次queryPurchasesAsync,同时对接Google Play Developer API的服务器端通知实时同步状态,解决了本地状态与实际不符的问题。订阅商品配置的细微错误
检查Google Play Console的订阅商品配置,发现月度订阅的“计费周期”误选了“按日历月计费”而非“按30天周期计费”,部分地区系统对日历月的扣款触发逻辑存在延迟,改成30天周期后,Pending情况有所减少。
内容的提问来源于stack exchange,提问作者Appmodev54

