App Engine 启用 billing profile 失败并被多次扣款
结论
Invalid Verification code 通常不是 App Engine 的配置或代码问题,而是银行卡验证没有通过。这里的 “Verification code” 一般指信用卡安全码(CVV/CVC)。即使安全码填写正确,发卡行仍可能因账单地址不匹配、境外交易受限、线上支付受限或风控策略而拒绝授权。
连续出现的 C$1.10 通常是验证银行卡有效性的小额预授权,不一定代表款项已经实际结算。此时应停止重复提交,并联系发卡行确认拒绝原因。解除限制后,再尝试创建 billing profile。
对于重复记录,先确认其状态是 Pending 还是 Posted。未入账的预授权通常会自动撤销;如果款项已经入账并且长时间没有退回,则需要联系 Google Cloud Billing Support 和发卡行处理。
为什么信息正确仍然会失败
支付系统会同时核验多项信息,不只检查卡号和安全码:
- CVV/CVC 是否正确。Visa、Mastercard 通常使用卡背面的三位数字,American Express 通常使用卡片正面的四位数字。
- 持卡人姓名、账单地址和邮政编码是否与银行记录一致。
- 发卡行是否允许线上交易、境外交易或周期性付款。
- 卡片是否支持 Google Cloud 使用的支付方式。
- 银行是否将短时间内的多次验证识别为异常交易。
- 浏览器自动填充是否使用了旧地址或旧安全码。
- Google Payments profile 的国家或地区是否与实际账单信息一致。
页面显示 Invalid Verification code,不代表 Google 已经确定 CVV 输入错误。这也可能只是支付网关对发卡行拒绝结果的概括性提示。更具体的拒绝原因只有发卡行或 Google 支持团队能够查询。
建议的解决步骤
1. 停止继续重试
不要连续使用同一张卡重复提交。每次提交都可能触发新的验证授权,并进一步触发银行风控。先等待一段时间再处理,以免产生更多小额预授权。
2. 检查银行端的交易状态
登录银行网站或联系发卡行,确认六笔 C$1.10 记录分别处于哪种状态:
Pending、Authorization或“待处理”:通常只是暂时冻结额度。Posted、Completed或“已入账”:已经形成实际交易。Reversed或“已撤销”:授权已经解除。
预授权何时解除由发卡行决定,可能需要数个工作日,具体时间以银行说明为准。
3. 直接询问发卡行拒绝原因
联系银行时,可以这样说明:
I am trying to add this credit card to a Google Cloud billing profile.
The transaction is being declined with "Invalid Verification code".
Please confirm whether the card allows online, international, and recurring
transactions, and whether the billing address and security-code verification
are passing.
请银行重点检查以下项目:
- CVV/CVC 验证结果;
- AVS(Address Verification System)验证结果;
- 境外及跨境线上交易权限;
- 周期性或订阅类付款权限;
- 是否存在风控拦截;
- 卡片当前状态及可用额度。
不要把完整卡号或 CVV 发到论坛、邮件正文、工单截图或聊天群中。支持人员通常也不应要求你提供完整安全码。
4. 核对 Google Payments 信息
再次尝试前,检查 billing profile 中的以下内容:
- 国家或地区是否选择正确;
- 持卡人姓名是否与银行记录一致;
- 账单地址是否采用银行登记的格式;
- 省份、城市和邮政编码是否准确;
- 是否误用了收货地址、公司地址或旧地址;
- 浏览器自动填充是否覆盖了刚输入的内容。
如果国家或地区配置错误,不要随意修改地址来绕过验证。现有 payments profile 的地区如果无法正确调整,应联系 Google 支持,确认是否需要创建新的 profile。
5. 再进行一次受控尝试
银行确认卡片没有限制后,再尝试一次即可。建议手动输入支付信息,暂时关闭自动填充,同时确认当前页面属于 Google 官方域名。
如果仍然失败,可以换用另一张由正规发卡机构发行,并支持线上及周期性付款的信用卡。更换银行卡只能用于排查,无法解决 payments profile 的国家、地址或账户风控问题。
如何联系支持
Billing profile 属于 Google Cloud Billing 或 Google Payments 范畴,并非 App Engine 应用代码故障。可以从 Google Cloud Console 的 Billing 区域寻找帮助入口:
- 登录发生问题的 Google 账号。
- 打开 Google Cloud Console。
- 进入
Billing。 - 使用页面中的
Help、Support或Contact billing support。 - 选择付款方式、银行卡验证或重复扣款相关问题。
控制台界面和入口名称可能随时间变化。即使 billing account 尚未成功建立,也应优先寻找账单与付款支持入口。账单问题通常不要求先购买技术支持套餐。
如果控制台中没有联系选项,可以从 Google Cloud 官方支持页面进入 Billing Support。请确认登录的是创建 billing profile 时使用的账号。
提交工单时,提供以下信息即可:
Cloud account email: <账号邮箱>
Approximate attempt time: <日期、时间和时区>
Error message: Invalid Verification code
Card brand: <Visa/Mastercard/Amex 等>
Card last four digits: <仅末四位>
Authorization amount: C$1.10
Number of authorizations: 6
Bank transaction status: <Pending/Posted/Reversed>
Billing profile ID: <如已生成>
不要提交完整卡号、有效期或 CVV。
重复 C$1.10 应如何处理
如果六笔记录仍处于待处理状态,通常应先等待银行自动释放预授权。Google 和银行显示预授权的方式可能不同。即使 Google 没有完成收款,银行端仍可能暂时减少可用额度。
如果记录已经正式入账,或者超过银行说明的预授权处理期限后仍未撤销:
- 截取银行交易记录,并遮挡账号和完整卡号。
- 保存每笔交易的日期、金额和交易描述。
- 向 Google Cloud Billing Support 提交重复扣款问题。
- 同时请发卡行查询授权码和商户交易状态。
- 在 Google 支持完成核查前,谨慎发起拒付,因为拒付可能影响 Google Payments 或 Cloud Billing 账户状态。
不需要修改 App Engine 代码
问题发生在 billing profile 的支付验证阶段,与应用程序、app.yaml、Cloud SDK 或部署命令无关。运行下面的命令无法修复银行卡验证失败:
gcloud app deploy
在 billing account 尚未成功建立或关联时,反复部署也无法绕过付款验证。正确的处理顺序是先让发卡行确认授权条件,再由 Google Cloud Billing Support 核查 payments profile 和重复交易。
备注:内容仅供参考。
