领取红包接口

更新时间:2024.11.13

使用场景

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

接口调用请求说明

接口名称

sendBizRedPacket

功能

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

调用方式:

1wx. 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)