官方文档地址:点击跳转
企业付款为企业提供付款至用户零钱的能力,支持通过API接口付款,或通过微信支付商户平台(pay.weixin.qq.com)网页操作付款。
使用条件
1、商户号(或同主体其他非服务商商户号)已入驻90日
2、商户号(或同主体其他非服务商商户号)有30天连续正常交易
3、 登录微信支付商户平台-产品中心,开通企业付款。
付款资金
企业付款到零钱资金使用商户号余额资金。
根据商户号的账户开通情况,实际出款账户有做区别:
- ◆ 默认情况下,企业付款到零钱使用商户号基本户(或余额账户)余额。如商户号已开通运营账户,则企业付款到零钱使用运营账户内的资金。
- ◆ 基本户(或上述其他出款账户)的资金来源,可能是交易结算款项(仅基本户),或给账户充值的资金。当出款账户余额不足时,付款将因余额不足而付款失败。
付款规则
付款方式
◆ 支持API接口或网页操作,付款至目标用户。
收款用户身份指定
◆ 通过APPID+OPENID指定收款用户。
◆ APPID需要为申请商户号时的APPID,或者与商户号有绑定关系。
◆ OPENID的获取方式,可参照:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140839
付款额度
◆ 不支持给非实名用户打款
◆ 给同一个实名用户付款,单笔单日限额5000/5000元
◆ 一个商户同一日付款总额限额10万元
注意:以上规则中的限额5000、10万由于计算规则与风控策略的关系,不是完全精确值,金额仅做参考,请不要依赖此金额做系统处理,应以接口实际返回和查询结果为准,请知晓。
收款用户身份校验
◆ 针对付款的目标用户,提供可校验真实姓名的功能
查询付款情况
◆ 已付款的记录,企业可通过企业付款查询查看相应数据,或者查询商户号资金流水。
付款频次
◆ 默认每天最多可向同一个用户付款10次,可以在商户平台--API安全进行设置
其他注意事项
◆ 付款金额必须小于或等于商户当前可用余额的金额;
接口介绍
业务流程 | 接口 | 简介 |
---|---|---|
付款 | 企业付款 | 用于企业向微信用户个人付款 目前支持向指定微信用户的openid付款。(获取openid参见微信公众平台开发者文档: 网页授权获取用户基本信息) |
注意事项:
◆ 当返回错误码为“SYSTEMERROR”时,请不要更换商户订单号,一定要使用原商户订单号重试,否则可能造成重复支付等资金风险。
◆ XML具有可扩展性,因此返回参数可能会有新增,而且顺序可能不完全遵循此文档规范,如果在解析回包的时候发生错误,请商户务必不要换单重试,请商户联系客服确认付款情况。如果有新回包字段,会更新到此API文档中。
◆ 因为错误代码字段err_code的值后续可能会增加,所以商户如果遇到回包返回新的错误码,请商户务必不要换单重试,请商户联系客服确认付款情况。如果有新的错误码,会更新到此API文档中。
◆ 错误代码描述字段err_code_des只供人工定位问题时做参考,系统实现时请不要依赖这个字段来做自动化处理。
接口地址
接口链接:https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers
是否需要证书
请求需要双向证书。 详见证书使用
请求参数
字段名 | 变量名 | 必填 | 示例值 | 类型 | 描述 |
---|---|---|---|---|---|
商户账号appid | mch_appid | 是 | wx8888888888888888 | String(128) | 申请商户号的appid或商户号绑定的appid |
商户号 | mchid | 是 | 1900000109 | String(32) | 微信支付分配的商户号 |
设备号 | device_info | 否 | 013467007045764 | String(32) | 微信支付分配的终端设备号 |
随机字符串 | nonce_str | 是 | 5K8264ILTKCH16CQ2502SI8ZNMTM67VS | String(32) | 随机字符串,不长于32位 |
签名 | sign | 是 | C380BEC2BFD727A4B6845133519F3AD6 | String(32) | 签名,详见签名算法 |
商户订单号 | partner_trade_no | 是 | 10000098201411111234567890 | String(32) | 商户订单号,需保持唯一性 (只能是字母或者数字,不能包含有其他字符) |
用户openid | openid | 是 | oxTWIuGaIt6gTKsQRLau2M0yL16E | String(64) | 商户appid下,某用户的openid |
校验用户姓名选项 | check_name | 是 | FORCE_CHECK | String(16) | NO_CHECK:不校验真实姓名 FORCE_CHECK:强校验真实姓名 |
收款用户姓名 | re_user_name | 否 | 王小王 | String(64) | 收款用户真实姓名。 如果check_name设置为FORCE_CHECK,则必填用户真实姓名 |
金额 | amount | 是 | 10099 | int | 企业付款金额,单位为分 |
企业付款备注 | desc | 是 | 理赔 | String(100) | 企业付款备注,必填。注意:备注中的敏感词会被转成字符* |
Ip地址 | spbill_create_ip | 是 | 192.168.0.1 | String(32) | 该IP同在商户平台设置的IP白名单中的IP没有关联,该IP可传用户端或者服务端的IP。 |
请求示例:
<xml>
<mch_appid>wxe062425f740c30d8</mch_appid>
<mchid>10000098</mchid>
<nonce_str>3PG2J4ILTKCH16CQ2502SI8ZNMTM67VS</nonce_str>
<partner_trade_no>100000982014120919616</partner_trade_no>
<openid>ohO4Gt7wVPxIT1A9GjFaMYMiZY1s</openid>
<check_name>FORCE_CHECK</check_name>
<re_user_name>张三</re_user_name>
<amount>100</amount>
<desc>节日快乐!</desc>
<spbill_create_ip>10.2.3.10</spbill_create_ip>
<sign>C97BDBACF37622775366F38B629F45E3</sign>
</xml>
返回参数
字段名 | 变量名 | 必填 | 示例值 | 类型 | 描述 |
---|---|---|---|---|---|
返回状态码 | return_code | 是 | SUCCESS | String(16) | SUCCESS/FAIL 此字段是通信标识,非交易标识,交易是否成功需要查看result_code来判断 |
返回信息 | return_msg | 否 | 签名失败 | String(128) | 返回信息,如非空,为错误原因 签名失败 参数格式校验错误 |
以下字段在return_code为SUCCESS的时候有返回
字段名 | 变量名 | 必填 | 示例值 | 类型 | 描述 |
---|---|---|---|---|---|
商户appid | mch_appid | 是 | wx8888888888888888 | String(128) | 申请商户号的appid或商户号绑定的appid(企业号corpid即为此appId) |
商户号 | mchid | 是 | 1900000109 | String(32) | 微信支付分配的商户号 |
设备号 | device_info | 否 | 013467007045764 | String(32) | 微信支付分配的终端设备号, |
随机字符串 | nonce_str | 是 | 5K8264ILTKCH16CQ2502SI8ZNMTM67VS | String(32) | 随机字符串,不长于32位 |
业务结果 | result_code | 是 | SUCCESS | String(16) | SUCCESS/FAIL,注意:当状态为FAIL时,存在业务结果未明确的情况。如果如果状态为FAIL,请务必关注错误代码(err_code字段),通过查询查询接口确认此次付款的结果。 |
错误代码 | err_code | 否 | SYSTEMERROR | String(32) | 错误码信息,注意:出现未明确的错误码时(SYSTEMERROR等),请务必用原商户订单号重试,或通过查询接口确认此次付款的结果。 |
错误代码描述 | err_code_des | 否 | 系统错误 | String(128) | 结果信息描述 |
以下字段在return_code 和result_code都为SUCCESS的时候有返回
成功示例:
<xml>
<return_code><![CDATA[SUCCESS]]></return_code>
<return_msg><![CDATA[]]></return_msg>
<mch_appid><![CDATA[wxec38b8ff840bd989]]></mch_appid>
<mchid><![CDATA[10013274]]></mchid>
<device_info><![CDATA[]]></device_info>
<nonce_str><![CDATA[lxuDzMnRjpcXzxLx0q]]></nonce_str>
<result_code><![CDATA[SUCCESS]]></result_code>
<partner_trade_no><![CDATA[10013574201505191526582441]]></partner_trade_no>
<payment_no><![CDATA[1000018301201505190181489473]]></payment_no>
<payment_time><![CDATA[2015-05-19 15:26:59]]></payment_time>
</xml>
错误示例:
<xml>
<return_code><![CDATA[FAIL]]></return_code>
<return_msg><![CDATA[系统繁忙,请稍后再试.]]></return_msg>
<result_code><![CDATA[FAIL]]></result_code>
<err_code><![CDATA[SYSTEMERROR]]></err_code>
<err_code_des><![CDATA[系统繁忙,请稍后再试.]]></err_code_des>
</xml>
错误码
错误代码 | 描述 | 原因 | 解决方案 |
---|---|---|---|
NO_AUTH | 没有该接口权限 |
1. 用户账号被冻结,无法付款 2. 产品权限没有开通或者被风控冻结 3. 此IP地址不允许调用接口,如有需要请登录微信支付商户平台更改配置 |
请根据具体的错误返回描述做对应处理,如返回描述不够明确,请参考此处的错误原因做排查。 |
AMOUNT_LIMIT |
金额超限 |
1. 被微信风控拦截,最低单笔付款限额调整为5元。 2. 低于最低单笔付款限额或者高于最高单笔付款限额 |
目前最低付款金额为1元,最高10万元,请确认是否付款金额超限。 |
PARAM_ERROR | 参数错误 |
1. 请求参数校验错误 2. 字符中包含非utf8字符 3. 商户号和appid没有绑定关系 |
请参照原因检查您的请求参数是否正确。 |
OPENID_ERROR | Openid错误 | Openid格式错误或者不属于商家公众账号 |
Openid与appid是有一一映射关系的,请确保正确使用。 |
SEND_FAILED | 付款错误 |
付款错误,请查单确认付款结果 |
请查单确认付款结果,以查单结果为准。 |
NOTENOUGH | 余额不足 |
您的付款帐号余额不足或资金未到账 |
如果要继续付款必须使用原商户订单号重试。 |
SYSTEMERROR | 系统繁忙,请稍后再试。 |
微信内部接口调用发生错误 |
请先调用查询接口,查看此次付款结果,如结果为不明确状态(如订单号不存在),请务必使用原商户订单号进行重试。 |
NAME_MISMATCH | 姓名校验出错 |
付款人身份校验不通过 |
如果要继续付款必须使用原商户订单号重试。 |
SIGN_ERROR | 签名错误 |
校验签名错误 |
请检查您的请求参数和签名**KEY是否正确,如果要继续付款必须使用原商户订单号重试。 |
XML_ERROR | Post内容出错 |
Post请求数据不是合法的xml格式内容 |
格式问题,请检查请求格式是否正确。 |
FATAL_ERROR | 两次请求参数不一致 |
两次请求商户单号一样,但是参数不一致 |
重入必须保证所有参数值都不变。 |
FREQ_LIMIT | 超过频率限制,请稍后再试。 |
接口请求频率超时接口限制 |
调用接口过于频繁,请稍后再试,如果要继续付款必须使用原商户订单号重试。 |
MONEY_LIMIT | 已经达到今日付款总额上限/已达到付款给此用户额度上限 |
请关注接口的付款限额条件 |
付款额度已经超限,请参考接口使用条件,如果要继续付款必须使用原商户订单号重试。 |
CA_ERROR | 商户API证书校验出错 | 请求没带商户API证书或者带上了错误的商户API证书 | 您使用的调用证书有误,请确认是否使用了正确的证书,可以前往商户平台重新下载,证书需与商户号对应,如果要继续付款必须使用原商户订单号重试。 |
V2_ACCOUNT_SIMPLE_BAN | 无法给非实名用户付款 | 用户微信支付账户未知名,无法付款 |
不支持给非实名用户付款,如果要继续付款必须使用原商户订单号重试。 |
PARAM_IS_NOT_UTF8 | 请求参数中包含非utf8编码字符 |
接口规范要求所有请求参数都必须为utf8编码 |
微信接口使用编码是UTF-8,请确认,如果要继续付款必须使用原商户订单号重试。 |
SENDNUM_LIMIT |
该用户今日付款次数超过限制,如有需要请登录微信支付商户平台更改API安全配置 |
该用户今日付款次数超过限制,如有需要请登录微信支付商户平台更改API安全配置 |
向用户付款的次数超限了,请参考接口使用条件,如果要继续付款必须使用原商户订单号重试。 |
RECV_ACCOUNT_NOT_ALLOWED |
收款账户不在收款账户列表 |
收款账户不在收款账户列表 |
请登陆商户平台,查看产品中心企业付款到零钱的产品配置 |
PAY_CHANNEL_NOT_ALLOWED |
本商户号未配置API发起能力 |
本商户号未配置API发起能力 |
请登陆商户平台,查看产品中心企业付款到零钱的产品配置 |