微信企业付款接口API

来源:互联网 发布:网络通信基础 编辑:程序博客网 时间:2024/04/29 15:38

API介绍

简介

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

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

企业付款

接口介绍

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

接口地址

接口链接:https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers

是否需要证书

请求需要双向证书。 详见证书使用

请求参数

字段名变量名必填示例值类型描述公众账号appidmch_appid是wx8888888888888888String微信分配的公众账号ID(企业号corpid即为此appId)商户号mchid是1900000109String(32)微信支付分配的商户号设备号device_info否013467007045764String(32)微信支付分配的终端设备号随机字符串nonce_str是5K8264ILTKCH16CQ2502SI8ZNMTM67VSString(32)随机字符串,不长于32位签名sign是C380BEC2BFD727A4B6845133519F3AD6String(32)签名,详见签名算法商户订单号partner_trade_no是10000098201411111234567890String商户订单号,需保持唯一性用户openidopenid是oxTWIuGaIt6gTKsQRLau2M0yL16EString商户appid下,某用户的openid校验用户姓名选项check_name是OPTION_CHECKStringNO_CHECK:不校验真实姓名
FORCE_CHECK:强校验真实姓名(未实名认证的用户会校验失败,无法转账)
OPTION_CHECK:针对已实名认证的用户才校验真实姓名(未实名认证用户不校验,可以转账成功)收款用户姓名re_user_name可选马花花String收款用户真实姓名。
如果check_name设置为FORCE_CHECK或OPTION_CHECK,则必填用户真实姓名金额amount是10099int企业付款金额,单位为分企业付款描述信息desc是理赔String企业付款操作说明信息。必填。Ip地址spbill_create_ip是192.168.0.1String(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是SUCCESSString(16)SUCCESS/FAIL
此字段是通信标识,非交易标识,交易是否成功需要查看result_code来判断返回信息return_msg否签名失败String(128)返回信息,如非空,为错误原因
签名失败
参数格式校验错误

以下字段在return_code为SUCCESS的时候有返回

字段名变量名必填示例值类型描述商户appidmch_appid是wx8888888888888888String微信分配的公众账号ID(企业号corpid即为此appId)商户号mchid是1900000109String(32)微信支付分配的商户号设备号device_info否013467007045764String(32)微信支付分配的终端设备号,随机字符串nonce_str是5K8264ILTKCH16CQ2502SI8ZNMTM67VSString(32)随机字符串,不长于32位业务结果result_code是SUCCESSString(16)SUCCESS/FAIL错误代码err_code否SYSTEMERRORString(32)错误码信息错误代码描述err_code_des否系统错误String(128)结果信息描述

以下字段在return_code 和result_code都为SUCCESS的时候有返回

字段名变量名必填示例值类型描述商户订单号partner_trade_no是1217752501201407033233368018String(32)商户订单号,需保持唯一性微信订单号payment_no是1007752501201407033233368018String企业付款成功,返回的微信订单号微信支付成功时间payment_time是2015-05-19 15:26:59String企业付款成功时间

成功示例:

<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权限AMOUNT_LIMIT付款金额不能小于最低限额付款金额不能小于最低限额每次付款金额必须大于1元PARAM_ERROR参数错误参数缺失,或参数格式出错,参数不合法等请查看err_code_des,修改设置错误的参数OPENID_ERROROpenid错误Openid格式错误或者不属于商家公众账号请核对商户自身公众号appid和用户在此公众号下的openid。NOTENOUGH余额不足帐号余额不足请用户充值或更换支付卡后再支付SYSTEMERROR系统繁忙,请稍后再试。系统错误,请重试使用原单号以及原请求参数重试NAME_MISMATCH姓名校验出错请求参数里填写了需要检验姓名,但是输入了错误的姓名填写正确的用户姓名SIGN_ERROR签名错误没有按照文档要求进行签名
  1. 签名前没有按照要求进行排序。
  2. 没有使用商户平台设置的密钥进行签名
  3. 参数有空格或者进行了encode后进行签名。
XML_ERRORPost内容出错Post请求数据不是合法的xml格式内容修改post的内容FATAL_ERROR两次请求参数不一致两次请求商户单号一样,但是参数不一致如果想重试前一次的请求,请用原参数重试,如果重新发送,请更换单号。CA_ERROR证书出错请求没带证书或者带上了错误的证书
  1. 到商户平台下载证书
  2. 请求的时候带上该证书 
1 1
原创粉丝点击