微信APP支付服务端开发Java版(一)
一、准备工作
去微信开发者中心下载(扫码支付,里面的大部分代码是可以用的)
https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=11_1
选择UTF-8的版本copy到你的项目里面
找到Configure.java的类修改成public static String PAY_API = "https://api.mch.weixin.qq.com/pay/unifiedorder";
下面正式进入代码部分
//初始化配置信息
WXPay.initSDKConfiguration(
"MsfsfsafsfsfdsafsfC",//商品平台上的密码
"wxb21618828c323242",//appid
"1234235",//商户ID
"",
"d:/apiclient_cert.p12",//证书,在商户平台上下载
//"/Users/Desktop/windowsserver/apiclient_cert.p12",
"3122421501"); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
Date date1 = new Date();
long datetime = date1.getTime()+3600*1000;
String generateTime = dateFormat.format(date1);//yyyyMMddHHmmss 订单生成时间
String failureTime = dateFormat.format(new Date(datetime));//yyyyMMddHHmmss 失效时间
ScanPayReqData reqData = new ScanPayReqData(shopOrder.getHdbt(), "旅游商品",
shopOrder.getOrdercode(), priec,
"", "192.168.0.1",
generateTime,
failureTime,
"",
"http://dsds/notify/WxPayNotify.action",//收到通知地址
"APP");
String resdata= WXPay.requestScanPayService(reqData);
//签名验证
Map<String,Object> map = XMLParser.getMapFromXML(resdata);
if(Signature.checkIsSignValidFromResponseString(resdata)){ if("SUCCESS".equals(map.get("return_code"))&&"SUCCESS".equals(map.get("result_code"))){
jsonmap.put("appid", Configure.getAppid());
jsonmap.put("prepayid", map.get("prepay_id").toString());
jsonmap.put("package", "Sign=WXPay");
jsonmap.put("partnerid", Configure.getMchid());
jsonmap.put("noncestr", RandomStringGenerator.getRandomStringByLength(32));
jsonmap.put("timestamp", new Date().getTime()/1000+"");
jsonmap.put("sign", Signature.getSign(jsonmap));
//将jsonmap返回给APP他们用这些参数就可以完成调起微信支付进行支付了 } }else{
System.out.println("签名验证失败");
jsonmapT.put("result", "-1");
jsonmapT.put("message", "签名验证失败");
}
如有不明白的地方请留言。一些请求参数和返回的参数,参考官网文档
微信APP支付服务端开发Java版(一)的更多相关文章
- 支付宝app支付服务端流程
支付宝APP支付服务端详解 前面接了微信支付,相比微信支付,支付宝APP支付提供了支付封装类,下面将实现支付宝APP支付.订单查询.支付结果异步通知.APP支付申请参数说明,以及服务端返回APP端发起 ...
- .net 微信APP支付接口的开发流程以及坑
流程 申请APP的微信支付 申请成功之后得到APPID 商户号 以及自己设置商户号的支付密码 这时就可以开发接口了 微信APP支付API:https://pay.weixin.qq.com/wiki/ ...
- 微信app支付(android端+java后台)
本文讲解使用微信支付接口完成在android开发的原生态app中完成微信支付功能, 文章具体讲解了前端android如何集成微信支付功能以及后台如何组装前端需要支付信息, 话不多话, 具体看文章内容吧 ...
- 支付宝APP支付后台参数生成Java版(一)
一.支付参数组装: String[] parameters={ "service=\"mobile.securitypay.pay\"",//固定值 " ...
- 支付宝H5、APP支付服务端的区别(php)
php支付宝H5和APP支付1.准备工作需要前往 蚂蚁金服开放平台申请https://openhome.alipay.com/developmentDocument.htm 2.大致流程1.用户添加商 ...
- 微信支付-微信公众号支付,微信H5支付,微信APP支付,微信扫码支付
在支付前,如果使用第三方MVC框架,则使用重写模式,服务器也需要配置该项 if (!-e $request_filename){ rewrite ^/(.*)$ /index.php/$ last; ...
- 微信app支付android客户端以及.net服务端实现
由于公司运营需要,需要在客户端(android/ios)增加微信以及支付宝支付,在调用微信app支付时遇到一些问题,也算是一些踩过的坑,记录下来 ,希望能对.net开发者服务端网站更快的集成微信app ...
- Android版-微信APP支付
首发地址: Android版-微信APP支付 欢迎留言.转发 微信极速开发系列文章(微信支付.授权获取用户信息等):点击这里 目录 1.注册账号.开发者认证 2.添加应用 3.申请微信支付 4.技术开 ...
- 支付宝APP支付IOS手机端java后台版
版权声明:http://blog.csdn.net/u012131769/article/details/76639527#t8 转载:http://blog.csdn.net/u012131769/ ...
随机推荐
- SQL数据库中字段类型 与C#中的对应字段类型
数据库中的字段类型和对应的C#中的对应字段类型 数据库 C#程序int int32text stringbigint int64binary System.Byte[] ...
- Mac系统下配置Maven环境变量
1.在官网下载Maven安装包,网址:https://maven.apache.org/download.cgi: 2.进入终端Terminal,验证JDK是否配置成功,输入java -version ...
- winform异步系统升级—BackgroundWorker
BackgroundWorker用法实例 自己的代码,就是要执行的代码写到dowork里,ProgressChanged事件是控制进度时用的,最后的Completed事件进度完成,也就是dowork里 ...
- c#winform程序退出的方法
一共有4种方式: 1.this.Close(); 只是关闭当前窗口,若不是主窗体,无法退出程序,另外若有托管线程(非主线程),也无法干净的退出: 2.Application.Exit();强制所有消 ...
- SpringMVC之controller篇
概述 继 spring 2.0 对 Spring MVC 进行重大升级后,Spring 2.5 又为 Spring MVC 引入了注解驱动功能.现在你无须让 Controller 继承任何接口,无需在 ...
- JavaEE 启示录
1. 对象在实例化之前(也就是没有new出来),就调用它的方法,那么可能会遇到null错误. 2. Eclipse默认会把Web项目发布到workspace\.metadata\.plugins\or ...
- Spring mvc Controller接口
Spring MVC 1. 继承该接口 Controller接口,重写对应方法,或者采用注解Controller,自定义映射文件 @Controller @RequestMapping("/ ...
- first Automation
//创建一个容器 CEmbWordCntrItem * pItem = NULL; CEmbWordDoc * pDoc = GetDocument(); pItem = new C ...
- RHEL 6.0服务器安装Oracle 11G R2 最终版
RHEL6安装Oracle 11g R2最终版 结合网上教程 服务器实战所得 1.使用DVD做yum源新建dvd挂载目录[root@fxq-dp ~]# mkdir /media/iso进入到DVD挂 ...
- HashTree(哈希树) ——和trie类似,只是将字符换成了质数,sphinx用到了???
摘自:http://blog.csdn.net/yang_yulei/article/details/46337405 哈希树的理论基础 [质数分辨定理] 简单地说就是:n个不同的质数可以" ...