资源简介

# 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.xml
     目录           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\xmlParser.java
     目录           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个文件信息

评论

共有 条评论