如何解决HarmonyOS鸿蒙Next中支付成功后因为金额对比不一致,华为游戏不发货的问题
如何解决HarmonyOS鸿蒙Next中支付成功后因为金额对比不一致,华为游戏不发货的问题
关键词
华为游戏不到账,商品信息一致性
问题描述
游戏接入华为应用内支付服务,并已上线华为应用市场,最近有个海外玩家来投诉支付成功后商品没到账,我们发现该订单支付返回的是外币,不是人民币,我们数据库里记录的是所有商品的人民币价格,对比价格不一致,所以没发货。
华为不会自动帮我们转化币种的吗?
我是否可以限制不让外币支付?
问题分析
我找到华为技术支持(可以提交工单:https://developer.huawei.com/consumer/cn/support/feedback),对方告诉我:
a. AGC后台游戏发布到哪些国家,这些国家的帐号就可以去游戏内支付。
例如游戏发布中国大陆和港澳台,如果我的华为帐号服务地是香港的,就可以去购买支付,如果是新加坡帐号,就不能支付。
b. 用什么国家的帐号购买的,支付完成后,回调数据里面就是对应的币种和金额。华为不会去做转换。
收到支付回调后,游戏做支付校验,校验完还要验证InAppPurchaseData中的productId、price、currency等信息的一致性。如果游戏还发布中国大陆之外的地区/国家,那么就不要只拿人民币去和回调里的商品信息做对比。
例如,游戏发布中国大陆和港澳台,AGC后台配置好商品信息后,会显示大陆和港澳台的价格(其他国家的可以不用关注),我需要在游戏数据库里记录商品的这四个币种和价格等信息。当华为帐号服务地是香港时,支付完成后,华为回调里的币种和金额都是香港的,我从数据库找到该商品的香港价格,做对比,如果一致,那就能发货了。
问题解决
我去AGC后台确认了,游戏勾选了发布全球,按照华为技术支持说的,要么就修改我们数据库,不要只用人民币去做商品信息一致性校验,要么就修改发布国家。
内部综合考虑后,我们决定先把发布国家修改为只发布中国大陆。这样,就只有大陆帐号能支付了,我们也不用修改数据库逻辑。问题得到解决。
PS
如何查看游戏发布地:
https://developer.huawei.com/consumer/cn/doc/app/agc-help-releaseapkrpk-0000001106463276#section4510115719910
更多关于如何解决HarmonyOS鸿蒙Next中支付成功后因为金额对比不一致,华为游戏不发货的问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html
更多关于如何解决HarmonyOS鸿蒙Next中支付成功后因为金额对比不一致,华为游戏不发货的问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,若因金额对比不一致导致华为游戏不发货,建议采取以下步骤:
- 首先,确认支付金额与订单金额是否一致;
- 其次,检查支付渠道是否有延迟或错误;
- 然后,联系华为客服提供支付凭证和订单信息进行核实;
- 最后,若问题未解决,可尝试重新下单或更换支付方式。
确保所有操作在官方渠道进行,以避免安全风险。