微信转账api(企业付款)

企业付款介绍

提供企业向用户付款的功能,支持企业通过API接口付款,或通过微信支付商户平台网页功能操作付款。

1. 充值

登录微信支付商户平台,通过网页充值功能充值(商户平台-资金管理-现金管理-充值)。
1
温馨提示:

  1. 商户平台登录帐号及密码,会通过开户邮件发放给企业;
  2. 商户平台可支持企业设置不同的操作员帐号(商户平台-账户设置-员工管理-员工帐号),分配不同的操作权限(商户平台-账户设置-员工管理-角色权限);
  3. 涉及资金操作的功能,安全性要求较高,需要操作员安装证书(商户平台-账户设置-密码安全-操作证书);
  4. 充值的资金,企业可自助提现至结算账户(商户平台-资金管理-现金管理-提现)。

 

2. 付款

通过API或网页操作,付款至目标用户(企业可根据APPID+OpenID锁定目标用户)。针对已实名认证的用户,微信支付可提供校验真实姓名一致性的可选功能。
API接口请参考接口文档;网页操作功能请进入商户平台-高级功能-企业付款-企业付款管理。

温馨提示:

  1. 仅支持商户号已绑定的APPID;
  2. 针对付款的目标用户,已微信支付实名认证的用户可提供校验真实姓名的功能,未实名认证的用户无法校验,企业可根据自身业务的安全级别选择验证类型;
  3. 付款金额小于或等于当前可用余额的金额;
  4. 已付款的记录,企业可通过企业付款查询查看相应数据。

 

3. 到账

付款资金将进入目标用户的零钱(微信-我-钱包-零钱)。微信支付将做零钱入账消息通知,零钱收支明细会展示相应记录。

温馨提示:

    • 针对无零钱账户的历史客户端版本,资金将进入用户的红包账户,微信支付无消息通知用户,企业可选择自行触达用户。

 

API介绍

1.简介

企业付款业务是基于微信支付商户平台的资金管理能力,为了协助商户方便地实现企业向个人付款,针对部分有开发能力的商户,提供通过API完成企业付款的功能。
比如目前的保险行业向客户退保、给付、理赔。 

企业付款将使用商户的可用余额,需确保可用余额充足。查看可用余额、充值、提现请登录商户平台“资金管理”进行操作。https://pay.weixin.qq.com/ 
注意:与商户微信支付收款资金并非同一账户,需要单独充值。

2.接口介绍

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

3.接口说明

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

请求Url:https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers

是否需要证书:是

请求参数:

字段名

字段

必填

示例值

类型

说明

公众账号appid mch_appid wx8888888888888888 String 商户appid
商户号 mchid 1900000109 String(32) 微信支付分配的商户号
子商户号 sub_mch_id 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 OPTION_CHECK String NO_CHECK:不校验真实姓名
FORCE_CHECK:强校验真实姓名(未实名认证的用户会校验失败,无法转账)
OPTION_CHECK:针对已实名认证的用户才校验真实姓名(未实名认证用户不校验,可以转账成功)
收款用户姓名 re_user_name 可选 马花花 String 收款用户真实姓名。
如果check_name设置为FORCE_CHECK或OPTION_CHECK,则必填用户真实姓名
金额 amount 10099 Uint64_t 企业付款金额,单位为分
企业付款描述信息 desc 理赔 String 企业付款操作说明信息。必填。
Ip地址 spbill_create_ip 192.168.0.1 String(32) 调用接口的机器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>OPTION_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 商户appid
商户号 mchid 1900000109 String(32) 微信支付分配的商户号
设备号 device_info 013467007045764 String(32) 微信支付分配的终端设备号,
随机字符串 nonce_str 5K8264ILTKCH16CQ2502SI8ZNMTM67VS String(32) 随机字符串,不长于32位
签名 sign C380BEC2BFD727A4B6845133519F3AD6 String(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 企业付款成功时间

成功示例:

<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>

错误码

错误代码 描述 原因 解决方案
NOAUTH 没有权限 没有授权请求此api 请联系微信支付开通api权限
PARAM_ERROR 参数错误 参数缺失,或参数格式出错,参数不合法等 请查看err_code_des,修改设置错误的参数
OPENID_ERROR Openid错误 Openid格式错误或者不属于商家公众账号 请核对商户自身公众号appid和用户在此公众号下的openid。
NOTENOUGH 余额不足 帐号余额不足 请用户充值或更换支付卡后再支付
SYSTEMERROR 系统繁忙,请稍后再试。 系统错误,请重试 使用原单号以及原请求参数重试
NAME_MISMATCH 姓名校验出错 请求参数里填写了需要检验姓名,但是输入了错误的姓名 填写正确的用户姓名
SIGN_ERROR 签名错误 没有按照文档要求进行签名
  1. 签名前没有按照要求进行排序。
  2. 没有使用商户平台设置的密钥进行签名
  3. 参数有空格或者进行了encode后进行签名。
XML_ERROR Post内容出错 Post请求数据不是合法的xml格式内容 修改post的内容
FATAL_ERROR 两次请求参数不一致 两次请求商户单号一样,但是参数不一致 如果想重试前一次的请求,请用原参数重试,如果重新发送,请更换单号。
CA_ERROR 证书出错 请求没带证书或者带上了错误的证书
  1. 到商户平台下载证书
  2. 请求的时候带上该证书