资源简介
# wxpay_jsapi
Java实现JsApi方式的微信支付。进行JsApi支付,需要先通过https://api.mch.weixin.qq.com/pay/unifiedorder 获得一个prepay_id
```java
UnifiedOrderReqData reqData = new UnifiedOrderReqData.UnifiedOrderReqDataBuilder("appid", "mch_id",
"body", "out_trade_no", 1,
"spbill_create_ip", "notify_url", "JSAPI")
.setOpenid("openid").build();
Map<String, Object> resultMap = WxPayApi.UnifiedOrder(reqData);
```
return_code 和result_code都为SUCCESS的时候,可以得到我们需要的prepay_id,然后通过微信中内置的jsapi进行支付即可;
支付成功之后,微信会对指定的notify_url进行调用我们从request中获得传回来的xml之后,可以调用
```java
String responseXml = new PayNotifyTemplate(requestXml).execute(new PaySuccessCallBack() {
@Override
public void onSuccess(PayNotifyData payNotifyData) {
//进行业务处理
//如果处理失败,抛出异常
}
});
```
然后把responseXml 写到response中。
代码片段和文件信息
package com.unstoppedable.common;
/**
* User: rizenguo
* Date: 2014/10/29
* Time: 14:40
* 这里放置各种配置数据
*/
public class Configure {
//这个就是自己要保管好的私有Key了(切记只能放在自己的后台代码里,不能放在任何可能被看到源代码的客户端程序中)
// 每次自己Post数据给API的时候都要用这个key来对所有字段进行签名,生成的签名会放在Sign这个字段,API收到Post数据的时候也会用同样的签名算法对Post过来的数据进行签名和验证
// 收到API的返回的时候也要用这个key来对返回的数据算下签名,跟API的Sign数据进行比较,如果值不一致,有可能数据被第三方给篡改
private static String key = ““;
//微信分配的公众号ID(开通公众号之后可以获取到)
private static String appID = ““;
private static String appSecret = ““;
//微信支付分配的商户号ID(开通公众号的微信支付功能之后可以获取到)
private static String mchID = ““;
//受理模式下给子商户分配的子商户号
private static String subMchID = ““;
//HTTPS证书的本地路径
private static String certLocalPath = ““;
//HTTPS证书密码,默认密码等于商户号MCHID
private static String certPassword = ““;
//是否使用异步线程的方式来上报API测速,默认为异步模式
private static boolean useThreadToDoReport = true;
//机器IP
private static String ip = ““;
//以下是几个API的路径:
//0) 统一下单
public static String UNIFIED_ORDER_API = “https://api.mch.weixin.qq.com/pay/unifiedorder“;
//1)被扫支付API
public static String PAY_API = “https://api.mch.weixin.qq.com/pay/micropay“;
//2)被扫支付查询API
public static String PAY_QUERY_API = “https://api.mch.weixin.qq.com/pay/orderquery“;
//3)退款API
public static String REFUND_API = “https://api.mch.weixin.qq.com/secapi/pay/refund“;
//4)退款查询API
public static String REFUND_QUERY_API = “https://api.mch.weixin.qq.com/pay/refundquery“;
//5)撤销API
public static String REVERSE_API = “https://api.mch.weixin.qq.com/secapi/pay/reverse“;
//6)下载对账单API
public static String DOWNLOAD_BILL_API = “https://api.mch.weixin.qq.com/pay/downloadbill“;
//7) 统计上报API
public static String REPORT_API = “https://api.mch.weixin.qq.com/payitil/report“;
public static boolean isUseThreadToDoReport() {
return useThreadToDoReport;
}
public static void setUseThreadToDoReport(boolean useThreadToDoReport) {
Configure.useThreadToDoReport = useThreadToDoReport;
}
public static String HttpsRequestClassName = “com.tencent.common.HttpsRequest“;
public static void setKey(String key) {
Configure.key = key;
}
public static void setAppID(String appID) {
Configure.appID = appID;
}
public static void setAppSecret(String appSecret) {
Configure.appSecret = appSecret;
}
public static void setMchID(String mchID) {
Configure.mchID = mchID;
}
public static void setSubMchID(String subMchID) {
Configure.subMchID = subMchID;
}
public static void setCertLocalPath(String certLocalPath) {
Configure.certLocalPath = certLocalPath;
}
public static void setCertPassword(String certPassword) {
Configure.certPassword = certPassword;
}
public static void setIp(String ip) {
Configure.ip = ip;
}
public static String getKey(){
return key;
}
public static String getAppid(){
return appID;
}
public static String getAppSecret() {
return appSecret;
}
public static String getMchid(){
return mchID;
}
public static String getSubMchid(){
return subMchID;
}
public static String getC
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2015-07-29 13:14 wxpay_jsapi-master\
文件 22 2015-07-29 13:14 wxpay_jsapi-master\.gitignore
文件 1055 2015-07-29 13:14 wxpay_jsapi-master\README.md
文件 1602 2015-07-29 13:14 wxpay_jsapi-master\pom.xm
目录 0 2015-07-29 13:14 wxpay_jsapi-master\src\
目录 0 2015-07-29 13:14 wxpay_jsapi-master\src\main\
目录 0 2015-07-29 13:14 wxpay_jsapi-master\src\main\java\
目录 0 2015-07-29 13:14 wxpay_jsapi-master\src\main\java\com\
目录 0 2015-07-29 13:14 wxpay_jsapi-master\src\main\java\com\unstoppedable\
目录 0 2015-07-29 13:14 wxpay_jsapi-master\src\main\java\com\unstoppedable\common\
文件 3952 2015-07-29 13:14 wxpay_jsapi-master\src\main\java\com\unstoppedable\common\Configure.java
文件 5431 2015-07-29 13:14 wxpay_jsapi-master\src\main\java\com\unstoppedable\common\HttpService.java
文件 2654 2015-07-29 13:14 wxpay_jsapi-master\src\main\java\com\unstoppedable\common\JsonUtil.java
文件 1540 2015-07-29 13:14 wxpay_jsapi-master\src\main\java\com\unstoppedable\common\MD5.java
文件 704 2015-07-29 13:14 wxpay_jsapi-master\src\main\java\com\unstoppedable\common\RandomStringGenerator.java
文件 5142 2015-07-29 13:14 wxpay_jsapi-master\src\main\java\com\unstoppedable\common\Signature.java
文件 2806 2015-07-29 13:14 wxpay_jsapi-master\src\main\java\com\unstoppedable\common\xm
目录 0 2015-07-29 13:14 wxpay_jsapi-master\src\main\java\com\unstoppedable\notify\
文件 6841 2015-07-29 13:14 wxpay_jsapi-master\src\main\java\com\unstoppedable\notify\PayNotifyData.java
文件 1700 2015-07-29 13:14 wxpay_jsapi-master\src\main\java\com\unstoppedable\notify\PayNotifyTemplate.java
文件 334 2015-07-29 13:14 wxpay_jsapi-master\src\main\java\com\unstoppedable\notify\PaySuccessCallBack.java
文件 596 2015-07-29 13:14 wxpay_jsapi-master\src\main\java\com\unstoppedable\notify\ResponseData.java
目录 0 2015-07-29 13:14 wxpay_jsapi-master\src\main\java\com\unstoppedable\protocol\
文件 8899 2015-07-29 13:14 wxpay_jsapi-master\src\main\java\com\unstoppedable\protocol\UnifiedOrderReqData.java
目录 0 2015-07-29 13:14 wxpay_jsapi-master\src\main\java\com\unstoppedable\service\
文件 1973 2015-07-29 13:14 wxpay_jsapi-master\src\main\java\com\unstoppedable\service\WxPayApi.java
目录 0 2015-07-29 13:14 wxpay_jsapi-master\src\test\
目录 0 2015-07-29 13:14 wxpay_jsapi-master\src\test\com\
目录 0 2015-07-29 13:14 wxpay_jsapi-master\src\test\com\unstoppedable\
目录 0 2015-07-29 13:14 wxpay_jsapi-master\src\test\com\unstoppedable\notify\
文件 2045 2015-07-29 13:14 wxpay_jsapi-master\src\test\com\unstoppedable\notify\PayNotifyTemplateTest.java
............此处省略0个文件信息
相关资源
- 锐聘学院QST青软JavaWeb十二个打包
- javaweb网上购物系统源码(附数据库脚
- javaweb校园宿舍系统(附数据库脚本)
- JavaWeb书城项目(附数据库脚本)
- 基于JAVA_JSP电子书系统(源码+数据库
- Java网络编程知识点总结.xmind
- 一站式Java网络编程 BIO-NIO-AIO资料源码
- jsp讲解
- 基于SSH框架的JavaWeb项目—人员信息管
- javaweb实现的邮件收发系统(附数据库
- Java 仿QQ(附客户端以及服务端源码)
- Java TCP IP Socket
- java定时发送邮件(基于quartz)
- Java Swing开发的《星际争霸》游戏
- java+数据库商品交易管理系统(附数据
- 使用java语言编译一个计算器
- java swing工资管理系统(源码+数据库
- JAVALibrary
- 微信企业号回调模式Java版
- hpsocket demo
- 顺丰丰桥接口开发详细教程源码含下
- Java博客概要设计文档
- 药品进销存管理系统(论文范文_JSP
- 奖学金管理系统java+jsp+mysql
- 毕设参考——基于java酒店管理
- Java写的一个简单的字体更改程序
- java8学习教程之lambda表达式的使用方法
- Java8学习教程之lambda表达式语法介绍
- 尚硅谷Java视频Java8新特性视频教程
- 扫描二维码 JAVA实现20190403
评论
共有 条评论