一、准备工作

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

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. TFS二次开发系列:六、TFS的版本控制

    在TFS中对于版本控制是在WorkSpace工作区来控制的. 首先我们先整理WorkSpace的一些基本使用方法. CheckIn:迁入挂起的操作 CreateMapping:创建一个本地映射地址 D ...

  2. 巧用CSS3伪类选择器自定义checkbox和radio的样式

    由于原生的checkbox和radio的样式太简陋了,在设计页面的时候,设计师往往会设计自己的checkbox和radio样式.一半情况下,为了适应各个浏览器的兼容性,我们都会用其他的元素替代原生的c ...

  3. get传中文参数乱码解决方法

    通常我们前端不同页面之间传参数用得最多的方法就是get方法:在url后面加上参数.例如:www.test.com?id=1&name=hello. 英文和字母很好处理,但是如果有的参数值为中文 ...

  4. iOS10 拍照崩溃问题

    根据相对应得功能添加相关权限即可,没必要全部添加,后面的描述可以官方点,因为会以弹出框的形式访问的,比如相机权限后面的描述可以为:这个应用需要访问相机:后续如果发现其他iOS10上面的问题会及时更新的

  5. nslookup

    检查DNS http://arch.pconline.com.cn//pcedu/soft/wl/assist/10307/193330.html

  6. c++11 function bind 测试。

    实验小结 1)function 是一个模板类.有函数指针成员.可以看作安全型函数指针. template<typename _Res, typename... _ArgTypes> cla ...

  7. typedef与#define的区别

    1.  typedef typedef故名思意就是类型定义的意思,但是它并不是定义一个新的类型而是给已有的类型起一个别名,在这一点上与引用的含义类似,引用是变量或对象的别名,而typedef定义的是类 ...

  8. Hadoop中wordcount程序

    一.测试过程中 输入命令: 首先需要在hadoop集群中添加文件 可以首先进行查看hadoop集群中文件目录 hadoop fs -ls / hadoop fs -ls -R / hadoop fs ...

  9. Tomcat APR & Linux Optimization

    一.简介 APR(Apache portable Run-time libraries)模式:简单理解,就是从操作系统级别解决异步IO问题,大幅度的提高服务器的处理和响应性能, 也是Tomcat运行高 ...

  10. eclipse中将项目发布到tomcat的root目录

    在eclipse中,将项目直接部署在tomcat的root目录中,这样便可以直接ip:port访问项目: 项目右键->属性->web project settings