华为H5快游戏调用createPurchaseIntent支付接口拉起支付收银台后闪退

问题描述

H5快游戏调用createPurchaseIntent接口发起支付,拉起应用内支付收银台后,但收银台立即闪退。

代码如下:

function createPurchaseIntent (){
 var priceType = document.getElementById("priceType")
 var productId = document.getElementById("productId")
     var params = { purchaseIntentReq: {"applicationID""100798021","productId""Product1","priceType"0,"developerPayload""testPurchase",
     "publicKey":"XXX"}}
     HwFastappObject.createPurchaseIntent(JSON.stringify(params));
}

问题分析[l(2] 

我们找到华为技术支持QQ 2851508897(或提个工单咨询cke_12183.png)寻求帮助。

该接口是拉起应用内支付接口,没有成功,也没有任何回调报错,一般情况下是由于传参错误引起的。检查createPurchaseIntent接口的参数,有应用idapplicationID,商品类型:priceType支付公钥publicKey,商品idproductIddeveloperPayload:商户测保留信息。只要检查这五个参数是否有问题即可。

  1. applicationID是快游戏的appid,这个一般不易弄错。
  2. priceType是我们在后台配置的AGC商品,消耗型商品参数传0,非消耗型商品参数传1,订阅类商品传2
  3. Publickey是支付公钥,此参数传错,会正常拉起应用内支支付但会返会错误码"code":1001,"data":"createPurchaseIntent PAY_CHECKKEY_FAIL"
  4. developerPayload是商户保留字,不做校验。

那问题就是出现在productId中,该参数是AGC官网后台配置的商品信息,必须是本项目中已经处于有效状态下的商品id,传错或者传其他项目的商品id均会导致上述问题。正确获取商品管理界面商品id如下:

cke_17813.png

解决方案

按照问题分析,检查参数是否传递错误,尤其是productId值,一定是自己这个应用下面的商品id,不能是别的appproductid

欲了解更多详情,请参见:

H5快游戏开发指导:

  https://developer.huawei.com/consumer/cn/doc/development/quickApp-Guides/quickgame-develop-h5-game#h1-1594805279082

{{o.name}}
{{m.name}}

猜你喜欢

转载自my.oschina.net/u/4478396/blog/5520738
今日推荐