一、准备工作

去微信开发者中心下载(扫码支付,里面的大部分代码是可以用的)

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版(一)的更多相关文章

  1. 支付宝app支付服务端流程

    支付宝APP支付服务端详解 前面接了微信支付,相比微信支付,支付宝APP支付提供了支付封装类,下面将实现支付宝APP支付.订单查询.支付结果异步通知.APP支付申请参数说明,以及服务端返回APP端发起 ...

  2. .net 微信APP支付接口的开发流程以及坑

    流程 申请APP的微信支付 申请成功之后得到APPID 商户号 以及自己设置商户号的支付密码 这时就可以开发接口了 微信APP支付API:https://pay.weixin.qq.com/wiki/ ...

  3. 微信app支付(android端+java后台)

    本文讲解使用微信支付接口完成在android开发的原生态app中完成微信支付功能, 文章具体讲解了前端android如何集成微信支付功能以及后台如何组装前端需要支付信息, 话不多话, 具体看文章内容吧 ...

  4. 支付宝APP支付后台参数生成Java版(一)

    一.支付参数组装: String[] parameters={ "service=\"mobile.securitypay.pay\"",//固定值 " ...

  5. 支付宝H5、APP支付服务端的区别(php)

    php支付宝H5和APP支付1.准备工作需要前往 蚂蚁金服开放平台申请https://openhome.alipay.com/developmentDocument.htm 2.大致流程1.用户添加商 ...

  6. 微信支付-微信公众号支付,微信H5支付,微信APP支付,微信扫码支付

    在支付前,如果使用第三方MVC框架,则使用重写模式,服务器也需要配置该项 if (!-e $request_filename){ rewrite ^/(.*)$ /index.php/$ last; ...

  7. 微信app支付android客户端以及.net服务端实现

    由于公司运营需要,需要在客户端(android/ios)增加微信以及支付宝支付,在调用微信app支付时遇到一些问题,也算是一些踩过的坑,记录下来 ,希望能对.net开发者服务端网站更快的集成微信app ...

  8. Android版-微信APP支付

    首发地址: Android版-微信APP支付 欢迎留言.转发 微信极速开发系列文章(微信支付.授权获取用户信息等):点击这里 目录 1.注册账号.开发者认证 2.添加应用 3.申请微信支付 4.技术开 ...

  9. 支付宝APP支付IOS手机端java后台版

    版权声明:http://blog.csdn.net/u012131769/article/details/76639527#t8 转载:http://blog.csdn.net/u012131769/ ...

随机推荐

  1. SQL数据库中字段类型 与C#中的对应字段类型

    数据库中的字段类型和对应的C#中的对应字段类型 数据库                 C#程序int int32text stringbigint int64binary System.Byte[] ...

  2. Mac系统下配置Maven环境变量

    1.在官网下载Maven安装包,网址:https://maven.apache.org/download.cgi: 2.进入终端Terminal,验证JDK是否配置成功,输入java -version ...

  3. winform异步系统升级—BackgroundWorker

    BackgroundWorker用法实例 自己的代码,就是要执行的代码写到dowork里,ProgressChanged事件是控制进度时用的,最后的Completed事件进度完成,也就是dowork里 ...

  4. c#winform程序退出的方法

    一共有4种方式: 1.this.Close();  只是关闭当前窗口,若不是主窗体,无法退出程序,另外若有托管线程(非主线程),也无法干净的退出: 2.Application.Exit();强制所有消 ...

  5. SpringMVC之controller篇

    概述 继 spring 2.0 对 Spring MVC 进行重大升级后,Spring 2.5 又为 Spring MVC 引入了注解驱动功能.现在你无须让 Controller 继承任何接口,无需在 ...

  6. JavaEE 启示录

    1. 对象在实例化之前(也就是没有new出来),就调用它的方法,那么可能会遇到null错误. 2. Eclipse默认会把Web项目发布到workspace\.metadata\.plugins\or ...

  7. Spring mvc Controller接口

    Spring MVC 1. 继承该接口 Controller接口,重写对应方法,或者采用注解Controller,自定义映射文件 @Controller @RequestMapping("/ ...

  8. first Automation

    //创建一个容器    CEmbWordCntrItem * pItem = NULL;    CEmbWordDoc * pDoc = GetDocument();    pItem = new C ...

  9. RHEL 6.0服务器安装Oracle 11G R2 最终版

    RHEL6安装Oracle 11g R2最终版 结合网上教程 服务器实战所得 1.使用DVD做yum源新建dvd挂载目录[root@fxq-dp ~]# mkdir /media/iso进入到DVD挂 ...

  10. HashTree(哈希树) ——和trie类似,只是将字符换成了质数,sphinx用到了???

    摘自:http://blog.csdn.net/yang_yulei/article/details/46337405 哈希树的理论基础 [质数分辨定理] 简单地说就是:n个不同的质数可以" ...