【FAQ】调用应用内支付SDK时报错,如何用tag对问题进行排查和分析
华为应用内支付服务(In-App Purchases,IAP)为开发者提供便捷的应用内支付体验和简便的接入流程。开发者的应用集成IAP SDK后,调用IAP SDK接口,启动IAP收银台,即可实现应用内支付。在集成过程中,开发者可能会遇到报错的问题,这时我们可以通过查找日志中的tag的方法对问题快速进行排查和定位,以下我们会结合两个实际问题来看如何使用这个方法。
问题一:某开发者调用华为应用内支付SDK,拉起收银台页面,提示“当前支付服务不可用,请稍后再试”。具体参考下图:

问题分析
1.首先我们确认调用的是IAP哪个接口。
通过查看开发者给的日志我们发现调用的是非PMS接口(通过过滤IapClientImpl,我们可以查询调用的接口名)

2.如果是pms,那么调用的收银台接口名为createPurchaseIntent,如果是非pms接口,则调用的接口名为createPurchaseIntentWithPrice。
3.根据对话框提示支付服务不可用,可能是支付服务api开关未打开或者某些地区不支持支付。按照这个思路我们进行定位,在日志中搜索tag: “hms_pay”:

日志显示当前的服务地是法国,但目前应用内支付服务购买非PMS商品只支持中国大陆,所以会提示支付不可用。

解决方法
在应用市场将服务地切换回国内,具体操作如下:应用市场 -> 设置 –> 国家/地区 –> 中国。

问题总结
开发者在调试过程中,如果出现接口不通,或者提示错误时,可以使用以下tag来进行问题定位:
HMSSDK: 可以通过此tag查询到HMS Core SDK框架侧是否异常,如6003,6004,90713XXXX等错误码,当然也会包含IAP SDK侧错误码。如60002,60050等


hms_pay: 如果出现60002,60050等IAP SDK侧错误码,可以通过IAP APK侧来分析可能出现的问题,即可以用该tag进行后续APK侧日志的定位分析。

Network-Request:这个tag其实也属于hms_pay下面的,属于服务测返回的错误码,我们可以根据服务侧返回的错误码以及错误描述,对照服务测文档进行初步排查和定位。如8、9、11、12等错误码。

问题二:某位开发者在调用“isEnvReady“方法时报错,提示“本应用未在当前国家/地区发布”具体参考下图:

问题分析
首先我们在日志上查找Tag 为HMSSDK 和 hms_pay, 发现60007错误码,对比业务错误码,提示商品配置的地区没有分发到该国家。

我们根据错误码提示去AGC网站上查询发布国家和地区,发现目前应用发布地设置在欧洲,但当前登录的帐号在中国大陆,所以会提示该错误。

解决方法
打开AGC网站,在应用上架 –>准备提交页面,将发布国家或地区勾选上中国大陆(如果想在某个国家或地区上架,需要勾选上对应国家或地区),勾选后点击保存,变更后一般在几个小时内会生效。

问题总结
和问题一的定位思路基本一致。根据错误码来进行初步定位。首先要根据客户端错误码判断可能存在的问题,如果我们已经拿到对应的客户端错误码,那么根据官网的错误码含义和解决方案处理即可。

了解更多详情>>
访问华为开发者联盟官网
获取开发指导文档
华为移动服务开源仓库地址:GitHub、Gitee
关注我们,第一时间了解 HMS Core 最新技术资讯~
【FAQ】调用应用内支付SDK时报错,如何用tag对问题进行排查和分析的更多相关文章
- 【FAQ】应用内支付服务无法拉起支付页面常见原因分析和解决方法
华为应用内支付服务(In-App Purchases)通过简便的接入流程为用户提供良好的应用内支付体验,然而在实际接入过程中,有一些开发者反馈测试时会无法正常拉起支付页面,下文将详细分析问题出现的5种 ...
- C# ODP.NET 调用Oracle函数返回值时报错的一个解决方案
有人在社区问到:C#调用Oracle中自定义函数的返回值时,无法正常调用.但在PL/SQL中正常调用返回. 于是动手一试: 1.准备函数(Oralce 11g.2.0.0.4) CREATE OR R ...
- matlab调用自己写的函数时报错: reference to a cleared variable
原因是在自己写的函数中加了clear. 解决办法:自己定义的函数中不能加clear,可以加clc;
- unittest中的方法调用时报错ValueError: no such test method in <class 'mytestcase.MyTestCase'>: runTest
调用unittest中的方法时报错: ValueError: no such test method in <class 'mytestcase.MyTestCase'>: runTest ...
- unittest 中的方法调用时报错 ValueError: no such test method in <class 'mytestcase.MyTestCase'>: runTest
1.调用unittest中的方法时报错: ValueError: no such test method in <class 'mytestcase.MyTestCase'>: runTe ...
- 【FAQ】干货满满,接入HMS Core应用内支付服务过程中一些常见问题总结(2)来啦
HMS Core应用内支付服务(In-App Purchases,IAP)为应用提供便捷的应用内支付体验和简便的接入流程.该服务支持客户端和服务端两种开发形式,具体可以参考官方文档 上次,我们分享和总 ...
- 接入华为应用内支付,验证购买Token接口,返回“rights invalid”
有海外开发者向我们提问:我在应用中集成了华为应用内支付SDK(测试购买订阅型商品),按照文档说明,在服务器去请求验证购买Token接口的时候返回了{"responseCode":& ...
- 【FAQ】接入HMS Core应用内支付服务过程中一些常见问题总结
HMS Core应用内支付服务(In-App Purchases,IAP)为应用提供便捷的应用内支付体验和简便的接入流程.开发者的应用集成IAP SDK后,调用IAP SDK接口,启动IAP收银台,即 ...
- 【FAQ】接入华为应用内支付服务常见问题解答
HMS Core应用内支付服务(In-App Purchases,IAP)为应用提供便捷的应用内支付体验和简便的接入流程.开发者的应用集成IAP SDK后,调用IAP SDK接口,启动IAP收银台,即 ...
- SDK接入(2)之Android Google Play内支付(in-app Billing)接入
SDK接入(2)之Android Google Play内支付(in-app Billing)接入 继上篇SDK接入(1)之Android Facebook SDK接入整理完Facebook接入流程之 ...
随机推荐
- CentOS6.8下yum安装Nginx
在/etc/yum.repos.d/目录下创建一个源配置文件nginx.repo: cd /etc/yum.repos.d/ vim nginx.repo 填写如下内容: [nginx] name=n ...
- 【Azure App Service for Windows】 PHP应用出现500 : The page cannot be displayed because an internal server error has occurred. 错误
问题描述 PHP应用突然遇见了500 The page cannot be displayed because an internal server error has occurred.错误,但是如 ...
- Java 包装类的使用(自动装箱+自动拆箱)+Vector
1 package com.bytezreo.ut; 2 3 import java.util.Scanner; 4 import java.util.Vector; 5 6 /** 7 * 8 * ...
- [青少年CTF训练平台]web部分题解(已完结!)
文章管理系统 首先打开环境(>ω<。人)ZZz♪♪ 既然要做题,就要做全面了,图上说了,既然有假flag我就先找出来: 假flag: 打开vmware,使用sqlmap进行处理: sqlm ...
- python AI应用开发编程实战 大模型实战基础(数据存储类型列表与字典)(二)
大模型开发中,需要和自己的业务融合,我们要对自己的数据处理,熟悉外理excle word pdf 数据然后处理后可以放到向量数据库,或者直接Assistants API传到大模型引用,不管怎么样数 ...
- Python 潮流周刊第 41 期(摘要),赠书5本
本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章.教程.开源项目.软件工具.播客和视频.热门话题等内容.愿景:帮助所有读者精进 Python 技术,并增长职 ...
- Docker:Failed to copy files, no space left on device
主页 个人微信公众号:密码应用技术实战 个人博客园首页:https://www.cnblogs.com/informatics/ 问题描述 在Mac上进行docker构建时,偶尔会遇到以下问题 Fai ...
- Fiddler 延迟请求
1.开启浏览器代理 2.fiddler设置要抓取的域名 3.设置fiddler代理端口 Tools->Options->Connections 4.设置接口延时 5.访问页面即可延时此接口
- 通过 TCPView KPKIService.exe 删掉 (原来是单点登录的中间件)
叫 统一安全中间件,就是个第三方做的key的安全检查,谁知道是哪年装的 (原来是单点登录的中间件) 资料 https://baijiahao.baidu.com/s?id=17173842191483 ...
- 简单实用算法——二分查找法(BinarySearch)
目录 算法概述 适用情况 算法原理 算法实现(C#) 实际应用:用二分查找法找寻边界值 参考文章 算法概述 二分查找(英语:binary search),也叫折半查找(英语:half-interval ...