一、准备工作

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

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. 连锁机构3D指纹考勤系统解决方案

    信息技术的高速发展加速了商业零售业连锁经营的信息化和全球化的进程,同时也推动了商业管理的变革.尽管人们对它的认识是被动与滞后的,但这种变革依然伴随着商业业态的转变和信息技术的发展或快或慢地在悄然进行着 ...

  2. avalon学习笔记

    背景: 刚刚到一家新的公司,我新接手的项目采用的mvvm框架是avalon,当然我以前没有学过angular,但是用过react,所以对于这类框架应该不算陌生.但毕竟是一个新的框架,所以还是先学起来, ...

  3. MySQL索引原理及慢查询优化 转载

    原文地址: http://tech.meituan.com/mysql-index.html MySQL凭借着出色的性能.低廉的成本.丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库.虽然性能 ...

  4. [转] - 在mac的终端中使用sublime打开文件

    在mac的终端中使用sublime打开文件 使用sublime提供的命令行工具.这个命令行工具位于 /Applications/Sublime\ Text\ 2.app/Contents/Shared ...

  5. golang 管道

    2.管道简介Golang的原子并发特性使得它很容易构造流数据管道,这使得Golang可有效的使用I/O和多CPU特性.本文提出一些关于管道的示例,在这个过程中突出了操作失败的微妙之处和介绍处理失败的具 ...

  6. NotePad++常用快捷键。——Arvin

    Ctrl+单键 Ctrl+C 复制 Ctrl+X 剪切 Ctrl+V 粘贴 Ctrl+Z 撤消 Ctrl+Y 恢复 Ctrl+A 全选 Ctrl+F 键查找对话框启动 Ctrl+H 查找/替换对话框 ...

  7. JSON API免费接口

    来自:http://www.bejson.com/knownjson/webInterface/ 电商接口 京东获取单个商品价格接口: http://p.3.cn/prices/mgets?skuId ...

  8. SPSS数据分析—加权最小二乘法

    标准的线性回归模型的假设之一是因变量方差齐性,即因变量或残差的方差不随自身预测值或其他自变量的值变化而变化.但是有时候,这种情况会被违反,称为异方差性,比如因变量为储蓄额,自变量为家庭收入,显然高收入 ...

  9. log4net RemotingAppender 的配置

    Before you even start trying any of the alternatives provided, ask yourself whether you really need ...

  10. 转网页WB.ExecWB控件打印方法

    网页WB.ExecWB控件打印方法 2010-02-01 12:48 代码: <table width="100%" cellpadding="1" on ...