官方文档点击查看准备工作:已通过微信认证的公众号,必须通过ICP备案域名(否则会报支付失败)借鉴了很多大神的文章,在此先谢过了大体过程:先扫码(还没有确定实际要支付的金额),这个码是商品的二维码,再生成订单,适用于自动贩卖机之类固定金额的. 模式一支付的流程如下图,稍微有点复杂 业务流程说明:(1)商户后台系统根据微信支付规定格式生成二维码(规则见下文),展示给用户扫码.(2)用户打开微信"扫一扫"扫描二维码,微信客户端将扫码内容发送到微信支付系统.(3)微信支付系统收到客户端请求,发…
官方文档点击查看 准备工作:已通过微信认证的公众号,域名可以不通过ICP备案借鉴了很多大神的文章,在此先谢过了大体过程:根据固定金额和商品的ID先生成订单,再生成二维码,客户扫一扫付款模式二支付的流程如下图,可以说是最简单的支付方式了 业务流程说明:(1)商户后台系统根据用户选购的商品生成订单.(2)用户确认支付后调用微信支付[统一下单API]生成预支付交易:(3)微信支付系统收到请求后生成预支付交易单,并返回交易会话的二维码链接code_url.(4)商户后台系统根据返回的code_url生成…
一.本节要点 1.获取jsapi_ticket //2.获取getJsapiTicket的接口地址,有效期为7200秒 private static final String GET_JSAPITICKET_URL="https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=jsapi"; /** * @desc :2.获取JsapiTicket * * @param ac…
转自:http://www.cuiyongzhi.com/post/63.html 之前发过一个[微信开发]系列性的文章,也引来了不少朋友观看和点评交流,可能我在写文章时有所疏忽,对部分文件给出的不是很完全所以导致部分同学在有些地方做开发的时候遇到了一些阻力,收到这些朋友同学们的咨询反馈之后我也做了一些反思和总结,其中一部分同学说少了GlobalConstants这个文件(这个真心占的不少),还有一部分就是说源码的问题,所以今天特意抽了时间补充下这两点! (一)关于GlobalConstants…
源码将在晚上上传到 github 一.准备阶段 需要准备事项: 1.一个能在公网上访问的项目: 见:[  Java微信公众平台开发_01_本地服务器映射外网  ] 2.一个微信公众平台账号: 去注册:(https://mp.weixin.qq.com/) 3.策略文件 见:[ Java企业微信开发_Exception_02_java.security.InvalidKeyException: Illegal key size ] 4.微信官方消息加解密工具包 需要下载微信官方的消息加解密的工具包…
转自:http://www.cuiyongzhi.com/post/45.html 前面几篇一直都在写一些比较基础接口的使用,在这个过程中一直使用的都是我个人微博认证的一个个人账号,原本准备这篇是写[多媒体消息回复]的,后来主要到我个人账号的接口权限不够,所以在这里插入一篇[公众平台测试帐号的申请]的文章,同时也提醒各位开发者一定要注意在开发过程中需要注意接口权限,以防想当然的写完代码才发现接口不能使用,但是同样的我们也可以先预演接口的功能然后再将其应用到实际中! ①登入到微信公众平台,我们到[…
转自:http://www.cuiyongzhi.com/post/56.html 前面的文章有讲到微信的一系列开发文章,包括token获取.菜单创建等,在这一篇将讲述在微信公众平台开发中如何获取微信用户的信息,在上一篇我们有说道微信用户和微信公众账号之间的联系可以通过Openid关联,所以在这里我们就采用openid去获取用户微信信息,并实现一个简单场景应用:当微信新用户关注我们的微信公众平台的时候我们自动回复一篇图文消息,然后在图文消息中标题为:[尊敬的:XXX,你好!],而且在图文消息中的…
转自:http://www.cuiyongzhi.com/post/38.html (一)接入流程解析 在我们的开发过程中无论如何最好的参考工具当然是我们的官方文档了:http://mp.weixin.qq.com/wiki/8/f9a0b8382e0b77d87b3bcc1ce6fbc104.html 通过文档我们可以看出其中接入微信公众平台开发,开发者需要按照如下步骤完成: 填写服务器配置 验证服务器地址的有效性 依据接口文档实现业务逻辑 按照上面的逻辑可能是填写服务器配置信息是在第一步,但…
前面的文章有讲到微信的一系列开发文章,包括token获取.菜单创建等,在这一篇将讲述在微信公众平台开发中如何获取微信用户的信息,在上一篇我们有说道微信用户和微信公众账号之间的联系可以通过Openid关联,所以在这里我们就采用openid去获取用户微信信息.并实现两个个简单场景应用:(一)当微信新用户关注我们的微信公众平台的时候我们自动回复一篇图文消息,然后在图文消息中标题为:[尊敬的:XXX,你好!],而且在图文消息中的图片就是用户的微信头像,如下图:(二)pc界面显示用户的昵称,性别,头像 (…
本部分需要用到微信的JS-SDK,微信JS-SDK是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包.通过使用微信JS-SDK,网页开发者可借助微信高效地使用拍照.选图.语音.位置等手机系统的能力,同时可以直接使用微信分享.扫一扫.卡券.支付等微信特有的能力,为微信用户提供更优质的网页体验. 官方文档点击查看 一.JS-SDK引入 1.先登录微信公众平台进入"公众号设置"的"功能设置"里填写"JS接口安全域名",和网页授权一样只是个域名…
转自:http://www.cuiyongzhi.com/post/63.html 在前面的文章中有介绍到我们在微信web开发过程中常常用到的 [微信JSSDK中Config配置] ,但是我们在真正的使用中我们不仅仅只是为了配置Config而已,而是要在我们的项目中真正去使用微信JS-SDK给我们带来便捷,那么这里我们就简述如何在微信web开发中使用必要的方法!微信的JS-SDk中为我们提供的方法很多,这里我有一个简单截图如下: 在上图的提供的所有口中我们可以按照接口实现的难易程度分成两个部分:…
JSSDK曾经引爆前端以及后端的工程师,其魔性的力量毋庸置疑,在我们的技术眼里它的实现原理和根本是不能够被改变的,这篇文章就不对其js的实现做任何评价和解说了(因为我也不是很懂,哈哈),这里要说的是它的config配置实现,参考文档:http://mp.weixin.qq.com/wiki/11/74ad127cc054f6b80759c40f77ec03db.html  ! 微信JS-SDK是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包,通过使用微信JS-SDK,网页开发者可借助…
转自:http://www.cuiyongzhi.com/post/57.html 前端开发工程师和关注前端开发的开发者们在2015年中肯定被腾讯的JSSDk引爆过,搞APP的.搞前端的甚至是是搞后端的都跑过来凑热闹,一时之间也把微信JSSDK捧得特别牛逼,但是在我们的技术眼里它的实现原理和根本是不能够被改变的,这篇文章就不对其js的实现做任何评价和解说了(因为我也不是很懂,哈哈),这里要说的是它的config配置实现,参考文档:http://mp.weixin.qq.com/wiki/11/7…
转自:http://www.cuiyongzhi.com/post/55.html 微信公众平台(map.weixin.qq.com)/开放平台(open.weixin.qq.com)/商户平台(pay.weixin.qq.com)这三个平台不知道大家有没有完全解除到,有人可能因为接触到其中的一个或者两个对其他的有些陌生或者说都不知道他们分别是干什么的,不要紧,那么这篇文章就带领你认知他们,不论你是一个微信开发者还是一个微信运营者,我相信你都会有足够的理由去认知和了解其中的一个或两个! (一)微…
转自:http://www.cuiyongzhi.com/post/44.html (一)token的介绍 引用:access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token.开发者需要进行妥善保存.access_token的存储至少要保留512个字符空间.access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效! (二)token的获取参考文档 获取的流程我们完全可以参考微信官方文档:http://m…
GitHub源码:https://github.com/shirayner/weixin_gz 一.本节要点 1.网页授权回调域名 登录微信公众平台后台, 开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信息 - 修改, 这里填写的是域名(是一个字符串),而不是URL 2. 获取code 获取code的流程 (1)创建一个跳转按钮,链接为: https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxa0064e…
GitHub源码:https://github.com/shirayner/weixin_gz 一.本节要点 1.回调url 上一节,我们启用服务器配置的时候,填写了一个服务器地址(url),如下图,这个url就是回调url,是开发者用来接收微信消息和事件的接口URL .也就是说,用户在微信公众号中发送的消息会被推送到这个回调url,而我们可以接收用户的消息,并进行回复. 2.被动回复消息的流程 官方文档: 我们在上一节中设置的消息加解密方式是安全模式.因此在用户发给公众号的消息(接收消息)以及…
在前面的文章中有介绍到我们在微信web开发过程中常常用到的 [微信JSSDK中Config配置],但是我们在真正的使用中我们不仅仅只是为了配置Config而已,而是要在我们的项目中真正去使用微信JS-SDK给我们带来便捷,那么这里我们就简述如何在微信web开发中使用必要的方法!在开始之前,上一篇有朋友有疑问,如何在手机端显示,这里我们来补充一下: 这里的前提是你要跟着做到,浏览器显示返回200 状态码. (一)修改我们的menue. 打开我们的menueMain,将Button修改,修改后的代码…
前言:      这篇博客是在三月初动手项目的时候准备写的,但是为了完成项目只好拖延时间写这篇博客,顺便也可以在项目中应用我自己总结的的一些经验.今天看来,这些方法的应用还是可以的,至少实现了我之前的构想.     写本文的初意是为了让那些跟我一样对微信公众平台有长时间关注的和那些还未了解微信公众平台的Programer,分享些思路以及开发经验,希望对阅览此文的你会有所帮助. 也希望有大神对小八哥的不妥之处进行指点.    鸣谢:感谢以下两位大神的指点http://blog.csdn.net/l…
官方文档点击查看准备工作:已通过微信认证的公众号,必须通过ICP备案域名(否则会报支付失败)借鉴了很多大神的文章,在此先谢过了 整个支付流程,看懂就很好写了 一.设置支付目录 在微信公众平台设置您的公众号支付支付目录,设置路径见下图.公众号支付在请求支付的时候会校验请求来源是否有在公众平台做了配置,所以必须确保支付目录已经正确的被配置,否则将验证失败,请求支付不成功. 支付授权目录就是指支付方法的请求全路径 二.设置授权域名 开发公众号支付时,在统一下单接口中要求必传用户openid,而获取op…
转自:http://www.cuiyongzhi.com/post/78.html 好长时间没有写文章了,主要是最近的工作和生活上的事情比较多而且繁琐,其实到现在我依然还是感觉有些迷茫,最后还是决定静下心来坚持一开始的选择,继续我们的微信系列文章的后续更新,也希望在自己有时间的时候能把更多的内容呈现给大家,前面一系列的文章讲述了很多微信开发相关的基础知识点 [微信系列文章],那么从这一篇开始将讲述微信较深一层次或者说在产品应用中时刻会用到的一些技术点,那么下面就让我们进入正题吧,这一篇我要讲述的…
转自:http://www.cuiyongzhi.com/post/48.html 自定义菜单这个功能在我们普通的编辑模式下是可以直接在后台编辑的,但是一旦我们进入开发模式之后我们的自定义菜单就需要自己用代码实现,所以对于刚开始接触的人来说可能存在一定的疑惑,这里我说下平时我们在开发模式下常用的两种自定义菜单的实现方式:①不用写实现代码,直接用网页测试工具Post json字符串生成菜单:②就是在我们的开发中用代码实现菜单生成!(参考文档:http://mp.weixin.qq.com/wiki…
微信公众平台的开发,总体说来也是简单的,就是先大概看下微信公众平台接口文档. 请先大概浏览一下API手册,我们会发现,推送给微信服务器的数据有两种:xml的形式,和json的形式. 那么什么时候是XML格式,什么时候是json格式呢? 废话不多说,先上个流程图:用户发送任意文字,我们回复一条图文消息: (1)这是一种接收消息--回复消息的模式: 2标志的xml格式: <xml> <ToUserName><![CDATA[toUser]]></ToUserName&…
一.本节要点 1.菜单相关实体类的封装 参考官方文档中的请求包的内容,对菜单相关实体类进行封装. 2.数据传输格式—JSON 自定义菜单中请求包的数据是Json字符串格式的,请参见:  Java_数据交换_fastJSON_01_用法入门 二.代码实现 1.菜单实体的封装 1.1 按钮基类—Button package com.ray.weixin.gz.model.menu; /** * @desc : 按钮的基类 * * @author: shirayner * @date : 2017年1…
转自:http://www.cuiyongzhi.com/post/58.html 为帮助开发者更方便.更安全地开发和调试基于微信的网页,微信推出了 web 开发者工具.它是一个桌面应用,通过模拟微信客户端的表现,使得开发者可以使用这个工具方便地在 PC 或者 Mac 上进行开发和调试工作.你可以: 使用自己的微信号来调试微信网页授权 调试.检验页面的 JS-SDK 相关功能与权限,模拟大部分 SDK 的输入和输出 使用基于 weinre 的移动调试功能 利用集成的 Chrome DevTool…
一.本节要点 1.官方文档的media 这个media可以理解为文件,即我们需要以POST方式提交一个文件 2.媒体文件有效期 媒体文件在微信后台保存时间为3天,即3天后media_id失效. 二.代码实现 1.HTTP请求工具类—HttpHelper.java package com.ray.weixin.gz.util; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; impo…
转自:http://www.cuiyongzhi.com/post/47.html 我们在微信公众号的后台可以发现微信给我们制定了两种模式,一种是开发者模式(也就是我们一直在做的开发),还有一种模式是编辑模式,然而很蛋疼的是有些功能一旦我们切换到开发者模式下就无法使用了,比较典型的就是关键字回复以及服务器无响应的时候返回的[服务器无法响应]等问题 ,这里我给出的解决方案是:①对关键字给出关键字回复的代码实现:②[服务器5s无响应]解决方案是接入多客服,以方便我们的消息处理! (一)关键字自动回复…
转自:http://www.cuiyongzhi.com/post/43.html 上篇我们说到回复消息可以根据是否需要上传文件到微信服务器可划分为[普通消息]和[多媒体消息],这里我们来讲述普通消息的回复实现,在消息回复中存在一个关键字段[openid],它是微信用户对于公众号的唯一标识,这里不做过多解释后面将给出时间专门来讲解微信生态中的关键字! (一)回复文本消息 在前面我们已经完成了对消息的分类和回复消息实体的建立,这里回复文本消息需要用到的就是我们的TextMessage,我们把回复文…
转自: http://www.cuiyongzhi.com/post/39.html 在上一篇的文章中我们详细讲述了如何将我们的应用服务器和微信腾讯服务器之间的对接操作,最后接入成功,不知道你有没有发现在上一篇的[controller]中我定义了一个get方法和一个post方法,但是在使用过程中我们就用了get方法,这里我们就来说说我们预留的post的方法的使用! 当我们在完成了服务器验证之后,此后用户每次向公众号发送消息.或者产生自定义菜单点击事件时,开发者填写的服务器配置URL将得到微信服务…
自定义菜单这个功能在我们普通的编辑模式下是可以直接在后台编辑的,但是一旦我们进入开发模式之后我们的自定义菜单就需要自己用代码实现,所以对于刚开始接触的人来说可能存在一定的疑惑,这里我说下平时我们在开发模式下常用的两种自定义菜单的实现方式:①不用写实现代码,直接用网页测试工具Post json字符串生成菜单:②就是在我们的开发中用代码实现菜单生成!(参考文档:http://mp.weixin.qq.com/wiki/10/0234e39a2025342c17a7d23595c6b40a.html …