【微信支付】企业付款开发者文档
2018-11-24
简介
企业付款业务是基于微信支付商户平台的资金管理能力,为了协助商户方便地实现企业向个人付款,针对部分有开发能力的商户,提供通过API完成企业付款的功能。
比如目前的保险行业向客户退保、给付、理赔。
企业付款将使用商户的可用余额,需确保可用余额充足。查看可用余额、充值、提现请登录商户平台“资金管理”进行操作。https://pay.weixin.qq.com/
注意:与商户微信支付收款资金并非同一账户,需要单独充值。
接口介绍
业务流程 接口 简介
付款 企业付款 用于企业向微信用户个人付款
目前支持向指定微信用户的openid付款。(获取openid参见微信公众平台开发者文档:网页授权获取用户基本信息)
接口调用规则:
◆ 给同一个实名用户付款,单笔单日限额2W/2W
◆ 不支持给非实名用户打款
◆ 一个商户同一日付款总额限额100W
◆ 单笔最小金额默认为1元
◆ 每个用户每天最多可付款10次,可以在商户平台--API安全进行设置
◆ 给同一个用户付款时间间隔不得低于15秒
注意1-当返回错误码为“SYSTEMERROR”时,一定要使用原单号重试,否则可能造成重复支付等资金风险。
注意2-根据监管要求,新申请商户号使用企业付款需要满足两个条件:1、入驻时间超过90天 2、连续正常交易30天。
接口地址
接口链接:https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers
是否需要证书
请求需要双向证书。 详见证书使用
请求参数
字段名 变量名 必填 示例值 类型 描述
商户账号appid mch_appid 是 wx8888888888888888 String 微信分配的账号ID(企业号corpid即为此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 商户订单号,需保持唯一性
(只能是字母或者数字,不能包含有符号)
用户openid openid 是 oxTWIuGaIt6gTKsQRLau2M0yL16E String 商户appid下,某用户的openid
校验用户姓名选项 check_name 是 FORCE_CHECK String NO_CHECK:不校验真实姓名
FORCE_CHECK:强校验真实姓名
收款用户姓名 re_user_name 可选 王小王 String 收款用户真实姓名。
如果check_name设置为FORCE_CHECK,则必填用户真实姓名
金额 amount 是 10099 int 企业付款金额,单位为分
企业付款描述信息 desc 是 理赔 String 企业付款操作说明信息。必填。
Ip地址 spbill_create_ip 是 192.168.0.1 String(32) 调用接口的机器Ip地址
数据示例:
wxe062425f740c30d8
10000098
3PG2J4ILTKCH16CQ2502SI8ZNMTM67VS
100000982014120919616
ohO4Gt7wVPxIT1A9GjFaMYMiZY1s
FORCE_CHECK
张三
100
节日快乐!
10.2.3.10
C97BDBACF37622775366F38B629F45E3
返回参数
字段名 变量名 必填 示例值 类型 描述
返回状态码 return_code 是 SUCCESS String(16) SUCCESS/FAIL
此字段是通信标识,非交易标识,交易是否成功需要查看result_code来判断
返回信息 return_msg 否 签名失败 String(128) 返回信息,如非空,为错误原因
签名失败
参数格式校验错误
以下字段在return_code为SUCCESS的时候有返回
字段名 变量名 必填 示例值 类型 描述
商户appid mch_appid 是 wx8888888888888888 String 微信分配的公众账号ID(企业号corpid即为此appId)
商户号 mchid 是 1900000109 String(32) 微信支付分配的商户号
设备号 device_info 否 013467007045764 String(32) 微信支付分配的终端设备号,
随机字符串 nonce_str 是 5K8264ILTKCH16CQ2502SI8ZNMTM67VS String(32) 随机字符串,不长于32位
业务结果 result_code 是 SUCCESS String(16) SUCCESS/FAIL
错误代码 err_code 否 SYSTEMERROR String(32) 错误码信息
错误代码描述 err_code_des 否 系统错误 String(128) 结果信息描述
以下字段在return_code 和result_code都为SUCCESS的时候有返回
字段名 变量名 必填 示例值 类型 描述
商户订单号 partner_trade_no 是 1217752501201407033233368018 String(32) 商户订单号,需保持唯一性
(只能是字母或者数字,不能包含有符号)
微信订单号 payment_no 是 1007752501201407033233368018 String 企业付款成功,返回的微信订单号
微信支付成功时间 payment_time 是 2015-05-19 15:26:59 String 企业付款成功时间
成功示例:
错误示例:
错误码
错误代码 描述 原因 解决方案
NO_AUTH 没有该接口权限 没有授权请求此api 请关注是否满足接口调用条件
AMOUNT_LIMIT 付款金额不能小于最低限额 付款金额不能小于最低限额 每次付款金额必须大于1元
PARAM_ERROR 参数错误 参数缺失,或参数格式出错,参数不合法等 请查看err_code_des,修改设置错误的参数
OPENID_ERROR Openid错误 Openid格式错误或者不属于商家公众账号 请核对商户自身公众号appid和用户在此公众号下的openid。
SEND_FAILED 付款错误 付款失败,请换单号重试 付款失败,请换单号重试
NOTENOUGH 余额不足 帐号余额不足 请用户充值或更换支付卡后再支付
SYSTEMERROR 系统繁忙,请稍后再试。 系统错误,请重试 请使用原单号以及原请求参数重试,否则可能造成重复支付等资金风险
NAME_MISMATCH 姓名校验出错 请求参数里填写了需要检验姓名,但是输入了错误的姓名 填写正确的用户姓名
SIGN_ERROR 签名错误 没有按照文档要求进行签名 签名前没有按照要求进行排序。
没有使用商户平台设置的密钥进行签名
参数有空格或者进行了encode后进行签名。
XML_ERROR Post内容出错 Post请求数据不是合法的xml格式内容 修改post的内容
FATAL_ERROR 两次请求参数不一致 两次请求商户单号一样,但是参数不一致 如果想重试前一次的请求,请用原参数重试,如果重新发送,请更换单号。
FREQ_LIMIT 超过频率限制,请稍后再试。 接口请求频率超时接口限制 请关注接口的使用条件
MONEY_LIMIT 已经达到今日付款总额上限/已达到付款给此用户额度上限 接口对商户号的每日付款总额,以及付款给同一个用户的总额有限制 请关注接口的付款限额条件
CA_ERROR 证书出错 请求没带证书或者带上了错误的证书 到商户平台下载证书
请求的时候带上该证书
V2_ACCOUNT_SIMPLE_BAN 无法给非实名用户付款 用户微信支付账户未知名,无法付款 引导用户在微信支付内进行绑卡实名
PARAM_IS_NOT_UTF8 请求参数中包含非utf8编码字符 接口规范要求所有请求参数都必须为utf8编码 请关注接口使用规范
AMOUNT_LIMIT 付款失败,因你已违反《微信支付商户平台使用协议》,单笔单次付款下限已被调整为5元 商户号存在违反协议内容行为,单次付款下限提高 请遵守《微信支付商户平台使用协议》
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。
http://www.pinlue.com/style/images/nopic.gif