付款

接口介绍

业务流程 接口 简介
付款 付款 用于向微信用户个人付款
目前支持向指定微信用户的openid付款。(获取openid参见微信公众平台开发者文档: 网页授权获取用户基本信息

    请仔细阅读以下注意事项:

    ◆ 当返回错误码为“SYSTEMERROR”时,请不要更换商户订单号,一定要使用原商户订单号重试(支持在2个自然日内重试),否则可能造成重复支付等资金风险

    ◆ XML具有可扩展性,因此返回参数可能会有新增,而且顺序可能不完全遵循此文档规范,如果在解析回包的时候发生错误,请商户务必不要换单重试,请商户联系客服确认付款情况。如果有新回包字段,会更新到此API文档中。

    ◆ 因为错误代码字段err_code的值后续可能会增加,所以商户如果遇到回包返回新的错误码,请商户务必不要换单重试,请商户联系客服确认付款情况。如果有新的错误码,会更新到此API文档中。

    ◆ 错误代码描述字段err_code_des只供人工定位问题时做参考,系统实现时请不要依赖这个字段来做自动化处理。

    ◆ 请商户在自身的系统中合理设置付款频次并做好并发控制,防范错付风险。

    ◆ 因商户自身系统设置存在问题导致的资金损失,由商户自行承担。

    接口调用请求说明

    请求Url https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers
    是否需要证书 是(证书及使用说明详见商户证书
    请求方式 POST
    签名方式 MD5
    接口调用频率限制 100/s
    超时时间(同笔订单最短重试时间) 1s

    请求参数

    字段名 变量名 必填 示例值 类型 描述
    商户账号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) openid是微信用户在公众账号下的唯一用户标识(appid不同,则获取到的openid就不同),可用于永久标记一个用户。
    获取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。
    付款场景 scene BRAND_REDPACKET String(64) BRAND_REDPACKET:品牌红包,
    其他值或不传则默认为普通付款到零钱
    (品牌红包能力暂未全量开放,若有意愿参与内测请填写问卷https://wj.qq.com/s2/9229085/29f4/
    品牌ID brand_id 1234 int 品牌在微信支付的唯一标识。仅在付款场景为品牌红包时必填。
    消息模板ID finder_template_id 1243100000000000 String(128) 品牌所配置的消息模板的唯一标识。仅在付款场景为品牌红包时必填。

    请求示例:

    <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的时候有返回

    字段名 变量名 必填 示例值 类型 描述
    商户订单号 partner_trade_no 1217752501201407033233368018 String(32) 商户订单号,需保持历史全局唯一性(只能是字母或者数字,不能包含有其它字符)
    微信付款单号 payment_no 1007752501201407033233368018 String(64) 付款成功,返回的微信付款单号
    付款成功时间 payment_time 2015-05-19 15:26:59 String(32) 付款成功时间

    成功示例:

    <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[SUCCESS]]></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没有绑定关系

    请参照原因检查您的请求参数是否正确。

    PARAM_ERROR 转账备注设置失败 付款备注设置失败 请调整对应文案后重新再试。
    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

    该用户今日付款次数超过限制,如有需要请进入【微信支付商户平台-产品中心-付款到零钱-产品设置】进行修改

    该用户今日付款次数超过限制,如有需要请进入【微信支付商户平台-产品中心-付款到零钱-产品设置】进行修改

    向用户付款的次数超限了,请参考接口使用条件,如果要继续付款必须使用原商户订单号重试

    RECV_ACCOUNT_NOT_ALLOWED

    收款账户不在收款账户列表

    收款账户不在收款账户列表

    请登陆商户平台,查看产品中心付款到零钱的产品配置

    PAY_CHANNEL_NOT_ALLOWED

    本商户号未配置API发起能力 

    本商户号未配置API发起能力 

    请登陆商户平台,查看产品中心付款到零钱的产品配置

    SEND_MONEY_LIMIT 已达到今日商户付款额度上限 请提高商户付款额度,或明日再试 如果要继续付款必须使用原商户订单号重试
    RECEIVED_MONEY_LIMIT 已达到今日付款给此用户额度上限 请提高用户收款额度,或明日再试 如果要继续付款必须使用原商户订单号重试
    PARAM_ERROR 付款商户号无法使用该品牌信息 付款商户号不是该品牌的品牌主商户号或门店收款商户号 使用品牌的品牌主商户号或门店收款商户号进行付款
    NO_AUTH 付款商户号无品牌红包产品权限 付款商户号没有品牌红包产品权限 付款商户号开通品牌红包产品权限后再进行付款
    PARAM_ERROR 品牌信息查询失败,请确认品牌状态有效 品牌已被注销或状态无效 确认品牌信息有效后重试
    PARAM_ERROR 品牌和视频号没有绑定关系 品牌和视频号没有绑定或已解绑 确认品牌和视频号仍然是绑定状态后重试
    PARAM_ERROR 品牌下未查到对应品牌红包消息模板 品牌和品牌红包消息模板没有对应关系 确认品牌和消息模版的对应关系后重试
    PARAM_ERROR 品牌红包消息模板已被删除 品牌红包消息模板已被删除 传入未被删除的消息模版
    EXCEED_PAYEE_ACCOUNT_LIMIT 用户账户收款受限 收款用户身份信息待完善 请联系用户完善其在微信支付的身份信息以继续收款
    PAYER_ACCOUNT_ABNORMAL 商户账户付款受限 商户号被处罚、冻结 可前往“商户平台>账户中心>违约记录”或“商家助手小程序>风险处理”了解更多详情,解除功能限制指引
    PAYEE_ACCOUNT_ABNORMAL 用户账户收款异常 收款用户身份信息待完善 请引导用户完善其在微信支付的身份信息以继续收款
    PAYMENT_IN_PROGRESS 该笔付款正在处理中 该笔付款正在处理中 请稍后查询付款结果