SDK(Android)
开发前准备:
商户需要具备以下条件才接入QQ钱包支付:
1、申请QQ钱包商户号:商户可以在QQ钱包商户平台自助申请:https://qpay.qq.com/;
2、提交APP信息审核:商户需登录QQ钱包商户平台,在“账户管理--开发配置--APP支付”一栏,提交APP支付信息审核。审核通过后,才能正常调用SDK拉起支付。
SDK说明
1、SDK和开发文档
的“libs”目录存放“mqqopenpay.jar”jar文件。它作为QQ钱包支付提供的接入AndroidQQ钱包支付的SDK,需复制mqqopenpay.jar至商户应用工程libs下。
2、示例工程
注意:示例工程为了演示方便,在终端进行数据签名的相关操作。为了保证数据据传输过程中的真实性和完整性,商户App不应在终端代码进行数据签名。建议在商户服务器下发tokenid时,同时按QQ钱包支付的要求下发数字签名相关数据。
3、接口说明
(1)判断手机是否安装手Q
方法名:isMobileQQInstalled
请求参数:无
(2)判断手Q是否支持指定的Api
方法名:isMobileQQSupportApi
请求参数:字段名类型说明
apiNameString所有的ApiName都申明在OpenConstants类中。如支付的ApiName为:OpenConstants.API_NAME_PAY
(3)执行指定的Api
方法名:execApi
请求参数:字段名类型说明
apiBaseApi如果要支付时,传入PayApi,它继承于BaseApi。
4、Api参数说明
PayApi存放调用QQ钱包支付的所需要的所有参数。下表中“参与签名”项目中被打“√”的参数需要进行数字签名。其参数列表:字段名类型参与签名说明
appIdString√应用唯一id,http://open.qq.com申请
nonceString√随机串,随机字段串每次请求都要不一样
timeStamplong时间戳,时间戳,为1970年1月1日00:00到请求发起时间的秒数
tokenIdString√QQ钱包的预支付会话标识,具体值请传入调用统一下单接口后返回的“prepay_id”的值
注:参与签名参数key为“tokenId”,如“tokenId=8888888”
pubAccString√手Q公众帐号,暂时未对外开放申请。
注:所有参与签名的参数,如果value为空,生成格式如“pubAcc=”
pubAccHintString关注手Q公众帐号提示语
bargainorIdString√QQ钱包支付商户号,具体值请传入调用统一下单接口时传入的“mch_id” 的值
注:参与签名参数key为“bargainorId”
sigTypeString加密方式,签名时,使用的加密算法。目前只支持"HMAC-SHA1",因此该参数填写"HMAC-SHA1"。
sigString签名串,参看“数字签名”
5、response参数说明
PayResponse存放QQ钱包支付结果的所有参数:字段名类型说明
apiMarkint执行的Api标识
apiNameString执行的Api名称
retCod