目录

应用内支付2.0(存量应用使用,新应用请勿接入)

  • 该接口即将停止维护,新应用请勿接入。
  • 该功能依赖 IAP SDK 提供服务,IAP SDK 可能会收集用户的个人数据。请在快应用中使用该功能之前,告知用户将搜集个人数据,并引导用户阅读相应的隐私政策。

本文档仅介绍接口的定义,接口详细的使用顺序和场景,请参见“接入应用内支付服务2.0”。

接口声明

在manifest.json文件的 features属性中增加如下配置。

{"name": "service.pay"}

导入模块

在调用接口页面的<script>部分增加如下配置。

import pay from '@service.pay'

或

var pay = require("@service.pay")

使用限制

限制条件

说明

适用终端

手机、平板、智慧屏

适用区域

全球

接口定义

接口

描述

pay.getProvider(OBJECT)

获取服务提供商。

pay.pay(OBJECT)

使用支付完成付款。

pay.productPay(OBJECT)

托管商品的支付,托管商品是指在华为AppGallery Connect中维护的商品。

pay.getProductDetails(OBJECT)

用于从华为PMS系统获取商品详情。请开发者避免从自有服务端获取商品信息,否则可能导致应用内商品价格和华为支付收银台价格不一致。

pay.getPurchaseInfo(OBJECT)

查询当前用户已订购的非消耗商品订单信息。

pay.getOrderDetail(OBJECT)

查询订单详情,所有调用pay接口的订单均可查询,用于在丢单的情况下复核订单。

pay.getWalletStatus(OBJECT)

查询是否支持Huawei Pay线上支付。

pay.startWalletPay(OBJECT)

拉起Huawei Pay线上支付。

[h2]pay.getProvider(OBJECT)

描述

获取服务提供商。

返回值

字符串,服务提供商的代号,如厂商的英文品牌名称,如果无此服务则返回空字符串。返回空字符串时,请勿调用该服务其他接口,否则将抛出异常。

示例代码

pay.getProvider();

[h2]pay.pay(OBJECT)

描述

使用支付完成付款。

OBJECT参数

参数

类型

是否必填

说明

orderInfo

json

是

订单信息,详细信息请参见“orderInfo参数说明”。

success

function

否

成功回调。

fail

function

否

失败回调。

complete

function

否

执行结束后的回调。

orderInfo参数说明:

参数

类型

是否必选

是否参与签名

说明

productName

string(0,50)

是

是

商户对商品的自定义名称。此名称将会在支付时显示给用户确认。该字段中不能包含特殊字符,包括# " & / ? $ ^ *:) \ < > , | % +

productDesc

string(0,100)

是

是

商品描述, 商户对商品的自定义描述 。该字段中不能包含特殊字符,包括# " & / ? $ ^ *:) \ < > , | % +

applicationID

string(0,100)

是

是

应用ID,在华为开发者联盟上获取的APP ID。

requestId

string(0,32)

是

是

商户订单号。

来源:在支付前生成,用于唯一标识一次支付请求。支付平台在服务器回调接口中会原样返回requestId的值。该字段由字母和数字组成,必须在商户内唯一,用于唯一标识一个商户订单。

amount

string

是

是

商品金额,商品所要支付金额。此金额将会在支付时显示给用户确认。

注意:
  • 请保留小数点后两位,如20.00。如果不按照格式传入金额,会导致支付失败。
  • 部分币种amount只能设置为整数金额,例如只能是5.00,不能设置为5.02。涉及币种包括:BEF、XOF、XAF、XPF、KMF、GRD、GNF、HUF、IDR、JPY、LUF、MGA、MGA、MGF、PYG、PTE、RWF、KRW、ESP、TRL、VND

merchantId

string

是

是

商户ID。

来源:在华为开发者联盟上获取的“支付ID”。

serviceCatalog

string

是

否

商品类型。

  • X4:主题
  • X5:应用商店
  • X6:游戏
  • X7:天际通
  • X8:云空间
  • X9:电子书
  • X10:华为学习
  • X11:音乐
  • X12 :视频
  • V0:vmall实体商品
  • X31:话费充值
  • X32:机票/酒店
  • X33:电影票
  • X34:团购
  • X35:手机预购
  • X36:公共缴费
  • X37:基金理财
  • X38:彩票
  • X39:流量充值

游戏设置为"X6",应用设置为"X5"。如果传入类型错误,会影响风控,请商户按照真实业务类型传入。

merchantName

string(0,50)

是

否

商户名称。

来源:开发者注册的公司名。

sdkChannel

int

是

是

渠道信息,取值如下

  • 0 代表自有应用,无渠道
  • 1 代表应用市场渠道
  • 2 代表预装渠道
  • 3 代表游戏中心

游戏设置为3,应用设置为1。

url

string(0,255)

否

是

支付结果回调地址 。

华为服务器收到后检查该应用有无在开发者联盟配置回调URL,如果配置了则使用应用配置的URL,否则使用此url作为该次支付的回调URL。

注:必须是合法的url,长度最大255,不能以‘\’结尾,不能包含get参数。

例:

正确:https://domain.com/path

错误:https://domain.com/path?key=value

currency

string

否

是

币种,用于支付的币种。如USD、CNY、MYR等,符合ISO 4217。

参见“https://www.iso.org/iso-4217-currency-codes.html”。

如果不填写则默认为CNY。

country

string

否

是

国家码,用于区分国家信息。如US、CN、MY,符合ISO 3166标准。

参见“https://www.iso.org/iso-3166-country-codes.html”。

如果不填写则默认为CN。

urlver

string

否

是

支付结果回调版本。

该值可以不传,如果传值则固定值传2,如果不传2会导致支付不成功。

extReserved

string(0,128)

否

否

商户侧保留信息。该字段中不能包含特殊字符,包括# " & / ? $ ^ *:) \ < > , | % +

若该字段有值,在华为支付服务器回调接口中原样返回。

sign

string

是

否

  1. 取相关参数字段,按参数名的ASCII码的增序排序,若遇到相同首字母,则看第二个字母,以此类推。
    注意:

    参与签名的参数原则如下:

    1. 所有请求中携带,标识为“参与签名”且参数值不为null或者“”的参数必须参与签名,签名时参数值必须与ProductPayRequest传递的保持一致。
    2. sign参数不参与签名。
  2. 排序完成之后,再把所有参数名和参数值的键值对以“&”字符连接起来,得到的字符串即为待签名串。
  3. 将待签名字符串使用“支付私钥”进行签名,得到的字符串即为sign参数的值。支付私钥获取方式参见“开通应用内支付服务”中的“使用支付2.0接口”章节。
  4. 生成支付签名字符串,详细内容参见“快游戏如何正确生成支付签名字符串?”。

生成的签名可使用华为快应用IDE进行校验,详细内容参见“华为快应用IDE验证支付签名工具使用指导”。

expireTime

string

否

是

客户端订单超时时间(仅扫码支付可用)。

该字段暂未对外开放,请不要使用。

partnerIDs

string

否

是

收款账户ID列表,json数组。

该字段暂未对外开放,请不要使用。

validTime

int

否

否

客户端订单有效期。

订单在支付界面停留的有效时长(单位:秒),超出该时长再进行支付时,将弹框提示用户订单失效,并且确认后将退出支付,返回错误码给业务侧。

该参数传值,不能小于支付设定的默认值(目前为60秒),如果小于该值,则订单有效期赋值为默认值。

如果本参数不传递,支付侧将不设置有效期。

该字段暂未对外开放,请不要使用。

publicKey

string

是

否

公钥,在华为开发者联盟上开通应用内支付服务获取的“支付公钥”,获取方式参见“开通应用内支付服务”中的“使用支付2.0接口”章节。

success返回值:

参数

类型

说明

result

string

支付结果。

fail错误返回码:

参数

类型

说明

code

number

返回状态码。

data

string

消息内容。

fail异常码返回,不同的厂商提供的异常码会有差异,具体的异常码需要和厂商支付接口对接。

示例代码

pay.pay({
    orderInfo: {
        "amount": 0.01,     //商品金额
        "applicationID": "100389777",    //应用ID,在华为开发者联盟上获取的APP ID
        "productDesc": "商品描述",
        "productName": "商品名称",
        "serviceCatalog": "X5",    //游戏设置为"X6",应用设置为"X5"
        "merchantId": "900086001817",    //华为开发者联盟上申请应用内支付服务获取的“支付ID“
        "merchantName": "商户名称",    //商户名称
        "sign": "xxxxxxxxxxxxxxxx",    //签名
        "requestId": "xxxxxxxxxxxxxx",    //在支付前生成,用于唯一标识一次支付请求。支付平台在服务器回调接口中会原样返回requestId的值
        "urlver": "2",    //固定值为2
        "sdkChannel": 1,    //游戏设置为3,应用设置为1
        "publicKey": "MIIBIjANBgkqhkiG9w0BZZJgtNpEi0wIDAQAB"    //华为开发者联盟上申请应用内支付服务获取的“支付公钥”
    },
    success: function (ret) {
        prompt.showToast({
            message: "支付结果:" + JSON.stringify(ret)
        })
    },
    fail: function (erromsg, errocode) {
        prompt.showToast({
            message: 'pay fail --- ' + errocode + ':' + erromsg
        });
    }
})

[h2]pay.productPay(OBJECT)(1060+)

描述

托管商品的支付,托管商品是指在华为AppGallery Connect中维护的商品。

OBJECT参数

参数

类型

是否必填

是否参与签名

说明

applicationID

string

是

是

应用ID,在创建应用后由华为开发者联盟为应用分配的唯一标识。

productNo

string

是

是

所购买商品的PMS编码,用于从PMS系统获取商品信息和价格,此处填写查询到的产品编码,获取产品信息参见“getProductDetails”,如果在PMS查询不到对应商品,支付失败,PayResult:returnCode将返回PRODUCT_NOT_EXIST错误(该错误码在PayStatusCodes中定义)。

requestId

string

是

是

商户侧的支付订单号,用于唯一标识一次支付请求。

支付订单号由开发者自行生成,需由字母和数字组成,不能包含特殊字符,包括# " & / ? $ ^ *:) \ < > , | .并且不支持中文。

支付订单号每次支付请求需唯一,即使订单被取消或支付失败订单号也不可重复。

华为支付服务器在接口回调结果中会原样返回requestId的值。

merchantId

string

是

是

商户id,华为开发者联盟给开发者分配的“支付ID”。

serviceCatalog

string

是

否

商品类型。

游戏请设置为“X6”,应用请设置为“X5”。

如果传入类型错误,会影响风控,请开发者按照真实业务类型传入。

merchantName

string

是

否

商户名称,配置为注册开发者时配置的公司名。

sdkChannel

int

是

是

渠道信息,快游戏请设置为3。

取值如下:

  • 0 代表自有应用,无渠道
  • 1 代表应用市场渠道
  • 2 代表预装渠道
  • 3 代表游戏中心

url

string

否

是

支付结果回调地址 。

华为服务器收到后检查该应用有无在开发者联盟配置回调URL,如果配置了则使用应用配置的URL,否则使用此url作为该次支付的回调URL。

注意:

必须是合法的url,长度最大255,不能以‘\’结尾,不能包含get参数。支持多级域名,但域名中不能使用 _ 等特殊字符。

例如:

正确:https://test.sdkapp.chuangyunet.com/Pay/path

错误:https://test.sdk_app.chuangyunet.com/Pay/path?key=value

urlver

string(100)

否

是

支付结果回调版本。

请CP关注,该值可以不传,如果传值则固定值传2,如果不传2会导致支付不成功。

publicKey

string(50)

是

否

公钥,在华为开发者联盟上开通应用内支付服务获取的“支付公钥”,获取方式参见“开通应用内支付服务”中的“使用支付2.0接口”章节。

extReserved

string(128)

否

否

商户侧保留信息。该字段中不能包含特殊字符,包括# " & / ? $ ^ *:) \ < > , | % +

若该字段有值,在华为支付服务器回调接口中原样返回。

sign

string

是

否

  1. 取相关参数字段,按参数名的ASCII码的增序排序,若遇到相同首字母,则看第二个字母,以此类推。
    注意:

    参与签名的参数原则如下:

    1. 所有请求中携带,标识为“参与签名”且参数值不为null或者“”的参数必须参与签名,签名时参数值必须与ProductPayRequest传递的保持一致。
    2. sign参数不参与签名。
  2. 排序完成之后,再把所有参数名和参数值的键值对以“&”字符连接起来,得到的字符串即为待签名串。
  3. 将待签名字符串使用“支付私钥”进行签名,得到的字符串即为sign参数的值。支付私钥获取方式参见“开通应用内支付服务”中的“使用支付2.0接口”章节。
  4. 生成支付签名字符串,详细内容参见“快游戏如何正确生成支付签名字符串?”。

生成的签名可使用华为快应用IDE进行校验,详细内容参见“华为快应用IDE验证支付签名工具使用指导”。

success

function

否

否

成功回调。

fail

function

否

否

失败回调。

complete

function

否

否

执行结束后的回调。

success返回值:

参数

类型

说明

returnCode

int

返回码

errMsg

string

信息描述。

merchantId

string

商户ID,即华为开发者联盟为开发者分配的“支付ID”。

orderID

string

华为支付平台生成的支付订单号。

microsAmount

long

商品微单位价格。

值为商品实际价格乘以1,000,000。例如某个商品实际价格是1.99美元,则该商品对应的微单位价格为:1.99*1000000=1990000。

currency

string

币种。必须符合ISO 4217标准,例如USD、CNY、MYR。

country

string

国家码。必须符合ISO 3166标准,如US、CN、MY。

time

string

支付完成的时间戳。

requestId

string

商户侧的支付订单号,与请求参数中的requestId一致。

productNo

string

所购买商品的商品ID。

sign

string

以上数据的签名。

fail返回值:

参数

类型

说明

code

number

返回状态码。

data

string

状态码说明。

示例代码

productPay:function(){
    pay.productPay({
    "merchantId": "890086000000001051",
    "applicationID": "101234327",
    "requestId": this.requestid,
    "productNo": "yull",
    "serviceCatalog":"1",
    "sdkChannel":1,
    "urlver": "2",                    "publicKey":"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtTOTA354idE76xHbVdEMUwDaOc6UFc6l2Mz+RAbNBtdpkLWc2VJGSDLEAKjRpk5D4v2ZIZrTB1PMfiWQYIWcHMiUrKn2Eak55IyaQzg1jbBfxKE5Q4czdRUqt/2Djvyk7+nZCicQf++G1thPwLamFcgFP2dXY3R4koSRb0dyfjomnp5rJ+gZsOnLQxItoNrKpbvvVLSl73QIlzaqEv3HO5s6WPj2Zv+cP9JN2fQY6psKey7Tpys1i2N9x0BnXCviTahOvMtzV1b/5hVYKiw34l/ZugQhTpGvjFemjZQ2jkY8MgJYlqc4e17aCr2JyT2c600FB0mPXKmOf8fSLAKl9wIDAQAB",
    "sign": this.sign,//签名
    success: function (ret) {
        prompt.showToast({
            message: "productPay" + JSON.stringify(ret)
        })
    },
    fail: function (erromsg, errocode) {
        prompt.showToast({ message: 'productPay fail --- ' + errocode + ':' + erromsg });
        }
    })
},

[h2]pay.getProductDetails(OBJECT)(1060+)

描述

用于从华为PMS系统获取商品详情。请开发者避免从自有服务端获取商品信息,否则可能导致应用内商品价格和华为支付收银台价格不一致。

OBJECT参数

参数

类型

是否必填

说明

applicationID

string

是

应用ID。在华为开发者联盟上获取的AppID。

requestId

string

是

查询标识号,由开发者应用自行生成,用于唯一标识一次商品查询请求。

merchantId

string

是

商户ID,即华为开发者联盟给开发者分配的“支付ID”。

productNos

string

是

需要获取商品详情的商品ID列表,多个商品ID时以竖线“|”分割,一次查询最多支持20个商品。

商品ID来源于开发者在AppGallery Connect中配置商品信息时设置的“商品ID”,请参见“创建应用内商品”。

success

function

否

成功回调。

fail

function

否

失败回调。

complete

function

否

执行结束后的回调。

success返回值:

参数

类型

说明

requestId

string

商品查询请求的标识号,与请求参数中的requestId一致。

应用通过该参数识别本次回调结果所属的查询请求。

productList

list<productdetail>

成功查询到商品信息的商品列表,值为包含ProductDetail对象的数组。

failList

productfailobject

查询失败的商品信息列表,值为包含ProductFailObject对象的数组。

ProductDetail说明:

参数

类型

说明

productNo

string

查询成功的商品ID。

microsPrice

long

商品实际价格乘以1,000,000后的微单位价格。

例如某个商品实际价格是1.99美元,则该商品对应的微单位价格为:1.99*1000000=1990000。

price

string

商品的展示价格,包含商品货币单位和实际价格,格式为“货币单位 商品价格”,中间使用空格分隔,例如“CNY 0.15”。

currency

string

用于支付该商品的币种,必须符合ISO 4217标准,例如USD、CNY、MYR。

country

string

国家码,用于区分国家信息,必须符合ISO 3166标准,如US、CN、MY。

productName

string

商品名称,为配置商品信息时配置的名称。

productDesc

string

商品描述,为配置商品信息时配置的描述信息。

ProductFailObject返回值:

参数

类型

说明

productNo

string

查询失败的商品ID。

code

int

查询失败的错误码,具体错误码请参见“错误码”。

msg

string

查询失败的错误描述。

fail返回值:

参数

类型

说明

code

number

返回状态码。

data

string

状态码说明。

示例代码

getProductDetails:function(){
    pay.getProductDetails({
        "merchantId": "890086000000001051",
        "applicationID": "101234327",
        "requestId": "123",
        "productNos": "grtyrtyr|yuFan",
            success: function (ret) {
                prompt.showToast({
                    message: "getProductDetails" + JSON.stringify(ret)
                })
            },
            fail: function (erromsg, errocode) {
                prompt.showToast({ message: 'getProductDetails fail --- ' + errocode + ':' + erromsg });
            }
    })
},

[h2]pay.getPurchaseInfo(OBJECT)(1060+)

描述

查询当前用户已订购的非消耗商品订单信息。

OBJECT参数

参数

类型

是否必填

是否参与签名

说明

merchantId

string

是

是

商户ID,即华为开发者联盟给开发者分配的“支付ID”。

appId

string

是

是

应用ID,在创建应用后由华为开发者联盟为应用分配的唯一标识。

priceType

string

是

是

价格类型。固定值3:应用内非消耗品。

productId

string

否

是

所购买商品的PMS编码,如果不传该参数,则查询所有的非消耗商品信息。

ts

long

是

是

时间戳,距离1970年的毫秒数。

publicKey

string

是

否

公钥,在华为开发者联盟上开通应用内支付服务获取的“支付公钥”,获取方式参见“开通应用内支付服务”中的“使用支付2.0接口”章节。

pageNo

long

是

是

请求查询记录数的页码,每页默认查100条记录。

sign

string

是

否

  1. 取相关参数字段,按参数名的ASCII码的增序排序,若遇到相同首字母,则看第二个字母,以此类推。
    注意:

    参与签名的参数原则如下:

    1. 所有请求中携带,标识为“参与签名”且参数值不为null或者“”的参数必须参与签名,签名时参数值必须与ProductPayRequest传递的保持一致。
    2. sign参数不参与签名。
  2. 排序完成之后,再把所有参数名和参数值的键值对以“&”字符连接起来,得到的字符串即为待签名串。
  3. 将待签名字符串使用“支付私钥”进行签名,得到的字符串即为sign参数的值。支付私钥获取方式参见“开通应用内支付服务”中的“使用支付2.0接口”章节。

success

function

否

否

成功回调。

fail

function

否

否

失败回调。

complete

function

否

否

执行结束后的回调。

success返回值:

参数

类型

说明

rtnCode

string

结果码。

pageCount

long

页数。

purchaseInfoList

list<purchaseinfo>

查询到的非消耗商品订单列表。

sign

string

签名字符串。

ProductFailObject返回值:

参数

类型

说明

requestId

string

商户侧订单id。

merchantId

string

订单的商户ID。

appId

string

应用id。

productId

string

非消耗商品id。

tradeTime

string

支付完成时间,格式为:yyyy-MM-dd HH:mm:ss。

fail返回值:

参数

类型

说明

code

number

返回状态码。

data

string

状态码说明。

示例代码

pagetPurchaseInfo:function(){
    var that = this;
    pay.getPurchaseInfo({
        "merchantId": "890086000000001051",
        "appId": "101234327",
        "requestId": this.requestid,
        "priceType": "3",
        "productId":"yuFan",
        "pageNo":1,
        "ts": that.ts,
                  "publicKey":"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtTOTA354idE76xHbVdEMUwDaOc6UFc6l2Mz+RAbNBtdpkLWc2VJGSDLEAKjRpk5D4v2ZIZrTB1PMfiWQYIWcHMiUrKn2Eak55IyaQzg1jbBfxKE5Q4czdRUqt/2Djvyk7+nZCicQf++G1thPwLamFcgFP2dXY3R4koSRb0dyfjomnp5rJ+gZsOnLQxItoNrKpbvvVLSl73QIlzaqEv3HO5s6WPj2Zv+cP9JN2fQY6psKey7Tpys1i2N9x0BnXCviTahOvMtzV1b/5hVYKiw34l/ZugQhTpGvjFemjZQ2jkY8MgJYlqc4e17aCr2JyT2c600FB0mPXKmOf8fSLAKl9wIDAQAB",
        "sign": this.sign,//签名
        success: function (ret) {
            prompt.showToast({
                message: "getPurchaseInfo" + JSON.stringify(ret)
            })
        },
        fail: function (erromsg, errocode) {
            prompt.showToast({ message: 'getPurchaseInfo fail --- ' + errocode + ':' + erromsg });
            }
        })
},

[h2]pay.getOrderDetail(OBJECT)(1060+)

描述

查询订单详情,所有调用pay接口的订单均可查询,用于在丢单的情况下复核订单。

OBJECT参数

参数

类型

是否必填

是否参与签名

说明

merchantId

string

是

是

商户ID,即华为开发者联盟给开发者分配的“支付ID”。

requestId

string

是

是

需要查询订单详情的支付订单号。支付订单号由开发者应用在支付时自行生成,用来唯一标识一次支付请求,订单号生成后开发者应用需自行维护订单号。

注意:

该字段中不能包含特殊字符,包括# " & / ? $ ^ *:) \ < > , | . 并且不支持中文。

keyType

string

是

是

固定值,请填写:1 商户秘钥

time

string

是

是

当前时间的时间戳,即当前时间距离1970年的毫秒数。

publicKey

string

是

否

公钥,在华为开发者联盟上开通应用内支付服务获取的“支付公钥”,获取方式参见“开通应用内支付服务”中的“使用支付2.0接口”章节。

sign

string

是

否

  1. 取相关参数字段,按参数名的ASCII码的增序排序,若遇到相同首字母,则看第二个字母,以此类推。
    注意:

    参与签名的参数原则如下:

    1. 所有请求中携带,标识为“参与签名”且参数值不为null或者“”的参数必须参与签名,签名时参数值必须与payreq传递的保持一致。
    2. sign参数不参与签名。
  2. 排序完成之后,再把所有参数名和参数值的键值对以“&”字符连接起来,得到的字符串即为待签名串。
  3. 将待签名字符串使用“支付私钥”进行签名,得到的字符串即为sign参数的值。支付私钥获取方式参见“开通应用内支付服务”中的“使用支付2.0接口”章节。

success

function

否

否

成功回调。

fail

function

否

否

失败回调。

complete

function

否

否

执行结束后的回调。

success返回值:

参数

类型

是否必填

是否参与签名

说明

returnCode

int

是

是

结果码,请参见“错误码”。

returnDesc

string

是

是

错误描述信息。

requestId

string

否

是

应用侧生成的支付订单号,与请求参数中的requestId一致。

orderID

string

否

是

华为支付平台生成的订单号。

orderTime

string

否

是

下单时间,格式为:yyyy-MM-dd HH:mm:ss。

tradeTime

string

否

是

支付时间,yyyy-MM-dd HH:mm:ss。

status

string

否

是

订单的支付状态。

  • 0:订单支付失败。
  • 1:订单支付完成。
  • 2:未处理,订单可能在等待支付或者等待支付应答,1天之内可以再次查询,1天后仍未处理则作为支付失败处理。
  • 3:订单在处理中,1天之内可以再次查询,1天后仍在处理中则作为支付失败处理。

sign

string

否

否

查询响应的签名字符串。

fail返回值:

参数

类型

说明

code

number

返回状态码。

data

string

状态码说明。

示例代码

getOrderDetail:function(){
    var that = this;
    pay.getOrderDetail({
    "merchantId": "890086000000002287",
    "keyType": "1",
    "time":that.ts,
    "requestId":"20191021073603003",
                "publicKey":"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkMcvapcWWD7HGNV/KVF7cGE4EhhZ0J0UaHDGWPYC0w+dZdMRJOXWzeGkgsC8CMsP8H8Dqnhdhy9bH37g70OCb1pKUhfgv6UlSXE5oU6+H2TJhXRt1ZrceAKEe8+mt8eINaF1HD9EHPESz6U4+aCWUtJ0WFeevG+4FbPQ4o2Mb+LmaS+LW5NlKaTpqwnhqFsCvJ6JWSSVGBuFo2+8t0IMC5pscropffd/ySEO9s4u5HjDb76ZUHpILN5h+LcR+CfFpXNoQAPoRTSo/CvdROPpVwvS5RP3tGVYkOa05fwuxxsSF3RvuK5TUcdtnn9oKJ/ENo9hwGht9UbIJy7D3wVbuQIDAQAB",
    "sign": this.sign,//签名
    success: function (ret) {
        prompt.showToast({
            message: "getOrderDetail" + JSON.stringify(ret)
        })
    },
    fail: function (erromsg, errocode) {
        prompt.showToast({ message: 'getOrderDetail fail --- ' + errocode + ':' + erromsg });
        }
    })
}

[h2]pay.getWalletStatus(OBJECT)(1072+)

描述

查询是否支持Huawei Pay线上支付。

OBJECT参数

参数

类型

默认值

是否必填

描述

event

string

"ONLINEPAY"

否

如果不填,将按设置“ONLINEPAY”处理。

success

function

-

是

获取状态成功(即支持Huawei Pay线上支付)的回调函数。

fail

function

-

是

获取状态失败的回调函数。

fail返回值

参数

类型

说明

data

string

错误描述。

code

int

错误码。

示例代码

pay.getWalletStatus({
    event: "ONLINEPAY",
    success: function (ret) {
        prompt.showToast({
            message: "getWalletStatus success."
        })
    },
    fail: function (ret, code) {
        prompt.showToast({
            message: "getWalletStatus failed:" + JSON.stringify(ret) + "; code=" + code
        })
    }
})

[h2]pay.startWalletPay(OBJECT)(1072+)

描述

拉起Huawei Pay线上支付。

OBJECT参数

参数

类型

默认值

是否必填

描述

orderInfo

string

-

是

银联订单号(由商户服务端从银联服务器获取)。

success

function

-

是

支付成功的回调函数。

fail

function

-

是

支付失败的回调函数。

success返回值

参数

类型

说明

data

string

支付成功结果描述。

fail返回值

参数

类型

说明

data

string

错误描述。

code

int

错误码。

示例代码

pay.startWalletPay({
    orderInfo: "534078477796354972220",
    success: function (ret) {
        prompt.showToast({
            message: "startWalletPay success:" + JSON.stringify(ret)
        })
    },
    fail: function (ret, code) {
        prompt.showToast({
            message: "startWalletPay failed:" + JSON.stringify(ret) + "; code=" + code
        })
    }
})

版本更新说明

版本

发布日期

描述

1060

2019-12-10

增加PMS支付接口:getProductDetails、productPay、getPurchaseInfo和getOrderDetail。

相关链接

[h2]FAQ

pay.pay和pay.startWalletPay有什么区别?