领取红包接口

使用场景

用户在微信中访问小程序的网页,小程序(网页方)在活动时可以拉起发送原生企业红包入口

接口调用请求说明

接口名称 sendBizRedPacket
功能 在微信内置浏览器中被访问的网页,可使用该JS代码商户拉起发送原生企业红包入口

调用方式:

  1. wx. sendBizRedPacket ({
  2.     timeStamp: '', // 支付签名时间戳,
  3.     nonceStr: '', // 支付签名随机串,不长于 32 位
  4.     package: '', //扩展字段,由商户传入
  5.     signType: '', // 签名方式,
  6.     paySign: '', // 支付签名
  7.     success:function(res){},
  8.     fail:function(res){},
  9.     complete:function(res){}
  10. })

请求参数

字段名 字段 必填 示例值 类型 说明

时间戳

timeStamp

1514363815

String(32)

调用方生成的时间戳,需为字符串

随机字符串

nonceStr

Ww213sdad

String(32)

调用方生成的随机字符串

红包详情的扩展

package

sendid%3D242e8abd163d300019b2cae74ba8e8c06e3f0e51ab84d16b3c80decd22a5b672%26ver%3D8%26sign%3D4110d649a5aef52dd6b95654ddf91ca7d5411ac159ace4e1a766b7d3967a1c3dfe1d256811445a4abda2d9cfa4a9b377a829258bd00d90313c6c346f2349fe5d%26mchid%3D11475856%26appid%3Dwxd27ebc41b85ce36d

String(256)

商户将红包信息组成该串,具体方案参见package的说明,package需要进行urlencode再传给页面

签名方式

signType

字符串类型,参
数取值"MD5"

String(32)

按照文档中所示填入,目前仅支持MD5

签名

paySign

70f47031c8e8d4bb78e741f8d0ee45beef65cfcd

String(256)

生成签名方式查看3.2.2节

返回参数

字段名 字段 必填 示例值 类型 说明

返回状态码

retcode

0

int

0 表示调用成功。 
非0 表示接口失败

返回信息

retmsg

签名失败

String(128)

返回信息,如非空,为错误原因。
签名失败
参数格式校验错误
已经绑定过红包
已经过期


回调函数说明:

1.success:接口调用成功时执行的回调函数。

2.fail:接口调用失败时执行的回调函数。

3.complete:接口调用完成时执行的回调函数,无论成功或失败都会执行。

以上几个函数都带有一个参数,类型为对象,其中除了每个接口本身返回的数据之外,还有一个通用属性errMsg,其值格式如下:

调用成功时:"xxx:ok" ,其中xxx为调用的接口名

用户取消时:"xxx:cancel",其中xxx为调用的接口名

调用失败时:其值为具体错误信息

paySign生成方法

字段说明:paySign 字段是对本次发起JSAPI 的行为进行鉴权,只有通过了paySign 鉴权,才能继续对package 鉴权并调起红包的收和拆。


生成规则:参与paySign 签名的字段包括:appId、timeStamp、nonceStr、package 。这里signType 并不参与签名。


1 . 对所有待签名参数按照字段名的 ASCII码从小到大排序(字典序)后,使用 URL 键 值对的格式(即key1=value1&key2=value2…)拼接成字符串string1。这里需要注意的是所有参数名均为驼峰形式

2 . 在string1最后拼接上key=商户支付密钥得到stringSignTemp字符串

3 . 对 stringSignTemp 作MD5签名算法,字段名和字段值都采用原始值(package需要进行urlencode再进行加密),最后得到的字符串不用转成大写, 具体签名算法为 paySign =MD5(stringSignTemp)