发放指定批次的消费金
更新时间:2024.12.26商户平台/API完成制券/消费金后,可使用发放代金券接口发券/消费金。通过调用此接口可发放指定批次给指定用户。
注意:
- 商户可在H5活动页面、商户小程序、商户App等自有场景内调用该接口完成发券,商户默认只允许发放本商户号(调用发券接口的商户号)创建的消费金
- 消费金不涉及跨商户发券
- 出于安全性考虑,若发放消费金,则领取用户必须为微信实名用户,否则将发放失败
接口频率:不区分来源 1000/min
幂等规则:接口支持幂等重入
# 接口说明
支持商户:
【普通商户】
请求方式:
【POST】/v3/multiuse/users/{openid}/coupons
请求域名:
【主域名】
https://api.mch.weixin.qq.com
使用该域名将访问就近的接入点【备域名】
https://api2.mch.weixin.qq.com
使用该域名将访问异地的接入点 ,指引点击查看
# 请求参数
Header HTTP头参数
- openid 必填【用户OpenID】 OpenID信息,用户在AppID下的唯一标识。
Path 路径参数
- stock_id 必填【批次号】 微信为每个批次分配的唯一标识。校验规则:必须为消费金批次号。
- out_request_no 必填【商户单据号】 商户此次发放凭据号(格式:商户ID+日期+流水号),可包含英文字母,数字,|,_,*,-等内容,不允许出现其他不合法符号,商户侧需保持唯一性。
- user_name 必填【用户姓名】 1、当前用户的姓名,微信会校验该身份证与当前OpenID用户微信实名认证姓名是否一致,若不一致将发卡失败 \n 2、该字段需进行加密处理,加密方法详见敏感信息加密说明(https://pay.weixin.qq.com/docs/partner/development/interface-rules/sensitive-data-encryption.html)。(提醒:必须在HTTP头中上送Wechatpay-Serial)
- id_card_number 必填【身份证号码】 1、当前用户的身份证号码,微信会校验该身份证与当前OpenID用户微信实名认证身份证是否一致,若不一致将发卡失败 \n 2、该字段需进行加密处理,加密方法详见敏感信息加密说明(https://pay.weixin.qq.com/docs/partner/development/interface-rules/sensitive-data-encryption.html)。(提醒:必须在HTTP头中上送Wechatpay-Serial)
- amount 选填【发放面额】 给用户发放消费金的面额,单位:分。当创建批次时选择“暂不指定面额”时,必须填写;当创建批次时选择“指定面额”时,则无需填写。校验规则:一、暂不指定面额:1. 若未填写该字段,则无法发放;2. 若填写该字段,则需校验:1)是否<=剩余预算(即总预算-已发放预算),若大于则发放失败;2)是否<=2000000,若大于则报错;3)是否>=100。 二、指定面额:1. 若填写该字段,则报错。
- appid 必填【公众账号ID】 微信为发券方商户分配的公众账号ID,接口传入的所有AppID应该为公众号的AppID或者小程序的AppID(在mp.weixin.qq.com申请的)或APP的AppID(在open.weixin.qq.com申请的)。 校验规则: 1、该AppID需要与接口传入中的OpenID有对应关系; 2、该AppID需要与调用接口的商户号(即请求头中的商户号)有绑定关系,若未绑定,可参考该指引完成绑定(商家商户号与AppID账号关联管理)
- card_type 必填【证件类型】 证件类型,目前只有身份证ID_CARD一个枚举
可选取值:ID_CARD
: 居民身份证
Body 包体参数
请求示例
POST
# 应答参数
- coupon_id 必填【消费金ID】 微信为消费金唯一分配的ID。
200OK
应答示例
200 OK
# 错误码
# 公共错误码
状态码 | 错误码 | 描述 | 解决方案 |
---|---|---|---|
400 | PARAM_ERROR | 参数错误 | 请根据错误提示正确传入参数 |
400 | INVALID_REQUEST | HTTP 请求不符合微信支付 APIv3 接口规则 | 请参阅 接口规则 |
401 | SIGN_ERROR | 验证不通过 | 请参阅 签名常见问题 |
500 | SYSTEM_ERROR | 系统异常,请稍后重试 | 请稍后重试 |
# 业务错误码
状态码 | 错误码 | 描述 | 解决方案 |
---|---|---|---|
400 | APPID_MCHID_NOT_MATCH | 商户号与appid不匹配 | 调用接口的商户号需与接口传入的appid有绑定关系 |
400 | INVALID_REQUEST | 非法商户号 | 请检查商户号准确性 |
400 | INVALID_REQUEST | openid与appid不匹配 | openid与appid需有对应关系 |
400 | INVALID_REQUEST | 活动已结束或未激活 | 请检查批次状态 |
400 | INVALID_REQUEST | 批次信息获取失败,请确认参数是否有误 | 请检查创建商户号与批次号的对应关系 |
400 | PARAM_ERROR | 非法的批次状态 | 请检查批次状态,仅支持发放状态为“运营中”的代金券批次 |
403 | MCH_NOT_EXISTS | 商户号不合法 | 请检查商户号准确性 |
403 | NOT_ENOUGH | 批次预算不足 | 批次预算已发放完,请补充批次预算 |
403 | NOT_ENOUGH | 发券超过单天限额 | 已超过该批次设置的单天发放限制额度,无法发放 |
403 | NOT_ENOUGH | 账户余额不足,请充值 | 商户号余额不足,无法继续发券,请充值 |
403 | NOT_ENOUGH | 批次预算耗尽 | 该批次的预算已经耗尽 |
403 | REQUEST_BLOCKED | 商户无权发券 | 该批次不支持其他商户发放 |
403 | REQUEST_BLOCKED | 批次不支持跨商户发券 | 该批次不支持其他商户发放 |
403 | REQUEST_BLOCKED | 用户被限领拦截 | 该用户已达到该批次的领取上限 |
403 | REQUEST_BLOCKED | 仅在广告场景下发放批次 | 该批次已在朋友圈广告发放,不支持在其他渠道发放 |
403 | RULE_LIMIT | 用户已达最大领券次数 | 该用户已达到该批次的领取上限 |
403 | RULE_LIMIT | 被自然人规则拦截 | 该自然人已达到该批次的领取上限 |
403 | USER_ACCOUNT_ABNORMAL | 用户非法 | 用户命中微信支付风控模型 |
404 | RESOURCE_NOT_EXISTS | 批次不存在 | 请检查批次及制券商户号信息 |
404 | USER_NOT_EXIST | 用户实名信息错误,请检查输入 | 用户实名信息错误,请检查输入 |
404 | USER_NOT_EXIST | 用户信息错误,请检查输入 | 用户信息错误,请检查输入 |
404 | USER_NOT_EXIST | openid不匹配,请检查输入 | openid不匹配,请检查输入 |
404 | USER_NOT_EXIST | 用户信息解密错误,请检查输入 | 用户信息解密错误,请检查输入 |
429 | FREQUENCY_LIMITED | 调用频率过高 | 过一段时间再重试 |
文档是否有帮助