mirror of
https://gitee.com/egzosn/pay-java-parent.git
synced 2026-05-07 19:46:15 +08:00
增加支付教程
This commit is contained in:
@@ -55,7 +55,13 @@
|
||||
|
||||
测试链接 : http://pay.egzosn.com/index.html
|
||||
|
||||
服务端+网页端详细使用与简单教程请看 [pay-java-demo](pay-java-demo?dir=1&filepath=pay-java-demo)
|
||||
#######单一支付教程
|
||||
[支付宝](pay-java-ali?dir=1&filepath=pay-java-ali)
|
||||
[微信](pay-java-wx?dir=1&filepath=pay-java-wx)
|
||||
[友店微信](pay-java-wx-youdian?dir=1&filepath=pay-java-youdian)
|
||||
[富友](pay-java-fuiou?dir=1&filepath=pay-java-fuiou)
|
||||
|
||||
支付整合》服务端+网页端详细使用与简单教程请看 [pay-java-demo](pay-java-demo?dir=1&filepath=pay-java-demo)
|
||||
|
||||
android 例子 [pay-java-android](http://git.oschina.net/egzosn/pay-java-android)
|
||||
|
||||
|
||||
118
pay-java-ali/README.md
Normal file
118
pay-java-ali/README.md
Normal file
@@ -0,0 +1,118 @@
|
||||
|
||||
|
||||
##支付宝支付简单例子
|
||||
|
||||
####支付配置
|
||||
|
||||
```java
|
||||
|
||||
|
||||
AliPayConfigStorage aliPayConfigStorage = new AliPayConfigStorage();
|
||||
aliPayConfigStorage.setPid("合作者id");
|
||||
aliPayConfigStorage.setAppId("应用id");
|
||||
aliPayConfigStorage.setAliPublicKey("支付宝公钥");
|
||||
aliPayConfigStorage.setKeyPrivate("应用私钥");
|
||||
aliPayConfigStorage.setNotifyUrl("异步回调地址");
|
||||
aliPayConfigStorage.setReturnUrl("同步回调地址");
|
||||
aliPayConfigStorage.setSignType("签名方式");
|
||||
aliPayConfigStorage.setSeller("收款账号");
|
||||
aliPayConfigStorage.setInputCharset("utf-8");
|
||||
//是否为测试账号,沙箱环境
|
||||
aliPayConfigStorage.setTest(true);
|
||||
|
||||
```
|
||||
|
||||
|
||||
####创建支付服务
|
||||
|
||||
|
||||
```java
|
||||
//支付服务
|
||||
PayService service = new AliPayService(aliPayConfigStorage);
|
||||
|
||||
```
|
||||
|
||||
####创建支付订单信息
|
||||
|
||||
```java
|
||||
|
||||
//支付订单基础信息
|
||||
PayOrder payOrder = new PayOrder("订单title", "摘要", new BigDecimal(0.01) , UUID.randomUUID().toString().replace("-", ""));
|
||||
|
||||
```
|
||||
|
||||
####扫码付
|
||||
|
||||
```java
|
||||
|
||||
|
||||
/*-----------扫码付-------------------*/
|
||||
payOrder.setTransactionType(AliTransactionType.SWEEPPAY);
|
||||
//获取扫码付的二维码
|
||||
BufferedImage image = service.genQrPay(payOrder);
|
||||
/*-----------/扫码付-------------------*/
|
||||
|
||||
```
|
||||
|
||||
####APP支付
|
||||
|
||||
```java
|
||||
|
||||
/*-----------APP-------------------*/
|
||||
payOrder.setTransactionType(AliTransactionType.APP);
|
||||
//获取APP支付所需的信息组,直接给app端就可使用
|
||||
Map appOrderInfo = service.orderInfo(payOrder);
|
||||
/*-----------/APP-------------------*/
|
||||
|
||||
```
|
||||
|
||||
####即时到帐 WAP 网页支付
|
||||
|
||||
```java
|
||||
|
||||
/*-----------即时到帐 WAP 网页支付-------------------*/
|
||||
// payOrder.setTransactionType(AliTransactionType.WAP); //WAP支付
|
||||
|
||||
payOrder.setTransactionType(AliTransactionType.DIRECT); // 即时到帐 PC网页支付
|
||||
//获取支付所需的信息
|
||||
Map directOrderInfo = service.orderInfo(payOrder);
|
||||
//获取表单提交对应的字符串,将其序列化到页面即可,
|
||||
String directHtml = service.buildRequest(directOrderInfo, MethodType.POST);
|
||||
/*-----------/即时到帐 WAP 网页支付-------------------*/
|
||||
|
||||
```
|
||||
|
||||
####条码付 声波付
|
||||
|
||||
```java
|
||||
|
||||
/*-----------条码付 声波付-------------------*/
|
||||
|
||||
// payOrder.setTransactionType(AliTransactionType.WAVE_CODE); //声波付
|
||||
payOrder.setTransactionType(AliTransactionType.BAR_CODE);//条码付
|
||||
|
||||
payOrder.setAuthCode("条码信息或者声波信息");
|
||||
// 支付结果
|
||||
Map params = service.microPay(payOrder);
|
||||
/*-----------/条码付 声波付-------------------*/
|
||||
|
||||
```
|
||||
|
||||
####回调处理
|
||||
|
||||
```java
|
||||
|
||||
/*-----------回调处理-------------------*/
|
||||
//HttpServletRequest request;
|
||||
Map<String, Object> params = service.getParameter2Map(request.getParameterMap(), request.getInputStream());
|
||||
if (service.verify(params)){
|
||||
System.out.println("支付成功");
|
||||
return;
|
||||
}
|
||||
System.out.println("支付失败");
|
||||
|
||||
|
||||
/*-----------回调处理-------------------*/
|
||||
|
||||
```
|
||||
|
||||
88
pay-java-ali/src/test/java/PayTest.java
Normal file
88
pay-java-ali/src/test/java/PayTest.java
Normal file
@@ -0,0 +1,88 @@
|
||||
import com.egzosn.pay.ali.api.AliPayConfigStorage;
|
||||
import com.egzosn.pay.ali.api.AliPayService;
|
||||
import com.egzosn.pay.ali.bean.AliTransactionType;
|
||||
import com.egzosn.pay.common.api.PayService;
|
||||
import com.egzosn.pay.common.bean.MethodType;
|
||||
import com.egzosn.pay.common.bean.PayOrder;
|
||||
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* 支付宝测试
|
||||
* @author egan
|
||||
* @email egzosn@gmail.com
|
||||
* @date 2017/8/18
|
||||
*/
|
||||
public class PayTest {
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
AliPayConfigStorage aliPayConfigStorage = new AliPayConfigStorage();
|
||||
aliPayConfigStorage.setPid("合作者id");
|
||||
aliPayConfigStorage.setAppId("应用id");
|
||||
aliPayConfigStorage.setAliPublicKey("支付宝公钥");
|
||||
aliPayConfigStorage.setKeyPrivate("应用私钥");
|
||||
aliPayConfigStorage.setNotifyUrl("异步回调地址");
|
||||
aliPayConfigStorage.setReturnUrl("同步回调地址");
|
||||
aliPayConfigStorage.setSignType("签名方式");
|
||||
aliPayConfigStorage.setSeller("收款账号");
|
||||
aliPayConfigStorage.setInputCharset("utf-8");
|
||||
//是否为测试账号,沙箱环境
|
||||
aliPayConfigStorage.setTest(true);
|
||||
//支付服务
|
||||
PayService service = new AliPayService(aliPayConfigStorage);
|
||||
//支付订单基础信息
|
||||
PayOrder payOrder = new PayOrder("订单title", "摘要", new BigDecimal(0.01) , UUID.randomUUID().toString().replace("-", ""));
|
||||
/*-----------扫码付-------------------*/
|
||||
payOrder.setTransactionType(AliTransactionType.SWEEPPAY);
|
||||
//获取扫码付的二维码
|
||||
BufferedImage image = service.genQrPay(payOrder);
|
||||
/*-----------/扫码付-------------------*/
|
||||
|
||||
/*-----------APP-------------------*/
|
||||
payOrder.setTransactionType(AliTransactionType.APP);
|
||||
//获取APP支付所需的信息组,直接给app端就可使用
|
||||
Map appOrderInfo = service.orderInfo(payOrder);
|
||||
/*-----------/APP-------------------*/
|
||||
|
||||
/*-----------即时到帐 WAP 网页支付-------------------*/
|
||||
// payOrder.setTransactionType(AliTransactionType.WAP); //WAP支付
|
||||
|
||||
payOrder.setTransactionType(AliTransactionType.DIRECT); // 即时到帐 PC网页支付
|
||||
//获取支付所需的信息
|
||||
Map directOrderInfo = service.orderInfo(payOrder);
|
||||
//获取表单提交对应的字符串,将其序列化到页面即可,
|
||||
String directHtml = service.buildRequest(directOrderInfo, MethodType.POST);
|
||||
/*-----------/即时到帐 WAP 网页支付-------------------*/
|
||||
|
||||
|
||||
|
||||
/*-----------条码付 声波付-------------------*/
|
||||
|
||||
// payOrder.setTransactionType(AliTransactionType.WAVE_CODE); //声波付
|
||||
payOrder.setTransactionType(AliTransactionType.BAR_CODE);//条码付
|
||||
|
||||
payOrder.setAuthCode("条码信息或者声波信息");
|
||||
// 支付结果
|
||||
Map params = service.microPay(payOrder);
|
||||
|
||||
/*-----------/条码付 声波付-------------------*/
|
||||
|
||||
/*-----------回调处理-------------------*/
|
||||
// HttpServletRequest request
|
||||
// params = service.getParameter2Map(request.getParameterMap(), request.getInputStream());
|
||||
if (service.verify(params)){
|
||||
System.out.println("支付成功");
|
||||
return;
|
||||
}
|
||||
System.out.println("支付失败");
|
||||
|
||||
|
||||
/*-----------回调处理-------------------*/
|
||||
}
|
||||
}
|
||||
@@ -146,6 +146,12 @@ public class PayOrder {
|
||||
this.outTradeNo = outTradeNo;
|
||||
this.transactionType = transactionType;
|
||||
}
|
||||
public PayOrder(String subject, String body, BigDecimal price, String outTradeNo) {
|
||||
this.subject = subject;
|
||||
this.body = body;
|
||||
this.price = price;
|
||||
this.outTradeNo = outTradeNo;
|
||||
}
|
||||
|
||||
public String getOpenid() {
|
||||
return openid;
|
||||
|
||||
77
pay-java-fuiou/README.md
Normal file
77
pay-java-fuiou/README.md
Normal file
@@ -0,0 +1,77 @@
|
||||
|
||||
|
||||
##支付宝支付简单例子
|
||||
|
||||
####支付配置
|
||||
|
||||
```java
|
||||
|
||||
|
||||
|
||||
FuiouPayConfigStorage fuiouPayConfigStorage = new FuiouPayConfigStorage();
|
||||
fuiouPayConfigStorage.setMchntCd("合作者id");
|
||||
fuiouPayConfigStorage.setKeyPublic("支付密钥");
|
||||
fuiouPayConfigStorage.setKeyPrivate("支付密钥");
|
||||
fuiouPayConfigStorage.setNotifyUrl("异步回调地址");
|
||||
fuiouPayConfigStorage.setReturnUrl("同步回调地址");
|
||||
fuiouPayConfigStorage.setSignType("MD5");
|
||||
fuiouPayConfigStorage.setInputCharset("utf-8");
|
||||
//是否为测试账号,沙箱环境
|
||||
fuiouPayConfigStorage.setTest(true);
|
||||
|
||||
```
|
||||
|
||||
|
||||
####创建支付服务
|
||||
|
||||
```java
|
||||
|
||||
//支付服务
|
||||
PayService service = new FuiouPayService(fuiouPayConfigStorage);
|
||||
|
||||
```
|
||||
|
||||
####创建支付订单信息
|
||||
|
||||
```java
|
||||
|
||||
//支付订单基础信息
|
||||
PayOrder payOrder = new PayOrder("订单title", "摘要", new BigDecimal(0.01) , UUID.randomUUID().toString().replace("-", "").substring(2));
|
||||
|
||||
```
|
||||
|
||||
|
||||
####网页支付
|
||||
|
||||
```java
|
||||
|
||||
/*----------- 网页支付-------------------*/
|
||||
// payOrder.setTransactionType(FuiouTransactionType.B2B);
|
||||
payOrder.setTransactionType(FuiouTransactionType.B2C);
|
||||
//获取支付所需的信息
|
||||
Map directOrderInfo = service.orderInfo(payOrder);
|
||||
//获取表单提交对应的字符串,将其序列化到页面即可,
|
||||
String directHtml = service.buildRequest(directOrderInfo, MethodType.POST);
|
||||
/*-----------/网页支付-------------------*/
|
||||
|
||||
```
|
||||
|
||||
|
||||
####回调处理
|
||||
|
||||
```java
|
||||
|
||||
/*-----------回调处理-------------------*/
|
||||
//HttpServletRequest request;
|
||||
Map<String, Object> params = service.getParameter2Map(request.getParameterMap(), request.getInputStream());
|
||||
if (service.verify(params)){
|
||||
System.out.println("支付成功");
|
||||
return;
|
||||
}
|
||||
System.out.println("支付失败");
|
||||
|
||||
|
||||
/*-----------回调处理-------------------*/
|
||||
|
||||
```
|
||||
|
||||
69
pay-java-fuiou/src/test/java/PayTest.java
Normal file
69
pay-java-fuiou/src/test/java/PayTest.java
Normal file
@@ -0,0 +1,69 @@
|
||||
import com.egzosn.pay.common.api.PayService;
|
||||
import com.egzosn.pay.common.bean.MethodType;
|
||||
import com.egzosn.pay.common.bean.PayOrder;
|
||||
import com.egzosn.pay.fuiou.api.FuiouPayConfigStorage;
|
||||
import com.egzosn.pay.fuiou.api.FuiouPayService;
|
||||
import com.egzosn.pay.fuiou.bean.FuiouTransactionType;
|
||||
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* 富友支付测试
|
||||
* @author egan
|
||||
* @email egzosn@gmail.com
|
||||
* @date 2017/8/18
|
||||
*/
|
||||
public class PayTest {
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
|
||||
FuiouPayConfigStorage fuiouPayConfigStorage = new FuiouPayConfigStorage();
|
||||
fuiouPayConfigStorage.setMchntCd("合作者id");
|
||||
fuiouPayConfigStorage.setKeyPublic("支付密钥");
|
||||
fuiouPayConfigStorage.setKeyPrivate("支付密钥");
|
||||
fuiouPayConfigStorage.setNotifyUrl("异步回调地址");
|
||||
fuiouPayConfigStorage.setReturnUrl("同步回调地址");
|
||||
fuiouPayConfigStorage.setSignType("MD5");
|
||||
fuiouPayConfigStorage.setInputCharset("utf-8");
|
||||
//是否为测试账号,沙箱环境
|
||||
fuiouPayConfigStorage.setTest(true);
|
||||
//支付服务
|
||||
PayService service = new FuiouPayService(fuiouPayConfigStorage);
|
||||
//支付订单基础信息
|
||||
PayOrder payOrder = new PayOrder("订单title", "摘要", new BigDecimal(0.01) , UUID.randomUUID().toString().replace("-", "").substring(2));
|
||||
|
||||
|
||||
/*----------- 网页支付-------------------*/
|
||||
// payOrder.setTransactionType(FuiouTransactionType.B2B);
|
||||
payOrder.setTransactionType(FuiouTransactionType.B2C);
|
||||
//获取支付所需的信息
|
||||
Map directOrderInfo = service.orderInfo(payOrder);
|
||||
//获取表单提交对应的字符串,将其序列化到页面即可,
|
||||
String directHtml = service.buildRequest(directOrderInfo, MethodType.POST);
|
||||
/*-----------/网页支付-------------------*/
|
||||
|
||||
/*-----------回调处理-------------------*/
|
||||
|
||||
Map<String, Object> params = null;
|
||||
// HttpServletRequest request
|
||||
// params = service.getParameter2Map(request.getParameterMap(), request.getInputStream());
|
||||
if (service.verify(params)){
|
||||
System.out.println("支付成功");
|
||||
return;
|
||||
}
|
||||
System.out.println("支付失败");
|
||||
|
||||
|
||||
/*-----------回调处理-------------------*/
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
74
pay-java-wx-youdian/README.md
Normal file
74
pay-java-wx-youdian/README.md
Normal file
@@ -0,0 +1,74 @@
|
||||
|
||||
|
||||
##支付宝支付简单例子
|
||||
|
||||
####支付配置
|
||||
|
||||
```java
|
||||
|
||||
|
||||
|
||||
WxYouDianPayConfigStorage wxPayConfigStorage = new WxYouDianPayConfigStorage();
|
||||
wxPayConfigStorage.setKeyPrivate("友店所提供的加密串");
|
||||
wxPayConfigStorage.setKeyPublic("线下支付异步通知加签密钥");
|
||||
// wxPayConfigStorage.setNotifyUrl(account.getNotifyUrl());
|
||||
// wxPayConfigStorage.setReturnUrl(account.getReturnUrl());
|
||||
wxPayConfigStorage.setSeller("友店账号");
|
||||
wxPayConfigStorage.setSignType("签名方式");
|
||||
wxPayConfigStorage.setInputCharset("utf-8");
|
||||
//是否为测试账号,沙箱环境 此处暂未实现
|
||||
wxPayConfigStorage.setTest(true);
|
||||
|
||||
```
|
||||
|
||||
|
||||
####创建支付服务
|
||||
|
||||
```java
|
||||
|
||||
//支付服务
|
||||
PayService service = new WxYouDianPayService(wxPayConfigStorage);
|
||||
|
||||
```
|
||||
|
||||
####创建支付订单信息
|
||||
|
||||
```java
|
||||
|
||||
//支付订单基础信息
|
||||
PayOrder payOrder = new PayOrder("订单title", "摘要", new BigDecimal(0.01) , UUID.randomUUID().toString().replace("-", ""));
|
||||
|
||||
```
|
||||
|
||||
|
||||
####扫码付
|
||||
|
||||
```java
|
||||
|
||||
/*-----------扫码付-------------------*/
|
||||
payOrder.setTransactionType(YoudianTransactionType.NATIVE);
|
||||
//获取扫码付的二维码
|
||||
BufferedImage image = service.genQrPay(payOrder);
|
||||
/*-----------/扫码付-------------------*/
|
||||
|
||||
```
|
||||
|
||||
|
||||
####回调处理
|
||||
|
||||
```java
|
||||
|
||||
/*-----------回调处理-------------------*/
|
||||
//HttpServletRequest request;
|
||||
Map<String, Object> params = service.getParameter2Map(request.getParameterMap(), request.getInputStream());
|
||||
if (service.verify(params)){
|
||||
System.out.println("支付成功");
|
||||
return;
|
||||
}
|
||||
System.out.println("支付失败");
|
||||
|
||||
|
||||
/*-----------回调处理-------------------*/
|
||||
|
||||
```
|
||||
|
||||
61
pay-java-wx-youdian/src/test/java/PayTest.java
Normal file
61
pay-java-wx-youdian/src/test/java/PayTest.java
Normal file
@@ -0,0 +1,61 @@
|
||||
|
||||
import com.egzosn.pay.common.api.PayService;
|
||||
import com.egzosn.pay.common.bean.MethodType;
|
||||
import com.egzosn.pay.common.bean.PayOrder;
|
||||
import com.egzosn.pay.wx.youdian.api.WxYouDianPayConfigStorage;
|
||||
import com.egzosn.pay.wx.youdian.api.WxYouDianPayService;
|
||||
import com.egzosn.pay.wx.youdian.bean.YoudianTransactionType;
|
||||
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* 友店微信
|
||||
* @author egan
|
||||
* @email egzosn@gmail.com
|
||||
* @date 2017/8/18
|
||||
*/
|
||||
public class PayTest {
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
|
||||
WxYouDianPayConfigStorage wxPayConfigStorage = new WxYouDianPayConfigStorage();
|
||||
wxPayConfigStorage.setKeyPrivate("友店所提供的加密串");
|
||||
wxPayConfigStorage.setKeyPublic("线下支付异步通知加签密钥");
|
||||
// wxPayConfigStorage.setNotifyUrl(account.getNotifyUrl());
|
||||
// wxPayConfigStorage.setReturnUrl(account.getReturnUrl());
|
||||
wxPayConfigStorage.setSeller("友店账号");
|
||||
wxPayConfigStorage.setSignType("签名方式");
|
||||
wxPayConfigStorage.setInputCharset("utf-8");
|
||||
//是否为测试账号,沙箱环境 此处暂未实现
|
||||
wxPayConfigStorage.setTest(true);
|
||||
//支付服务
|
||||
PayService service = new WxYouDianPayService(wxPayConfigStorage);
|
||||
//支付订单基础信息
|
||||
PayOrder payOrder = new PayOrder("订单title", "摘要", new BigDecimal(0.01) , UUID.randomUUID().toString().replace("-", ""));
|
||||
/*-----------扫码付-------------------*/
|
||||
payOrder.setTransactionType(YoudianTransactionType.NATIVE);
|
||||
//获取扫码付的二维码
|
||||
BufferedImage image = service.genQrPay(payOrder);
|
||||
/*-----------/扫码付-------------------*/
|
||||
|
||||
|
||||
/*-----------回调处理-------------------*/
|
||||
Map<String, Object> params = null;
|
||||
// HttpServletRequest request
|
||||
// params = service.getParameter2Map(request.getParameterMap(), request.getInputStream());
|
||||
if (service.verify(params)){
|
||||
System.out.println("支付成功");
|
||||
return;
|
||||
}
|
||||
System.out.println("支付失败");
|
||||
|
||||
|
||||
/*-----------回调处理-------------------*/
|
||||
}
|
||||
}
|
||||
114
pay-java-wx/README.md
Normal file
114
pay-java-wx/README.md
Normal file
@@ -0,0 +1,114 @@
|
||||
|
||||
|
||||
##支付宝支付简单例子
|
||||
|
||||
####支付配置
|
||||
|
||||
```java
|
||||
|
||||
WxPayConfigStorage wxPayConfigStorage = new WxPayConfigStorage();
|
||||
wxPayConfigStorage.setMchId("合作者id(商户号)");
|
||||
wxPayConfigStorage.setAppid("应用id");
|
||||
wxPayConfigStorage.setKeyPublic("密钥");
|
||||
wxPayConfigStorage.setKeyPrivate("密钥");
|
||||
wxPayConfigStorage.setNotifyUrl("异步回调地址");
|
||||
wxPayConfigStorage.setReturnUrl("同步回调地址");
|
||||
wxPayConfigStorage.setSignType("签名方式");
|
||||
wxPayConfigStorage.setInputCharset("utf-8");
|
||||
//是否为测试账号,沙箱环境 此处暂未实现
|
||||
wxPayConfigStorage.setTest(true);
|
||||
|
||||
```
|
||||
|
||||
|
||||
####创建支付服务
|
||||
|
||||
```java
|
||||
|
||||
//支付服务
|
||||
PayService service = new WxPayService(wxPayConfigStorage);
|
||||
|
||||
```
|
||||
|
||||
####创建支付订单信息
|
||||
|
||||
```java
|
||||
|
||||
//支付订单基础信息
|
||||
PayOrder payOrder = new PayOrder("订单title", "摘要", new BigDecimal(0.01) , UUID.randomUUID().toString().replace("-", ""));
|
||||
|
||||
```
|
||||
|
||||
####扫码付
|
||||
|
||||
```java
|
||||
|
||||
|
||||
/*-----------扫码付-------------------*/
|
||||
payOrder.setTransactionType(WxTransactionType.NATIVE);
|
||||
//获取扫码付的二维码
|
||||
BufferedImage image = service.genQrPay(payOrder);
|
||||
/*-----------/扫码付-------------------*/
|
||||
|
||||
|
||||
```
|
||||
|
||||
####APP支付
|
||||
|
||||
```java
|
||||
|
||||
/*-----------APP-------------------*/
|
||||
payOrder.setTransactionType(WxTransactionType.APP);
|
||||
//获取APP支付所需的信息组,直接给app端就可使用
|
||||
Map appOrderInfo = service.orderInfo(payOrder);
|
||||
/*-----------/APP-------------------*/
|
||||
|
||||
```
|
||||
|
||||
####网页支付
|
||||
|
||||
```java
|
||||
|
||||
/*-----------网页支付-------------------*/
|
||||
|
||||
payOrder.setTransactionType(WxTransactionType.MWEB); // 网页支付
|
||||
//获取支付所需的信息
|
||||
Map directOrderInfo = service.orderInfo(payOrder);
|
||||
//获取表单提交对应的字符串,将其序列化到页面即可,
|
||||
String directHtml = service.buildRequest(directOrderInfo, MethodType.POST);
|
||||
/*-----------/即时到帐 WAP 网页支付-------------------*/
|
||||
|
||||
```
|
||||
|
||||
####条码付 刷卡付
|
||||
|
||||
```java
|
||||
|
||||
/*-----------条码付 刷卡付-------------------*/
|
||||
payOrder.setTransactionType(WxTransactionType.MICROPAY);//条码付
|
||||
payOrder.setAuthCode("条码信息");
|
||||
// 支付结果
|
||||
Map params = service.microPay(payOrder);
|
||||
|
||||
/*-----------/条码付 刷卡付-------------------*/
|
||||
|
||||
```
|
||||
|
||||
####回调处理
|
||||
|
||||
```java
|
||||
|
||||
/*-----------回调处理-------------------*/
|
||||
//HttpServletRequest request;
|
||||
Map<String, Object> params = service.getParameter2Map(request.getParameterMap(), request.getInputStream());
|
||||
if (service.verify(params)){
|
||||
System.out.println("支付成功");
|
||||
return;
|
||||
}
|
||||
System.out.println("支付失败");
|
||||
|
||||
|
||||
/*-----------回调处理-------------------*/
|
||||
|
||||
```
|
||||
|
||||
83
pay-java-wx/src/test/java/PayTest.java
Normal file
83
pay-java-wx/src/test/java/PayTest.java
Normal file
@@ -0,0 +1,83 @@
|
||||
|
||||
import com.egzosn.pay.common.api.PayService;
|
||||
import com.egzosn.pay.common.bean.MethodType;
|
||||
import com.egzosn.pay.common.bean.PayOrder;
|
||||
import com.egzosn.pay.wx.api.WxPayConfigStorage;
|
||||
import com.egzosn.pay.wx.api.WxPayService;
|
||||
import com.egzosn.pay.wx.bean.WxTransactionType;
|
||||
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* 微信
|
||||
* @author egan
|
||||
* @email egzosn@gmail.com
|
||||
* @date 2017/8/18
|
||||
*/
|
||||
public class PayTest {
|
||||
|
||||
public static void main(String[] args) {
|
||||
WxPayConfigStorage wxPayConfigStorage = new WxPayConfigStorage();
|
||||
wxPayConfigStorage.setMchId("合作者id(商户号)");
|
||||
wxPayConfigStorage.setAppid("应用id");
|
||||
wxPayConfigStorage.setKeyPublic("密钥");
|
||||
wxPayConfigStorage.setKeyPrivate("密钥");
|
||||
wxPayConfigStorage.setNotifyUrl("异步回调地址");
|
||||
wxPayConfigStorage.setReturnUrl("同步回调地址");
|
||||
wxPayConfigStorage.setSignType("签名方式");
|
||||
wxPayConfigStorage.setInputCharset("utf-8");
|
||||
//是否为测试账号,沙箱环境 此处暂未实现
|
||||
wxPayConfigStorage.setTest(true);
|
||||
//支付服务
|
||||
PayService service = new WxPayService(wxPayConfigStorage);
|
||||
//支付订单基础信息
|
||||
PayOrder payOrder = new PayOrder("订单title", "摘要", new BigDecimal(0.01) , UUID.randomUUID().toString().replace("-", ""));
|
||||
/*-----------扫码付-------------------*/
|
||||
payOrder.setTransactionType(WxTransactionType.NATIVE);
|
||||
//获取扫码付的二维码
|
||||
BufferedImage image = service.genQrPay(payOrder);
|
||||
/*-----------/扫码付-------------------*/
|
||||
|
||||
/*-----------APP-------------------*/
|
||||
payOrder.setTransactionType(WxTransactionType.APP);
|
||||
//获取APP支付所需的信息组,直接给app端就可使用
|
||||
Map appOrderInfo = service.orderInfo(payOrder);
|
||||
/*-----------/APP-------------------*/
|
||||
|
||||
/*----------- WAP 网页支付-------------------*/
|
||||
|
||||
payOrder.setTransactionType(WxTransactionType.MWEB); // 网页支付
|
||||
//获取支付所需的信息
|
||||
Map directOrderInfo = service.orderInfo(payOrder);
|
||||
//获取表单提交对应的字符串,将其序列化到页面即可,
|
||||
String directHtml = service.buildRequest(directOrderInfo, MethodType.POST);
|
||||
/*-----------/ WAP 网页支付-------------------*/
|
||||
|
||||
|
||||
|
||||
/*-----------条码付 刷卡付-------------------*/
|
||||
payOrder.setTransactionType(WxTransactionType.MICROPAY);//条码付
|
||||
payOrder.setAuthCode("条码信息");
|
||||
// 支付结果
|
||||
Map params = service.microPay(payOrder);
|
||||
|
||||
/*-----------/条码付 刷卡付-------------------*/
|
||||
|
||||
/*-----------回调处理-------------------*/
|
||||
// HttpServletRequest request
|
||||
// params = service.getParameter2Map(request.getParameterMap(), request.getInputStream());
|
||||
if (service.verify(params)){
|
||||
System.out.println("支付成功");
|
||||
return;
|
||||
}
|
||||
System.out.println("支付失败");
|
||||
|
||||
|
||||
/*-----------回调处理-------------------*/
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user