当前位置: 首页 > 后端技术 > Java

【FAQ】干货满满,接入HMSCore应用内支付服务过程中的一些常见问题汇总(二)来了

时间:2023-04-02 00:44:39 Java

HMSCore应用内购买服务(In-AppPurchases,IAP)为应用程序提供便捷的应用内购买支付体验和便捷的访问流程。该服务支持客户端和服务器两种开发形式。详情请参考官方文档。上次分享和总结了com.huawei.hmf.tasks.Task/应用服务器验证、购买token验证失败等相关问题,今天小编再次总结一下集成应用内支付过程中的一些问题开发者在此期间比较关注的服务,并提出解决方案。大家按需使用!目录沙箱账号已正确配置,但无法进入沙箱环境。哪些场景会收到订阅密钥事件通知?cancelInAppPurchaseData中的payOrderId和orderId有什么区别?如何理解新订阅只会在下一个周期生效?集成智慧屏账号、应用内支付等功能,一定要在华为智慧屏上调试吗?1.沙箱账号配置正确,但仍然无法进入沙箱环境沙箱环境测试可以让开发者在接入应用内支付服务的联调过程中完成端到端测试,无需真实支付。开发者可以在AppGalleryConnect中配置测试账号,允许这些账号进行沙盒测试。如果已经进入沙盒环境,会出现如下页面提示:配置沙盒环境的必要条件:一般来说,开发者需要配置沙盒测试环境账号和沙盒测试版本。如果测试账号配置正确,那么就是沙盒测试版本有问题,比如改了versionName却没有改versionCode。如果出现没有进入沙箱环境的问题,可以调用isSandBoxActivated接口打印出如下字段值:通过以上方法,我们可以分析出没有进入沙箱环境的具体原因。欲了解更多信息,请参阅官方网站。2.哪些场景会收到订阅密钥事件通知取消?当订阅事件取消事件发生时,一般有以下两种场景。1)调用取消订阅接口:在收到用户投诉订阅商品购买错误或不需要订阅商品的情况下,开发者可以调用应用内支付服务器提供的取消订阅接口终止服务。立即消失,订阅费将立即退还。详情请访问官方网站。2)订阅切换立即生效:用户原订阅的剩余金额将转换为新订阅的天数,并顺延新订阅的有效期。目前这种切换效果的触发场景是原订阅的续订周期与被替换订阅的续订周期相同。详情请访问官网3)两者的区别:调用取消接口会立即退还费用;切换认购立即生效会将当前认购的剩余权益价值转移至下一个认购产品,不形成退款。3、InAppPurchaseData中的payOrderId和orderId有什么区别?1)payOrderId为华为订单号,即支付成功后华为生成的订单号。每个成功支付的订单都会生成一个唯一的订单号。2)orderId为商家的请求编号。每次调用支付收银接口,华为服务器都会生成一个唯一的商户请求编号,代表每一次请求。所以调用华为收银接口会生成OrderId,只有支付成功才会生成PayOrderId。4.如何理解新订阅只会在下一个周期生效?原订阅设置为过期,新订阅待处理。新订阅将在原始订阅到期日计费并生效。目前这种切换效果的触发场景是:原订阅的续费周期与待更换订阅的续费周期不同。详情请访问官网查看示例!如果用户在2月22日以30元的价格购买了订阅期为1个月的产品A,并于3月10日以80元的价格购买了订阅期为3个月的产品B,则可知:1)A将是2月22日扣除产品30元,3月10日重新签B产品,暂时不收取B产品费用。2)产品A将设置为过期状态,即产品A将于3月22日到期,不再收费。3)B产品3月22日生效扣费,下一次扣费6月22日。5、集成智慧屏账号、应用内支付等功能,需在华为智慧屏上调试?智慧屏测试依赖HMSCoreTVAPK。没有这个APK,相应的集成功能将无法使用。一般来说,华为智慧屏都会预装系统应用。这时候可能有开发者会想,能不能在手机或者其他品牌电视上测试智慧屏账号和应用内支付的功能呢?答案是否定的,原因有二:1)由于华为的安全和隐私规定,原则上APK是不对外公开的。2)HMSCore部分能力依赖华为系统,其他品牌电视可能无法使用。6.2.0.300版本之后,华为手机无法正常使用。更多HMSCore应用内支付服务详情请参考应用内支付服务官网了解更多>>访问华为开发者联盟官网获取开发指导文档华为移动服务开源仓库地址:GitHub、Gitee关注我们,第一时间了解HMSCore最新技术资讯~