最近工作中遇到一个需求是用户点击活动领取的微信代金券后跳转到微信付款码界面,于是乎,一顿翻文档,说实话,微信小程序的文档翻起来真的…一言难尽。
很快找到了一个wx.requestPayment(Object object)
,可是仔细一看,这个接口是发起支付的,会弹出付款界面,就是让你输入密码那个,继续找,无果,转战百度,果然搜到了,原来这并不是一个开放的接口,而是需要单独去向微信申请的,并且也没有公开文档。也对,毕竟是跳到付款码界面,比较敏感 。
好申请完成后,开始开发!
前置条件
- 小程序必须接入微信支付
- 拥有微信支付商户平台
- 关联小程序和商户
API介绍
wx.openOfflinePayView(OBJECT)
参数 | 类型 | 必填 | 实例值 | 说明 |
---|---|---|---|---|
appId | String | 是 | wxd678efh567hg6787 | 公众平台 appid,需与 mch_id 有绑定关系 |
timeStamp | String | 是 | 1631604636 | 时间戳;商户生成从 1970 年 1 月 1 日 00: 00:00 至今的秒数,即当前的时间 |
nonceStr | String | 是 | njqn50kxbl | 随机字符串;商户生成的随机字符串;取 值范围:长度为 32 个字符以下。 |
package | String | 是 | mch_id=1289343489 | mch_id=****,微信支付商户号,需与 appid 有绑定关系 |
signType | String | 是 | MD5 | 签名类型,目前支持 MD5、 HMAC-SHA256。该字段需参与签名。 |
paySign | String | 是 | 97A991A68892C3A0668E4DE80F24F782 | 签名结果,该方法需要加入签名的参数为 appId、timeStamp、nonceStr、package、 key、signType,请注意这里的参数有大 小写,签名的时候不要转为小写 |
success | Function | 否 | successHandler | 调用成功回调 |
fail | Function | 否 | failHandler | 调用失败回调 |
complete | Function | 否 | complatehandler | 调用完成回调 |
签名字符串示例
appId=wxa66666d6d5c4bf4b&nonceStr=y6683ha9i6a&package=mch_id=164888850&signType=MD5&timeStamp=1631605839&key=apiKey12355yesuis
最终请求示例
wx.openOfflinePayView