java做微信支付notify_url异步通知服务端的写法
最近团队在接入微信支付,APP和JSAPI的接口都需要填写一个notify_url回调地址,但是坑爹的官方文档并没有找到JSAPI模式的java版的demo,所以不得不自己看文档写了一个接受微信异步通知的页面,并做相应的业务处理。直接上代码:
-
<%@page import="com.shop.thread.WXPayFinishThread"%>
-
<%@page import="com.shop.util.XmlUtil"%>
-
<%@page import="net.sf.json.JSONObject"%>
-
<%@page import="java.io.*"%>
-
<%
-
/* *
-
-
功能:微信支付服务器异步通知页面
-
作者:李小拐
-
日期:2016年6月22日20:20:44
-
说明:
-
以下代码只是自己的样例代码,非官方,你可以根据自己网站的需要,按照技术文档编写,并非一定要使用该代码。
-
该代码仅供学习和研究微信接口使用,只是提供一个参考。
-
* */
-
%>
-
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
-
<%@ page import="java.util.*"%>
-
<%
-
-
//http://101.201.38.47/egx/wxpay_notify_url.jsp
-
System.out.println("----进入到了该页面---");
-
BufferedReader reader = request.getReader();
-
String line = "";
-
StringBuffer inputString = new StringBuffer();
-
try{
-
while ((line = reader.readLine()) != null) {
-
inputString.append(line);
-
}
-
request.getReader().close();
-
System.out.println("----接收到的报文---"+inputString.toString());
-
JSONObject json=XmlUtil.XmlToJson(inputString.toString());
-
//String appid=json.get("appid")+"";
-
//String mch_id=json.get("mch_id")+"";
-
if(json.getString("return_code").equals("SUCCESS")){
-
if(json.getString("result_code").equals("SUCCESS")){
-
String transaction_id=json.get("transaction_id")+"";//微信支付订单号
-
String out_trade_no=json.get("out_trade_no")+"";//商户订单号
-
String openid=json.get("openid")+"";
-
String trade_type=json.get("trade_type")+"";
-
//接下来是做自己的业务处理
-
//开一个线程,更新订单状态
-
WXPayFinishThread wxp=new WXPayFinishThread(openid,transaction_id,out_trade_no,trade_type);
-
wxp.start();
-
-
}
-
}
-
//告诉微信服务器,我收到信息了,不要在调用回调action了
-
response.getWriter().write("<xml><return_code><![CDATA[SUCCESS]]></return_code></xml>");
-
System.out.println("----结束---"+inputString.toString());
-
}catch(Exception e){
-
e.printStackTrace();
-
}
-
-
%>
以上代码只处理了SUCCESS的情况,FAIL的情况请自行处理。。。
java做微信支付notify_url异步通知服务端的写法的更多相关文章
- Java 后端微信支付demo
Java 后端微信支付demo 一.导入微信SDK 二.在微信商户平台下载证书放在项目的resources目录下的cert文件夹下(cert文件夹需要自己建) 三.实现微信的WXPayConfig接口 ...
- java实现微信支付
java实现微信支付 package com.hk.wx.pay.service.impl; @Service public class PayServiceImpl implements PaySe ...
- Java实现UDP之Echo客户端和服务端
Java实现UDP之Echo客户端和服务端 代码内容 采用UDP协议编写服务器端代码(端口任意) 编写客户机的代码访问该端口 客户机按行输入 服务器将收到的字符流和接收到的时间输出在服务器consol ...
- Java实现TCP之Echo客户端和服务端
Java实现TCP之Echo客户端和服务端 代码内容 采用TCP协议编写服务器端代码(端口任意) 编写客户机的代码访问该端口 客户机按行输入 服务器将收到的字符流和接收到的时间输出在服务器consol ...
- MSDN上的异步socket 服务端例子
MSDN上的异步socket 服务端例子 2006-11-22 17:12:01| 分类: 代码学习 | 标签: |字号大中小 订阅 Imports SystemImports Syste ...
- 支付(异步通知notify_url 与 同步通知return_url的区别)
同步通知和异步通知发送的数据没有本质的区别:同步通知有2个作用:第一是从支付宝的页面上返回自己的网站继续后续操作:第二是携带支付状态的get参数:让自己的网站用于验证: 同步通知后:还需要异步通知主要 ...
- 微信支付没有结果通知,notify_url参数的接口没有收到微信支付结果通知
在微信支付统一下单的时候需要填一个notify_url参数用于处理微信支付结果通知 但是,有时候我们发现我们设置的这个接口收不到微信请求.原因有一下几个,大家一一对照,也欢迎补充. 1. url是否可 ...
- java之微信支付通知
微信支付,是现在大多数平台都需要接入的一个支付方式,没办法,谁让现在的用户都习惯了这种消费方式呢 我今天只说说微信支付通知,我们后台怎么接收通知,并把我们的订单的状态改为已支付, 至于为什么不说支付的 ...
- JAVA开发微信支付-公众号支付/微信浏览器支付(JSAPI)
写这篇文章的目的有2个,一是自己的项目刚开发完微信支付功能,趁热回个炉温习一下,二也是帮助像我这样对微信支付不熟悉,反复看了多天文档还是一知半解,原理都没摸清,更不要说实现了.本以为网上的微信开发教程 ...
随机推荐
- (转)Oracle EXP-00091解决方法
转自:http://blog.csdn.net/dracotianlong/article/details/8270136 EXP-: 正在导出有问题的统计信息. . . 正在导出表 WF_GENER ...
- 【Codeforces Round #442 (Div. 2) A】Alex and broken contest
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 注意是所有的名字里面,只出现了其中某一个名字一次. [代码] #include <bits/stdc++.h> usin ...
- NSDate时间
NSDate 使用 ios时间的秒数 取当前时间的秒数 NSTimeInterval time = [[NSDate date] timeIntervalSince1970]; long long i ...
- C++卷积神经网络实例:tiny_cnn代码具体解释(8)——partial_connected_layer层结构类分析(上)
在之前的博文中我们已经将顶层的网络结构都介绍完毕,包括卷积层.下採样层.全连接层,在这篇博文中主要有两个任务.一是总体贯通一下卷积神经网络在对图像进行卷积处理的整个流程,二是继续我们的类分析.这次须要 ...
- 通达OA 小飞鱼在线开发培训第一讲介绍(图文)
培训课件的主要内容.须要參加培训的同学要注意了.课程内容以有用为主.课件仅供參考.
- RDA安装
解压到/home/oracle下面 $ cp /home/oracle/rda $ perl rda.pl -cv 运行上面的命令,如果最后一行出现下面所示,说明没问题 No ...
- WEB应用图片的格式,以及各自的特点和优化(一) by FungLeo
WEB应用图片的格式,以及各自的特点和优化(一) by FungLeo 前言 12年前我入行三天.用table布局做了一个非常粗糙的网页.我说了一句话,"网页就是表格加文字加图片,图片分两种 ...
- html css div img垂直居中
<head> <meta charset="UTF-8"> <meta name="Generator" content=&quo ...
- 号外:小雷将开发一款Java版的简易CMS系统
我的个人官网: http://FansUnion.cn 已经改版,隆重上线了,欢迎关注~持续升级中... 出于个人兴趣.技术总结.工作相关,我终于想要做一个简单的CMS系统了. 原来想研究,D ...
- 【45.65%】【codeforces 560B】Gerald is into Art
time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...