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

将Mastercard信用卡添加至Google Pay报错无日志,OPC格式问题排查

问题排查解决方案

  • OPC转换错误:你当前代码中直接将base64编码的OPC字符串调用getBytes()转为字节数组传入setOpaquePaymentCard属于错误操作。正确流程是先对OPC字符串做Base64解码,将解码得到的二进制数组传入该方法即可。
  • OPC格式异常:卡组织下发的OPC本身是不透明二进制 payload,正常无法直接解码为明文JSON结构。你当前解码后得到JSON结构,说明后端返回的OPC经过了额外封装,无法被Google Pay服务端识别。请联系卡组织侧技术支持,确认后端获取到的原始OPC是否被二次封装,直接将卡组织下发的原始OPC做Base64编码后传给前端即可,不要做额外JSON封装。
  • OPC已过期:你贴出的示例tokenizationAuthenticationValue中dataValidUntilTimestamp有效期到2021年9月13日,已经过期失效。请后端重新获取最新的有效OPC再进行测试。
  • 补充返回结果日志:调用pushTokenize后需要在Activity的onActivityResult方法中添加回调日志,接收REQUEST_CODE_PUSH_TOKENIZE对应的返回结果:
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == REQUEST_CODE_PUSH_TOKENIZE) {
        Log.d(TAG, "pushTokenize resultCode: " + resultCode);
        if (data != null) {
            int errorCode = data.getIntExtra(TapAndPay.EXTRA_ERROR_CODE, -1);
            String errorMessage = data.getStringExtra(TapAndPay.EXTRA_ERROR_MESSAGE);
            Log.d(TAG, "errorCode: " + errorCode + ", errorMessage: " + errorMessage);
        }
    }
}

根据返回的错误码可以直接定位具体问题,比如OPC无效、签名校验失败、应用未备案等。

  • 应用备案校验:确认你App的包名、签名SHA256指纹和在Google Pay发行方后台提交的信息完全一致,同时确认你当前使用的测试Google账号已经添加到了测试白名单中。

内容的提问来源于stack exchange,提问作者Lukáš Šálek

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 12:24:03