1. 前言 在Java中的微信支付(1):API V3版本签名详解一文中胖哥讲解了微信支付V3版本API的签名,当我方(你自己的服务器)请求微信支付服务器时需要根据我方的API证书对参数进行加签,微信服务器会根据我方签名验签以确定请求来自我方服务器.那么同样的道理我方的服务器也要对微信支付服务器的响应进行鉴别来确定响应真的来自微信支付服务器,这就是验签.验签使用的是[微信支付平台证书公钥],不是商户API证书.使用商户API证书是验证不过的.今天就来分享一下如何获得微信平台公钥和动态刷新微信平台…
但是支付成功后却不能正确的执行支付结果js回调函数.看看其页面的点击事件是放在asp:Button上面的.我们知道在asp.net webform中,按钮的点击是有页面回调后台的.也就是其实点击了之后页面是有刷新的,所以这边要是想用官方的js回调的话就不能使用asp.net的服务器控件了!将点击支付的按钮改成   1 <button style="width:210px; height:50px; border-radius: 15px;background-color:#FE6714;…
先来看下微信支付官方文档: 1.在官方文档上有很多种支付方式,由于目前我只做过JSAPI和微信扫码支付二种,其他的就不说了. >>>>>第一种微信扫码支付>>>>>>>>>>>>>>>>>>>>>>>>> 实现步骤: 1.写一个controller返回一个商品订单的支付二维码codeUrl,前端拿到codeUrl使用qrcode…
官方文档 :https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=23_1 微信支付PC二维码支付:https://www.cnblogs.com/pxblog/p/10542917.html 公众号支付:https://www.cnblogs.com/pxblog/p/12815705.html 在做沙箱测试的时候,微信支付里面的金额固定的,其他金额是无效的.需要按照文档来输入.金额必须是(1.01) <xml> <retu…
        微信支付教程系列之现金红包           最近最弄这个微信支付的功能,然后扫码.公众号支付,这些都做了,闲着无聊,就看了看微信支付的其他功能,发现还有一个叫“现金红包”的玩意,想着自己平时也喜欢发红包玩玩,但是就没试过写程序来实现,所以,心中就萌发了这个,搞一搞微信红包的功能,想尝试一下.           首先,先去查看的,当然是官方的API了,但是看了之后,心中跟以前初次接触微信支付那样,心中万头草泥马在奔腾.我们想哈,一个这么大的公司,我相信你们不缺技术人员吧,为什…
微信支付教程系列之扫码支付                  今天,我们来一起探讨一下这个微信扫码支付.何为扫码支付呢?这里面,扫的码就是二维码了,就是我们经常扫一扫的那种二维码图片,例如,我们自己添加好友的时候,可以通过输入对方的微信号,也可以扫一扫对方的二维码.扫码支付,作为,微信支付里面,不可或缺的一个功能,对商品的支付提供了极为方便的体验,用途也非常的多.例如我们在地铁.公交站常见的那些自动售货机(不错,就是那种投硬币,就可以自动出货的那种机器)中都用到.以前,那种机器,只能通过投硬币或…
微信支付教程系列之公众号支付         今天,我们接着讲微信支付的系列教程,前面,我们讲了这个微信红包和扫码支付.现在,我们讲讲这个公众号支付.公众号支付的应用环境常见的用户通过公众号,然后再通过公众号里面的菜单链接,进入公众号的商城,然后在里面完成购买和支付功能,我们可以看看官方对这个公众号支付的场景的解释,链接:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_1,通过这个官方的解释,那我们大概清楚这个公众号的用途了,…
微信支付之微信模板消息推送                    今天我要跟大家分享的是“模板消息”的推送,这玩意呢,你说用途嘛,那还是真真的牛逼呐.原因在哪?就是因为它是依赖微信生存的呀,所以他能不牛逼吗?现在的社会,人多多少少都有或轻或重的“强迫症”.就是,看到有未读消息,都要去看一下.特别是现在的微信,大部分可以几个小时不看手机QQ有没有新消息来,但是这大部分人绝对做不到一个小时不看微信有没有消息来.现在的微信,真特么是神一样的存在,几乎人人手机上都会有微信.而且,如果你的公众号是服务号的…
微信支付教程系列之公众号支付           今天,我们接着讲微信支付的系列教程,前面,我们讲了这个微信红包和扫码支付.现在,我们讲讲这个公众号支付.公众号支付的应用环境常见的用户通过公众号,然后再通过公众号里面的菜单链接,进入公众号的商城,然后在里面完成购买和支付功能,我们可以看看官方对这个公众号支付的场景的解释,链接:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_1,通过这个官方的解释,那我们大概清楚这个公众号的用途…
上一篇讲到成功获取 openid,本篇要调用微信统一接口创建预支付交易单,并获取到相关数据,以便(后边)在微信内调起H5支付 第三步,调用微信统一下单接口创建预支付交易单 微信统一下单API是微信支付的一个"统一"处理入口,编辑本文时给出的地址是 https://api.mch.weixin.qq.com/pay/unifiedorder https://api2.mch.weixin.qq.com/pay/unifiedorder(备用域名) 首先先按照 统一下单 接口一问中给的 请…
上一篇讲到拿到了 预支付交易标识 wx251xxxxxxxxxxxxxxxxxxxxxxxxxxxxx078700 第四步,是时候微信内H5调起支付了! 先准备网页端接口请求参数列表 微信文档中已经明确给出了所有参数名和参与签名计算的参数,即 appId,具有支付权限的与微信支付商户关联绑定的公众号的APPID timeStamp,10位当前Unix时间 nonceStr,<=32 位的随机信息,请求方自行随意生成即可 package,统一下单接口返回的prepay_id参数值,提交格式为:pr…
微信支付现在分为v2版和v3版 2014年9月10号之前申请的为v2版,之后申请的为v3版. V2版中的参数有AppIDAppSecret支付专用签名串PaySignKey商户号PartnerID初始密钥PartnerKey 并且包含一个证书文件: 安全证书 同时,V2版需要缴纳保证金. V3版中的参数有AppIDAppSecret商户号PartnerID初始密钥PartnerKey商户号MCHID申请编号商户平台登录帐号商户平台登录密码 包含5个证书文件(证书pkcs12格式.证书pem格式.…
微信的接口真的很坑爹,只返回成功或失败,从来不会告诉你为什么失败.这个微信支付的js接口也是调了一个下午才成功,期间踩了不少坑,在这里总结一下,而且把支付接口封装成了一个js文件,这样以后调用就很方便了. 坑1:公众号里面可以设置测试目录,例如是 www.baidu.com/pay/,这样设置的,那么的你支付的页面的url一定要在这个目录下面,而且不能有二级目录,例如支付的url是www.baidu.com/pay/1的话是可以的,但是www.baidu.com/pay/1/1这样是不可以的,会…
第一篇中将一些坑说明,那么这篇开始正式进入接入步骤.具体的参数说明,我不会列出,毕竟微信官方文档都有,我想大家都看的懂,而且这接口也有可能微信会变动,所以不列出来,也是不想引起大家的误解,接入步骤只起一个抛砖引玉的作用. 接入步骤 获取OpenId和授权.首先聊一下OpenId,这个东西相当于一个用户id,只是,它并不是用户的微信号,也不是用户在微信后台的标识(至少不全是).openid是当用户,经过授权后,相对于某个公众号的用户标识.换句话说,同样的用户,对于不同的公众号,其openid是不一…
本文介绍微信支付账号体系各参数. 商户在微信公众平台提交申请资料以及银行账户资料,资料审核通过并签约后,可以获得表6-4所示帐户(包含财付通的相关支付资金账户),用于公众帐号支付. 帐号 作用 appId 公众帐号身份的唯一标识.审核通过后,在微信发送的邮件中查看. appSecret 公众帐号支付请求中用于加密的密钥Key,可验证商户唯一身份,PaySignKey对应于支付场景中的appKey值.审核通过后,在微信发送的邮件中查看. paySignKey 除了支付请求需要用到paySignKe…
想必微信支付是现在很多朋友离不开的一个功能,不论是扫描支付还是公众号支付或者app端支付,基本的思路都是一样的,之前做过支付宝支付以及中国移动支付接口,这几天花时间讲讲微信支付吧 先看一下微信支付的时序图,这图是官方提供的 看上去步骤很多,其实仔细划分后就是4个步骤: <1> 生成预付单,用户点击支付后,需要经过自己的后台去调用微信后台生成一个预付单号,这个预付单号是用来跟随整个支付流程的,然后再展示确认支付页面 <2> 用户在确认支付页面看到相关的支付,点击确认支付按钮,然后手机…
本文介绍微信支付申请时如何设置授权目录及URL. 在申请微信支付时,第一项就会碰到下图的配置. 下面就对这一设置进行讲解! 一.选择支付类型 目前有两种支付类型 JS API网页支付 Native原生支付 如果没有特殊要求,两种都勾选. 二.支付授权目录 目前可以选择http还是https协议,没有特别要求,建议选择http.对安全要求高的企业,请选择https,后续相关设置也需要自己处理. 支付授权目录填写自己控制的域名加上目录. 一个完整的目录参考如下: http://www.doucube…
Math中的相关操作 随机数 Java中除了可以直接导入Random类,获取随机数,还可以通过本身自带的Math方法去获取随机数.Math.random()可以产生随机小数,区间范围为[0.0,1.0).如下图: double num=Math.random();System.out.println(num);//输出一个0-1之间的随机小数 假设想要有一个区间为[3.6]之间的随机整数,如下: /*1.原区间为[0,1)->[3,6]区间,可以先把[3,6]转化为[3,7)2.原区间的距离是1…
如基本的单向加密算法: BASE64 严格地说,属于编码格式,而非加密算法 MD5(Message Digest algorithm 5,信息摘要算法) SHA(Secure Hash Algorithm,安全散列算法) HMAC(Hash Message Authentication Code,散列消息鉴别码) 复杂的对称加密(DES.PBE).非对称加密算法: DES(Data Encryption Standard,数据加密算法) PBE(Password-based encryption…
报如下错误,应该是本地测试环境不能正确获取客户ip导致的错误 果然 放到服务器上在测试就好了…
1. 前言 最近在折腾微信支付,证书还是比较烦人的,所以有必要分享一些经验,减少你在开发微信支付时的踩坑.目前微信支付的API已经发展到V3版本,采用了流行的Restful风格. 今天来分享微信支付的难点--签名,虽然有很多好用的SDK但是如果你想深入了解微信支付还是需要了解一下的. 2. API证书 为了保证资金敏感数据的安全性,确保我们业务中的资金往来交易万无一失.目前微信支付第三方签发的权威的CA证书(API证书)中提供的私钥来进行签名.通过商户平台你可以设置并获取API证书. 切记在第一…
啰嗦几句:微信支付v3版接口麻烦吗?在对接微信支付v3接口时,本来是一件很简单的事情,其实微信支付v3接口并不是很复杂,但是微信团队的管理很混乱,给我们开发者带来了巨大的麻烦. 微信支付v3版接口对接麻烦-问题出在了哪? 其一:微信支付的版本较多,没有形成一个统一管理说明: 其二:微信v3支付,没有一个完整的说明文档,文档都很分散: 其三:微信支付官方文档看似很详细,其实很多关键点都没说明白,新手看着就很头疼: 下面详细的说一下微信支付v3接口的开发 这个版本整合微信官方文档,以微信小程序开发为…
Payment Spring Boot 是微信支付V3的Java实现,仅仅依赖Spring内置的一些类库.配置简单方便,可以让开发者快速为Spring Boot应用接入微信支付. 功能特性 实现微信支付多商户 集成支付宝SDK.快速接入Spring Boot 实现微信支付V3 基础支付 实现微信支付V3 合单支付 实现微信支付V3 代金券 实现微信支付V3 微信支付分 实现微信支付V3 先享卡 实现微信支付V3 商家券 实现微信支付V3 批量转账到零钱 依赖坐标 最新版本Maven坐标为: <d…
[TOC] 1. 微信支付java版V3验证数据合法性 概要:使用微信支付接口时,微信会返回或回调给商户XML数据,开发者需要验证微信返回的数据是否合法. 特别提醒:商户系统对于支付结果通知的内容一定要做签名验证,防止数据泄漏导致出现"假通知",造成资金损失. 1.1 解析微信回调数据 InputStream inStream = request.getInputStream(); ByteArrayOutputStream outSteam = new ByteArrayOutput…
前2天,做一个手机网页的微信支付的项目,费了好些周折,记录一下.接下来,按照开发步骤,细数一下,我遇到的那些坑. [坑1]官方邮件中下载的demo只有PHP版本,其他版本没有给链接.可能让人误以为只有PHP版本,事实上,各种版本都有. 拿到了腾讯发给客户的,微信支付商户资料,邮件中提示:证书的详细使用方案,请查看微信支付开发接口文档.根据邮件微信支付开发接口文档的链接,定向到一个新的邮件附件,里面的内容: 3. 使用公众号发起支付请求 使用JS API在微信的网页中发起支付请求,详细方法见文档中…
前2天,做一个手机网页的微信支付的项目,费了好些周折,记录一下.接下来,按照开发步骤,细数一下,我遇到的那些坑. [坑1]官方邮件中下载的demo只有PHP版本,其他版本没有给链接.可能让人误以为只有PHP版本,事实上,各种版本都有. 拿到了腾讯发给客户的,微信支付商户资料,邮件中提示:证书的详细使用方案,请查看微信支付开发接口文档.根据邮件微信支付开发接口文档的链接,定向到一个新的邮件附件,里面的内容: 3. 使用公众号发起支付请求 使用JS API在微信的网页中发起支付请求,详细方法见文档中…
微信支付分(先享后付)对接记录: 微信支付分对接步骤 填写开通支付分的申请表格 此步骤大概需要审核 1-3 个工作日; (模板-服务信息配置表-[先享后付免确认]-[商户名].xls) 填写商户信息 和回调地址(支持三套环境) 拿到审核结果 对技术而言 需要serviceId appid appSecret 和API密钥(签名用) apiclient_cert.xxx 证书文件(退款用) 升级 V3 证书 仔细阅读微信官方对接文档 微信支付分 4.1 网约车场景接入流程图(非官方) http:/…
最近做了一个微信native方式支付的demo,整理一下. 首先到微信公众号官网阅读开发文档,虽然文档对于java没有例子,但是也可以作参考.https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_1 我的demo是用户在商家系统H5页面发起付款申请,商家系统通过H5页面收集相关参数,调用java方法生成支付字符串返回给H5页面,H5页面将支付字符串生成二维码,用户扫描即可支付.我这是最简单的例子.先看页面吧,JSP页面中javasc…
写这篇文章的目的有2个,一是自己的项目刚开发完微信支付功能,趁热回个炉温习一下,二也是帮助像我这样对微信支付不熟悉,反复看了多天文档还是一知半解,原理都没摸清,更不要说实现了.本以为网上的微信开发教程会和“java的重写与重载”一样铺天盖地,可搜出来的结果,要么是PHP的教程(微信支付官网推荐就是PHP),要么星星点点就那么几篇,想对比的看看思路都成问题,官网下载的JAVA-SDK-DEMO也恕我技术低下,看的糊里糊涂.等自己开发完的那一刻,才豁然开朗,才知道走通完支付这条路的过程走了多少弯路,…
摘要:最近的一个项目中涉及到了支付业务,其中用到了微信支付和支付宝支付,在做的过程中也遇到些问题,所以现在总结梳理一下,分享给有需要的人,也为自己以后回顾留个思路. 一:微信支付接入准备工作: 首先,微信支付,只支持企业用户,个人用户是不能接入微信支付的,所以要想接入微信支付,首先需要有微信公众号,这个的企业才能申请.有了微信公众号,就能申请微信支付的相关内容,所以在准备开始写代码之前需要先把下面的这些参数申请好:公众账号ID.微信支付商户号.API密钥.AppSecret是APPID对应的接口…