微信小程序实现微信企业付款到零钱功能的流程
官方文档地址:点击跳转
企业付款为企业提供付款至用户零钱的能力,支持通过API接口付款,或通过微信支付商户平台(pay.weixin.qq.com)网页操作付款。
使用条件
1、商户号(或同主体其他非服务商商户号)已入驻90日
2、商户号(或同主体其他非服务商商户号)有30天连续正常交易
3、 登录微信支付商户平台-产品中心,开通企业付款。
付款资金
企业付款到零钱资金使用商户号余额资金。
根据商户号的账户开通情况,实际出款账户有做区别:
- ◆ 默认情况下,企业付款到零钱使用商户号基本户(或余额账户)余额。如商户号已开通运营账户,则企业付款到零钱使用运营账户内的资金。
- ◆ 基本户(或上述其他出款账户)的资金来源,可能是交易结算款项(仅基本户),或给账户充值的资金。当出款账户余额不足时,付款将因余额不足而付款失败。
付款规则
付款方式
◆ 支持API接口或网页操作,付款至目标用户。
收款用户身份指定
◆ 通过APPID+OPENID指定收款用户。
◆ APPID需要为申请商户号时的APPID,或者与商户号有绑定关系。
◆ OPENID的获取方式,可参照:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140839
付款额度
◆ 不支持给非实名用户打款
◆ 给同一个实名用户付款,单笔单日限额5000/5000元
◆ 一个商户同一日付款总额限额10万元
注意:以上规则中的限额5000、10万由于计算规则与风控策略的关系,不是完全精确值,金额仅做参考,请不要依赖此金额做系统处理,应以接口实际返回和查询结果为准,请知晓。
收款用户身份校验
◆ 针对付款的目标用户,提供可校验真实姓名的功能
查询付款情况
◆ 已付款的记录,企业可通过企业付款查询查看相应数据,或者查询商户号资金流水。
付款频次
◆ 默认每天最多可向同一个用户付款10次,可以在商户平台--API安全进行设置
其他注意事项
◆ 付款金额必须小于或等于商户当前可用余额的金额;
接口介绍
业务流程 | 接口 | 简介 |
---|---|---|
付款 | 企业付款 |
用于企业向微信用户个人付款 目前支持向指定微信用户的openid付款。(获取openid参见微信公众平台开发者文档: 网页授权获取用户基本信息) |
注意事项:
◆ 当返回错误码为“SYSTEMERROR”时,请不要更换商户订单号,一定要使用原商户订单号重试,否则可能造成重复支付等资金风险。
◆ XML具有可扩展性,因此返回参数可能会有新增,而且顺序可能不完全遵循此文档规范,如果在解析回包的时候发生错误,请商户务必不要换单重试,请商户联系客服确认付款情况。如果有新回包字段,会更新到此API文档中。
◆ 因为错误代码字段err_code的值后续可能会增加,所以商户如果遇到回包返回新的错误码,请商户务必不要换单重试,请商户联系客服确认付款情况。如果有新的错误码,会更新到此API文档中。
◆ 错误代码描述字段err_code_des只供人工定位问题时做参考,系统实现时请不要依赖这个字段来做自动化处理。
接口地址
接口链接:https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers
是否需要证书
请求需要双向证书。 详见证书使用
请求参数
字段名 | 变量名 | 必填 | 示例值 | 类型 | 描述 |
---|---|---|---|---|---|
商户账号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) | 商户appid下,某用户的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。 |
请求示例:
<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的时候有返回
成功示例:
<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>
错误码
错误代码 | 描述 | 原因 | 解决方案 |
---|---|---|---|
NO_AUTH | 没有该接口权限 |
1. 用户账号被冻结,无法付款 2. 产品权限没有开通或者被风控冻结 3. 此IP地址不允许调用接口,如有需要请登录微信支付商户平台更改配置 |
请根据具体的错误返回描述做对应处理,如返回描述不够明确,请参考此处的错误原因做排查。 |
AMOUNT_LIMIT |
金额超限 |
1. 被微信风控拦截,最低单笔付款限额调整为5元。 2. 低于最低单笔付款限额或者高于最高单笔付款限额 |
目前最低付款金额为1元,最高10万元,请确认是否付款金额超限。 |
PARAM_ERROR | 参数错误 |
1. 请求参数校验错误 2. 字符中包含非utf8字符 3. 商户号和appid没有绑定关系 |
请参照原因检查您的请求参数是否正确。 |
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 |
该用户今日付款次数超过限制,如有需要请登录微信支付商户平台更改API安全配置 |
该用户今日付款次数超过限制,如有需要请登录微信支付商户平台更改API安全配置 |
向用户付款的次数超限了,请参考接口使用条件,如果要继续付款必须使用原商户订单号重试。 |
RECV_ACCOUNT_NOT_ALLOWED |
收款账户不在收款账户列表 |
收款账户不在收款账户列表 |
请登陆商户平台,查看产品中心企业付款到零钱的产品配置 |
PAY_CHANNEL_NOT_ALLOWED |
本商户号未配置API发起能力 |
本商户号未配置API发起能力 |
请登陆商户平台,查看产品中心企业付款到零钱的产品配置 |
微信小程序实现微信企业付款到零钱功能的流程相关推荐
- asp源码demo下载:微信公众号支付企业付款到零钱功能asp源码下载案例
最近接到一个开发需求,一个企业想用微信支付里面的,企业付款到零钱功能,利用此功能来给用会发红包,因为微信支付里的红包功能一次要付款1块钱,太多,所以他想利用此功能来发红包,这样红包金额可以低到每次3角 ...
- 微信小程序和微信商城的对比,看看你的企业适合做微信小程序还是微商城
什么是微信小程序 微信小程序是一种不需要下载安装即可使用的应用,它实现了应用"触手可及"的梦想,用户扫一扫或者搜一下即可打开应用.也体现了"用完即走"的理念,用 ...
- 微信小程序个人和企业有什么不一样(个人和企业小程序的区别)
很多朋友在注册微信小程序时不知道微信小程序个人和企业有什么不一样.本文就为大家介绍一下个人小程序和企业小程序的区别. 1.注册流程不一样.在微信公众平台注册的小程序因为个人,小程序注册主体是个人用户所 ...
- 基于微信小程序的小型企业人力资源管理小程序-计算机毕业设计
运行环境 开发语言:Java 框架:ssm JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7(一定要5.7版本) 数据库工具:Navicat11 开发软件:eclipse/ ...
- 基于微信小程序的小型企业人力资源管理小程序
运行环境 开发语言:Java 框架:ssm JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7(一定要5.7版本) 数据库工具:Navicat11 开发软件:eclipse/ ...
- PHP微信商户支付 - 企业付款到零钱功能(即提现)技术资料汇总
PHP实现微信开发中提现功能(企业付款到用户零钱) 一.实现该功能目的 这几天在小程序里要实现用户从系统中提现到零钱的功能,查了一下文档可以使用 企业付款到用户零钱 来实现: 官方文档:https:/ ...
- 如何开发微信小程序?微信小程序有哪些特点?
目前,小程序因为其无需安装.无需下载的便捷性.易用性获得了越来越多用户的青睐,微信小程序基于微信庞大的用户基数,也成为越来越多商家开拓增值业务的优先选择.什么是小程序?以微信小程序为例,微信小程序便是 ...
- 如何制作一个微信小程序【微信小程序是怎么做的】
为什么现在这么多人使用微信小程序呢?因为微信小程序除了便捷易开发,公司企业可以用来做小程序展示官网,商家也可以做小程序商城,甚至个人也可以拥有自己的小程序.那么如何制作一个微信小程序?微信小程序是怎么 ...
- 微信小程序和微信小游戏的区别体现在哪?
微信小程序和微信小游戏有什么区别?随着<羊了个羊>持续大火,很多人把开发目光投向了微信小游戏.虽然说微信小游戏是微信小程序的一种类型,但两者不仅仅是服务类目不同,所提供的部分小程序能力也不 ...
- 微信小程序及微信生态圈
微信小程序简介 2011年1月21日,腾讯公司推出一个即时通讯服务的免费应用程序,由张小龙带领的腾讯广州研发中心产品团队打造. 首先 区分微信小程序,微信小游戏和微信公众号. 微信小程序,简介小程序, ...
最新文章
- short 类型的大小为( )个字节。_2008-2012,张一鸣在豆瓣书影音为字节跳动埋下的5个彩蛋...
- Java程序员从笨鸟到菜鸟之(四)java开发常用类(包装,数字处理集合等)(上)
- 操作系统:Windows 11 来了 !无需安装即可体验 !
- python统计文件大小_python工具--01.统计当前目录下的文件的大小
- 华为防火墙查看日志命令_华为防火墙异常日志,请高手进来查看,跪谢
- 【C/C++】递归算法
- 我的渣渣java实训
- AndroidStudio_安卓原生开发_自定义单选列表Spinner绑定自定义数据类型---Android原生开发工作笔记143
- Microsoft Dynamics CRM MVP
- linux 17 中文输入,Rethat Linux Fedora17添加中文输入法
- linux 终端使用aplay播放wav
- vue中使用iview修改Cascader的默认数据
- CSS 框架 Bulma 教程
- 计算机应用的功效,谈谈计算机应用技术在企业信息化的作用
- 按头安利 好看又实用的毛笔书法字体素材看这里
- HarmonyOS APP开发入门3——组件(二 Text组件)
- 固态硬盘坏了怎么恢复数据恢复
- java操作文件之文件重命名
- 数据分析——算法——K-means聚类(天池:汽车产品聚类分析)
- 如何写一份详细的创业计划书?
热门文章
- c语言 多种方式求字符串长度
- HTML数据可视化散点图,数据可视化:用散点图进行数据分析
- 图灵工业机器人说明书_从2020世界人工智能大会,看工业机器人领域领军企业布局...
- Windows 10连接打印机提示网路“指定的网络名已不再可用”
- UVALive - 5857 Captain Q's Treasure
- python爬微信公众号教程_python爬搜狗微信获取指定微信公众号的文章
- Excel 工作表密码破解
- 学习掌握Excel程度的层级划分
- Octree 了然于胸
- 光机电气一体化控制实训系统