Java 使用微信支付 前言百度搜了一下微信支付,都描述的不太好,于是乎打算自己写一个案例,希望以后拿来直接改造使用。 因为涉及二维码的前端显示,所以有前端的内容 一....准备工作 所需微信公众号信息配置 APPID:绑定支付的APPID(必须配置) MCHID:商户号(必须配置) KEY:商户支付密钥,参考开户邮件设置(必须配置) APPSECRET:公众帐号secert...WxPayUtils.WX_PAY_PARTNER); m.put("nonce_str", WXPayUtil.generateNonceStr()); m.put("body","微信支付测试...WxPayUtils.WX_OPEN_NOTIFY_URL);//回调地址 m.put("trade_type", "NATIVE");//生成二维码的类型 //3 发送httpclient请求,传递参数xml格式,微信支付提供的固定的地址...查询订单信息的写法和生成二维码的方式差不多 无非就是请求时少了几个参数,必须得带上订单号 微信提供的查询订单接口返回数据中 trade_state 代表支付状态 notpay没有支付,seccess表示已成功
最近开发网站过程,需要引入支付过程,第三方支付中最火的莫过于支付宝支付和微信支付,下边借助微信支付官网上的文档,写一下接入微信支付之扫码支付的流程 相对支付宝支付而言,微信支付的开发文档写的相当的...(2)用户确认支付后调用微信支付【统一下单API】生成预支付交易; (3)微信支付系统收到请求后生成预支付交易单,并返回交易会话的二维码链接code_url。...(5)用户打开微信“扫一扫”扫描二维码,微信客户端将扫码内容发送到微信支付系统。 (6)微信支付系统收到客户端请求,验证链接有效性后发起用户支付,要求用户授权。...(7)用户在微信客户端输入密码,确认支付后,微信客户端提交授权。 (8)微信支付系统根据用户授权完成支付交易。...(9)微信支付系统完成支付交易后给微信客户端返回交易结果,并将交易结果通过短信、微信消息提示用户。微信客户端展示支付交易结果页面。 (10)微信支付系统通过发送异步消息通知商户后台系统支付结果。
需要有认证的公众号,且开通了微信支付,商户平台且开通了现金红包的权限即可。 https://pay.weixin.qq.com商户登陆地址。选择查看营销中心的现金红包 ?...不支持预支付。本文只是总结微信现金红包接口的调用与实现。具体要根据自己的业务去实现如何调用该接口。 ? ?...根据属性生成的验证 private String mch_billno; //订单号 private String mch_id; //商户号 private String wxappid; // 微信...String signs = Signature.getSign(pack); //生成的signset到pack对象中 pack.setSign(signs); //将对象转为xml格式 微信要求xml...[CDATA[微信公众号appid]]> <!
准备工作 所需微信公众号信息配置 APPID:绑定支付的APPID(必须配置) MCHID:商户号(必须配置) KEY:商户支付密钥,参考开户邮件设置(必须配置) APPSECRET:公众帐号secert...依赖中需要注意的是我导入了微信提供的sdk,以及freemarker模板引擎 3....WxPayUtils.WX_PAY_PARTNER); m.put("nonce_str", WXPayUtil.generateNonceStr()); m.put("body","微信支付测试...WxPayUtils.WX_OPEN_NOTIFY_URL);//回调地址 m.put("trade_type", "NATIVE");//生成二维码的类型 //3 发送httpclient请求,传递参数xml格式,微信支付提供的固定的地址...,用的qrcode插件,生成 然后设置定时器,来实时查询订单是否支付 查询订单信息的写法和生成二维码的方式差不多 无非就是请求时少了几个参数,必须得带上订单号 微信提供的查询订单接口返回数据中 trade_state
微信支付流程梳理 1.小程序微信支付 支付接口 /** * 支付接口 * @param request * @param response * @throws Exception */ @SuppressWarnings...Object, Object> packageParams = new TreeMap(); packageParams.put("appid", appid);//微信小程序...");//这个api有,固定的 //获取sign String sign = PayCommonUtil.createSign("UTF-8", packageParams);//最后这个是自己在微信商户设置的...map.put("type", true); map.put("massage", "查询成功"); return JsonMapper.getInstance().toJson(map); } 微信支付回调...= null){ sb.append(line); } br.close(); //sb为微信返回的xml String notityXml = sb.toString(
一、导入微信SDK ? 二、在微信商户平台下载证书放在项目的resources目录下的cert文件夹下(cert文件夹需要自己建) ?...; public class WxpayParam { /** 微信支付的金额是String类型 并且是以分为单位 * 下面举个例子单位是元是怎么转为分的 * */...ourWxPayConfig = new OurWxPayConfig(); WXPay wxPay = new WXPay(ourWxPayConfig); //根据微信支付...APP 微信app支付 JSAPI 公众号支付 NATIVE 扫码支付 data.put("notify_url",notifyUrl); /...; } throw new Exception(respData.get("return_msg")); } } 六、至此,后端代码已经结束,前端拿到返回值调用微信发起支付接口就可以了
Java微信支付【面试+工作】 微信支付文档上有刷卡支付,扫码支付,公众号支付,APP支付等各种支付手段。本次就微信内打开的网页支付为例子,用java进行实现一下。...完成以上两步后,微信端的支付端口就能够被我们的网站调用了。 三、分析业务时序图 微信在官方文档中用时序图反映了其对应的业务流程。 ?...根据此图,可以看出流程大致为:自己的java后台生成付款链接,用户点击链接,在java后台中生成商户订单,将此订单按照微信的格式发送给微信支付系统,微信支付系统生成一个预付单给java后台,然后在java...四、java实现 1、首先需要调用微信支付的包,加入到pom.xml中。 ?...WXPayExample.java ? MyConfig.java ? 4,这个时候,就已经可以拿到预付款信息了。里面有一个预付款prepay_id就是微信平台中的该条预付款信息的ID。
如果你的网站想接入微信支付,那么你的有个公众号(微信公众平台),然后开通支付功能,在微信商户平台操作。仔细看哦,这是两个平台,商家平台有详细的接入流程,这里只介绍程序方面。...1、准备 准备商家帐户 下载证书,重置密钥(密钥重置后请妥善保管) 内网穿透软件(微信支付成功后会有回调) 2、代码 加入依赖 微信支付比较麻烦,所以我们采用第三方封装的jar包 compile group...http://tdcloud.trmap.cn/reward/getOrderNotifyResult WX.TRADETYPE=NATIVE 配置类 WxPayConfig 将配置文件里的值读取出来,微信支付需要的相关配置...,获取生成二维码的地址 微信支付的单位是分,例如你支付金额是9.9元(保留两位小数),那你微信支付的时候支付金额是9.9元*100 = 990分,最后支付金额是整数。...,商户处理后同步返回给微信参数 if (!
这些值在商户申请成功之后都会通过邮件的形式发送给商户,所以如果还没有拿到这些值的情况下,是不能够进行微信支付的。 上面的那些值全部拿到之后,我们就可以开始微信支付开发了。...微信支付的流程大致分为四步骤: 1.在小程序中获取用户的登录信息,成功后可以获取到用户的code值 2.在用户自己的服务端请求微信获取用户openid接口,成功后可以获取用户的openid值 微信官方...api地址:点击打开链接 3.在用户自己的服务器上面请求微信的统一下单接口,下单成功后可以获取prepay_id值 微信官方api地址:点击打开链接 4.在微信小程序中支付订单,最终实现微信的支付功能...最后也是最关键的一步就是小程序里面的微信支付过程了,官方支付的代码是: wx.requestPayment( { 'timeStamp': '', 'nonceStr': '', 'package':...最后支付还是需要我们真实用手机付钱才可以,支付的最小单位可以是1分钱,测试的时候我们支付一分钱就可以了。 这样微信小程序支付的整个过程就好了,大致的流程就是上面说的这样。
场景 需要使用微信支付中Native模式,完成扫码支付,这里只说代码实现,具体怎么申请微信商户等一些账户,自己解决 NATIVE支付,官方文档 准备 Jar包依赖 1.2.49 方法 调用方法,具类在下方 /** * 微信支付...java.net.InetAddress; import java.net.URL; import java.net.URLConnection; import java.net.UnknownHostException...xmlContent(String body, String out_trade_no, String trade_fee) throws Exception { String appid = "改成你微信商户绑定的...WXPayConstants.UNIFIEDORDER_URL, sendContent, null); //转换请求结果 return xmlToJson(result); } /** * 调用微信支付
今天给大家介绍一下微信小程序是如果实现支付的流程,在开发之前我们首先要获取到商户的appId和mchId最后就是商户的key值了。...这些值在商户申请成功之后都会通过邮件的形式发送给商户,所以如果还没有拿到这些值的情况下,是不能够进行微信支付的。 上面的那些值全部拿到之后,我们就可以开始微信支付开发了。...微信支付的流程大致分为四步骤: 1.在小程序中获取用户的登录信息,成功后可以获取到用户的code值 微信官方api地址:点击打开链接 微信官方api地址:点击打开链接 4.在微信小程序中支付订单,最终实现微信的支付功能...微信官方api地址:点击打开链接 具体的流程图如下所示: 下面我们就开始详细的介绍一下微信支付的整个流程: 首先是获取用户的信息,也就是小程序中的登录接口: [javascript]view plaincopy...最后也是最关键的一步就是小程序里面的微信支付过程了,官方支付的代码是: [javascript]view plaincopy wx.requestPayment( { 'timeStamp':'', '
1,导入微信的libs包libammsdk.jar; 2,测试时使用weixinDemo中的debug_keystore; 3,需要注意应用要通过审核,并且几个Key值正确,一下为微信支付Demo...中的值: //微信公众平台id; privateString app_wx_appid=WxConstants.app_wx_appid; //微信开放平台和商户约定的密钥 privateString...*/ privateString app_tx_parent_key = "1900000109"; ========================================== 根据微信支付...Demo,微信支付分为三步: 第一步,获取accessToken,accessToken值第二步要用; privateclass GetAccessTokenTask extendsAsyncTask...wxRequest.sendReq(req); } 第三步:在项目下新建一个包wxapi,建立一个类名为WXPayEntryActivity作为接受微信的支付结果
微信支付是三大支付方式之一,集成微信支付到自己的项目中总有一些需要注意的地方。...微信开放平台、APP支付接入商户服务中心 ? 微信商户平台、APP支付 ? 微信公众平台 ?...支付相关: 微信支付步骤 具体请求参数和算法的实现参照开发文档:微信支付开发文档 部分key ,秘钥,需要到微信开放平台中查找。 实现过程参照 官方dome即可。
- -微信支付之小程序- - 哈喽 我是你们的KingYiFan,一直说把微信支付给分享出来一直没有机会。终于闲下来了。听着音乐给你们分享一下。不懂可以随时联系我。。...---- -~~ 本文介绍小程序微信支付的java服务端~~。 微信小程序支付文档:https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?...---- 首先给大家看一下微信支付的流程 废话不多说直接上微信官方流程图 哈哈哈哈哈 是不是看的一脸懵逼。 ? --KingYiFan 给大家准备了一个自己画的流程图 ?.../** * @Title: 小程序微信支付 * @Description: 调用微信的支付接口 统一下单 * @author: KingYiFan */...微信支付是按分为单位的 是int类型 1就是1分 10就是一角 //这是一个坑 order.setTotal_fee(1); //APP和网页支付提交用户端ip,Native支付填调用微信支付
wxpay-sdk 0.0.3 方法 微信支付...,支付结果通知:官方地址 主要方法,工具类在下方 /** * 微信支付回调通知 * @param request * @param response *..._微信支付]验签成功!")..._微信支付]通知已处理"); return resultXml; } } //微信收到校验失败的结果后,会以一定时间间隔持续调用该返回结果..._微信支付]处理失败!")
微信支付 微信支付-开发者文档 (qq.com) # 微信支付相关参数 # 商户号 wxpay.mch-id= # 商户API证书序列号 wxpay.mch-serial-no= # 商户私钥文件 (...notify_url同时是否完成支付 WxPayController.java @PostMapping("/native/{productId}") @ApiOperation("调用统一下单Api,...sucess"); }else { log.info("失败"+statusCode+" 返回体"+bodyAsString); // 微信支付出现问题...对更改状态进行加锁,以防止同时到达两条请求 这里验签时用户WechatPay2ValidatorForRequest,是通过更改微信sdk的WechatPay2ValidatorForResponse...// 验签 // 签名: 就微信的私钥对信息加密 // 加密: 用微信的公钥解密 WechatPay2ValidatorForRequest wechatPay2ValidatorForRequest
---- 官方文档 无论刷卡支付、微信公众号支付、扫码支付、H5支付、APP支付等都有申请退款API并且接口一样,本篇文章就拿刷卡支付中的申请退款API文档举例 应用场景 当交易发生之后一段时间内,由于买家或者卖家的原因需要退款时...,卖家可以通过退款接口将支付款退还给买家,微信支付将在收到退款请求并且验证成功之后,按照退款规则将支付款按原路退到买家帐号上。...注意事项 交易时间超过一年的订单无法提交退款 微信支付退款支持单笔交易分多次退款,多次退款需要提交原支付订单的商户订单号和设置不同的退款单号。申请退款总金额不能超过订单金额。...50次 下载证书 参考安全规范-3.商户证书 下载:微信商户平台(pay.weixin.qq.com)-->账户中心-->账户设置-->API安全-->证书下载 IJPay 中的接口 https://github.com...[CDATA[4200000100201801133414066940]]> 微信支付、支付宝支付博客专栏 如有疑问欢迎留言交流讨论
1,导入微信的libs包libammsdk.jar; 2,测试时使用weixinDemo中的debug_keystore; 3,需要注意应用要通过审核,并且几个Key值正确,一下为微信支付Demo中的值...: //微信公众平台id; privateString app_wx_appid=WxConstants.app_wx_appid; //微信开放平台和商户约定的密钥 privateString app_wx_secret_key...商家向财付通申请的商家id */ privateString app_tx_parent_key = "1900000109"; ========================================== 根据微信支付...Demo,微信支付分为三步: 第一步,获取accessToken,accessToken值第二步要用; privateclassGetAccessTokenTask extendsAsyncTask<void...1 第三步:在项目下新建一个包wxapi,建立一个类名为WXPayEntryActivity作为接受微信的支付结果,不过最终结果以服务器的返回为准notify_url: packagenet.sourceforge.simcpux.wxapi
前言:之前接APP支付,微信遇到了一点点坑,为了方便以后copy,把之前写的代码粘贴出来。...treeId=193&articleId=105301&docType=1 微信支付回调参数:https://pay.weixin.qq.com/wiki/doc/api/app/app.php?...chapter=9_7&index=3 1.微信支付 1.0 导入xml支持 \n" + ""; } } 1.4 微信通知回调 /** * 微信回调地址 *...signStr.equals(sign)) { logger.warn("微信支付回调地址请求参数签名验证失败= signStr:{},sign:{}", signStr
领取专属 10元无门槛券
手把手带您无忧上云