最近帮朋友做了一个简单的微分销系统,实现从企业付款到零钱分润的功能,简单记录一下微信企业付款到零钱的开发过程,

主要就是按规则封装好请求参数调用微信接口,涉及一些签名校验;

A.接口流程

1. 获取用户OPENID ,不同用户在不同公众号下的OPENID都是唯一的, 这里主要讲企业付款到零钱,已经实现微信获取用户信息的骚年可以跳过这一步
https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140839

2. 参数签名,需要将参数签名传递到微信企业付款接口,如果之前有实现其他微信接口,可以复用原来签名方法
https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=4_3

3. 调用企业付款接口
https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=14_2

B.前置条件

1. 已开通微信应用(服务号或者小程序),主要用到APPID+OPENID
2. 已开通微信商户,并且开通企业付款到零钱,主要用到商户号+商户秘钥+商户证书

C.代码实现:

核心代码就是下面这个方法,其实把需要的参数准备好后逻辑就很简单了,实现的就是开发流程中定义的几个步骤;

 

D.最终效果

微信企业付款API的JAVA代码我打了个压缩包,有兴趣的骚年可以自己下载到本地,项目可以直接跑起来,需要把参数根据自己的实际情况进行配置;小程序和微信服务号操作流程都是一样的。

--企业付款DEMO下载--   提取码: s7ps

E.常见问题

文章主要还是给大家提供思路,有网友留言说付款还是会遇到问题,可以加我的QQ:2172931891,尽可能帮助定位;
我了解反馈最多的是下面这几类问题,如果有遇到的话可以先自己排查下:

app_id (商户关联的应用ID)  
mch_id (商户ID) 
key (商户秘钥)

1.SIGNERROR 签名错误
-- 请求时编码要是全部设置为UTF-8; 
-- key传的不正确,key和app_id一定要对的上,如果已经接入过微信支付,要确认这里的传的就是微信支付中用到的key; 
-- 签名的参数和传递给微信的参数不匹配,一般是拼接参数不正确导致的,DEMO中参数已经配置好了,只要不修改参数的个数基本不会有问题;

2.NO_AUTH 此IP地址不允许调用接口
-- 新版本商户后台默认需要IP校验,有些人填192.168.1.XXX这种内网IP是不行的,可以访问ip168之类的网站获取自己的外网地址;在开发阶段也可以先关掉校验,方便本地调试;

3.OPENID_ERROR Openid错误
-- app_id和openid没对上导致的,比如公司同时开通了小程序和微信服务号,两个应用关联了同一个商户,极有可能就是用的小程序app_id作为参数,但是传的是微信服务号关联的openid

企业付款到个人零钱差不多就这些内容,希望可以给大家一点帮助 : )

原文链接(本人博客搬迁):https://blog.csdn.net/angryjiji/article/details/97398100

JAVA微信企业付款到零钱(十分钟搞定),附完整DEMO下载的更多相关文章

  1. 十分钟搞定pandas内容

    目录 十分钟搞定pandas 一.创建对象 二.查看数据 三.选择器 十二.导入和保存数据 参考:http://pandas.pydata.org/pandas-docs/stable/whatsne ...

  2. 关于微信企业付款到零钱X509Certificate2读取证书信息,发布到服务器访问不到的解决方案

     前言: 最近做了一个通过调用微信企业付款到用户零钱的功能,真的挺奇怪的,在我本地调试的时候都没有问题,但是当我发布到服务上的时候却一直无法读取到我的证书信息.读取的代码如下,使用的是微信官方文档提供 ...

  3. 十分钟搞定微信企业帐号“echostr校验失败,请您检查是否正确解密并输出明文echostr”

    问题域:在这里我们只解决密文可以正确解密,但微信验证提示“echostr校验失败,请您检查是否正确解密并输出明文echostr”的问题. 干货:没有正确验证的原因是:你给微信返回的是字符串,而微信需要 ...

  4. 【原】十分钟搞定pandas

    http://www.cnblogs.com/chaosimple/p/4153083.html 本文是对pandas官方网站上<10 Minutes to pandas>的一个简单的翻译 ...

  5. 十分钟搞定 pandas

    原文:http://pandas.pydata.org/pandas-docs/stable/10min.html 译者:ChaoSimple 校对:飞龙 官方网站上<10 Minutes to ...

  6. 十分钟搞定pandas

    转至:http://www.cnblogs.com/chaosimple/p/4153083.html 本文是对pandas官方网站上<10 Minutes to pandas>的一个简单 ...

  7. 【Python笔记】十分钟搞定pandas

    本文是对pandas官方网站上<10 Minutes to pandas>的一个简单的翻译,原文在这里.这篇文章是对pandas的一个简单的介绍,详细的介绍请参考:Cookbook .习惯 ...

  8. 十分钟搞定mongodb副本集

    mongodb副本集配置 最近项目中用到了mongodb,由于是用mongodb来记录一些程序的日志信息和日常的统计,为了增加应用的可靠性,一直在找mongodb集群的一些资料,下面是对最近做的一个小 ...

  9. 十分钟搞定CSS选择器

    在最近的web开发中是不是就会用到一些选择器,发现很多尤其是CSS3新增的不太熟悉,在此总结一下. 优先级 不同级别 1. 在属性后面使用 !important 会覆盖页面内任何位置定义的元素样式. ...

随机推荐

  1. Linux CPU占用率监控工具

    关键词:top.perf.sar.ksar.mpstat.uptime.vmstat.pidstat.time.cpustat.munin.htop.glances.atop.nmon.pcp-gui ...

  2. C++之运算符优先级顺序表

    [注] sizeof 的操作数不能是 C 风格转型:表达式 sizeof (int) * p 无歧义地解释成 (sizeof(int)) * p ,而非 sizeof((int)*p). 条件运算符中 ...

  3. HUE Oozie : error=2, No such file or directory采坑记录

    HUE Oozie : error=2, No such file or directory采坑记录 1.错误详情 一直都是同一种方式在hue上定义workflow,不知为啥 今天定义的就是不行... ...

  4. Fibonacci数Python的四种解法

    1: # 计算Fibonacci数: # Naive版本,时间效率O(1.618^n) # 记忆化版本(增加line8.10.13),时间效率O(n) # 注意:当n超过1000,可能超过系统允许的最 ...

  5. 教你用python假装黑客装逼,当着朋友的面破解他的网站密码!

    如何破解iphone登陆密码 今天看了一篇关于如何破解iphone手机密码的文章,瞬间觉得科学技术不是第一生产力,why? 根据“可靠消息”称,即便美国FBI也无法轻易的对iphone手机进行暴力破解 ...

  6. Java生鲜电商平台-高可用微服务系统如何设计?

    Java生鲜电商平台-高可用微服务系统如何设计? 说明:Java生鲜电商平台高可用架构往往有以下的要求: 高可用.这类的系统往往需要保持一定的 SLA,7*24 时不间断运行不代表完全不挂,而是有一定 ...

  7. CSS雪碧图(精灵图)使用

    1:CSS雪碧图:CSS雪碧图 即 CSS Sprites,也有人叫它CSS精灵图. 2:雪碧图的由来:一个网站的页面需要大量的小图片或者小图标,但是大量的图片如果放在服务器上,每次当打开网站并且向服 ...

  8. Vue和React的区别,以及如何选择?

    简介 React:React是一个用于创建可重用且有吸引力的UI组件的库.它非常适合代表经常变化的数据的组件. Vue:Vue.js是一个开源JavaScript框架,能够开发单页面应用程序.它还可以 ...

  9. Java学习笔记--线程day01

    线程的概念:一个线程是进程的顺序执行流: 同类的多个线程共享一块内存空间和一组系统资源,线程本身有一个供程序执行时的堆栈.线程在切换时负荷小,因此,线程也被称为轻负荷进程.一个进程中可以有多个线程. ...

  10. mysql创建用户后无法进入

    说明 在mysql中添加用户: #mysql -u root -p >use mysql: >update user set password="" where use ...