企业付款介绍
提供企业向用户付款的功能,支持企业通过API接口付款,或通过微信支付商户平台网页功能操作付款。
1. 充值
登录微信支付商户平台,通过网页充值功能充值(商户平台-资金管理-现金管理-充值)。
温馨提示:
- 商户平台登录帐号及密码,会通过开户邮件发放给企业;
- 商户平台可支持企业设置不同的操作员帐号(商户平台-账户设置-员工管理-员工帐号),分配不同的操作权限(商户平台-账户设置-员工管理-角色权限);
- 涉及资金操作的功能,安全性要求较高,需要操作员安装证书(商户平台-账户设置-密码安全-操作证书);
- 充值的资金,企业可自助提现至结算账户(商户平台-资金管理-现金管理-提现)。
2. 付款
通过API或网页操作,付款至目标用户(企业可根据APPID+OpenID锁定目标用户)。针对已实名认证的用户,微信支付可提供校验真实姓名一致性的可选功能。
API接口请参考接口文档;网页操作功能请进入商户平台-高级功能-企业付款-企业付款管理。
温馨提示:
- 仅支持商户号已绑定的APPID;
- 针对付款的目标用户,已微信支付实名认证的用户可提供校验真实姓名的功能,未实名认证的用户无法校验,企业可根据自身业务的安全级别选择验证类型;
- 付款金额小于或等于当前可用余额的金额;
- 已付款的记录,企业可通过企业付款查询查看相应数据。
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 | 签名错误 | 没有按照文档要求进行签名 |
|
XML_ERROR | Post内容出错 | Post请求数据不是合法的xml格式内容 | 修改post的内容 |
FATAL_ERROR | 两次请求参数不一致 | 两次请求商户单号一样,但是参数不一致 | 如果想重试前一次的请求,请用原参数重试,如果重新发送,请更换单号。 |
CA_ERROR | 证书出错 | 请求没带证书或者带上了错误的证书 |
|