Compare commits
2 Commits
e032152adb
...
5fb7848dc8
| Author | SHA1 | Date |
|---|---|---|
|
|
5fb7848dc8 | |
|
|
17dd53824c |
|
|
@ -4,6 +4,7 @@ import java.util.List;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.alipay.api.AlipayClient;
|
import com.alipay.api.AlipayClient;
|
||||||
import com.alipay.api.AlipayConfig;
|
import com.alipay.api.AlipayConfig;
|
||||||
import com.alipay.api.DefaultAlipayClient;
|
import com.alipay.api.DefaultAlipayClient;
|
||||||
|
|
@ -119,36 +120,4 @@ public class AppUserController extends BaseController
|
||||||
{
|
{
|
||||||
return toAjax(appUserService.deleteAppUserByIds(ids));
|
return toAjax(appUserService.deleteAppUserByIds(ids));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void main(String[] args) throws Exception{
|
|
||||||
String privateKey = "MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQChzpB6JWlP/2ZWtxcjvphN/ePSCkWYe1hSRwOyy+3jTvA31aVuPOOgC0WludwqLnWJnn6JV5m+Q7ZyJ4sOWmU4f+dDs2F31zrb21QLmF9ZcNpveVTsPQFYCZER2VU8ckLkIqS4RSKySJFGzbmuYyu+nIOct6dUoEhpEa+8o6k9cykplmoXI2wCn24c87qGLkKsvZQrT2nWI46ua57AvBAbkEGkFIbS4FxggP6Z1rUbj3tAREpEO7VQFvfe/DISIzer91U+yEnlmcz9nPhxmaIc0o8xbTW2surSMfoIzXkV8xit9EclGXkb4fZPr8t4N/viEVigQPGw9vxoDrKLhUphAgMBAAECggEAPnd1tYI97wFlq/KRP150hB+RVWRby+tKhLEfz2YFV+0Atj2H2VAufHn9kGZ5hdtbyx5iMXmdRCP2CooTmB3z1+UhDjTxWwe/lGNPRg60ON5lpgWMcIt4ulkvJVnnGyfthQ+O0gj2xSdY1qHTnmxw1eysrtMECZq7eby3QLdaPftYm/g57mHAjruUZBvylEBCnEpY94y7qyYUtgdefDB9n0NIVpqkUjIqOZutZsCjxkFEQlKerPJPllCzuzPQS3YHxTBLdu89F2JGHeMwO17f7XzA7OS3Jf6OvbyQ1OuoAF+NWnojzrehwhh4fqcg5I3rm/opZzgFvb4KxK6mc4sVwQKBgQD2C32Iv1RgCKVAURwKWogIZSkScs8Am2WIP/iCK4sX1+rRbCFlc6TaTqO3hSyR1CeSWwpdB/6TqfMCklCj0pLCiATzbWfSCQoDq6LxfHvs2o/ilu8T/qV5qI5CnugIzSni/3NfBEz2vwjHS8PAGyHrvedTay9SjEeFaDIzTm7eOQKBgQCoWot6zzJEKGXn5y2s828yQBU82OnE+OAf8sjT4MY5lF65+JmbARaIMY40OejA/fUngC/4bi6oNExEv5Y94w+E8VryZOm4lMzDevuImJWQoJsFoHS4rMtAaQly8GRpk18flVB9B1ZLM345sujcnFjPnmJInvDuI2cQaf8rsN1NaQKBgBWTbl+2f3yoZW1db3sM807hKBfhD3v7JI0tJuqrTNg7a/EPbWJLINKwALVQLVdgZlP0PdVopQ9n4NKB6CZlic8bRGvgVTFa75Dg1Tod83QSunlhSPfU5cfkWw1GiAx1iU3JnuFfLCybFfb8Et9ewbu9fHKZPJ4dhQwS1gwfvaMpAoGARE1/+1JmxWpSdfS//kRBn/SJ6UbkCSsj2zJoMjYmliPRDsiCoXWei6D3Xc8E1I/0T5NdYwBo44tcSiQks3UUzc4SJPe2L1IHhWO2+2NUgvn2CyFfWbGZQMecsso/IupMlIbCwgchBp+cnZItkZvJGGrc2zPI8gThArLOeQ5nqskCgYAxkVuRjkrY3Ide2bl17MD/qUZGUrXgfZJxOFI0ya+QinnGrPAxQaWZqyatp663DHOnMjD68Me8t/czhgMLm5g7VcxxPp60Qsx/9F/7l80LacFhMCrhCFW6GNSN1oFyAxokBBe+NgqDJIMJMk3zD4C5SvT1yc19TxoxEwa8lqgLLw==";
|
|
||||||
String alipayPublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyCpeqEUH58ZlTyGvHMD5/L46XVMJAWz5hRdp7oc5KRVt+7IhrNsqLwqRIp5jDXP8HjdnBOkuGb8FvnKSXwN4ydbR0PXXKIm1HSclJH2A3qjeYDuO1QJiE6UU/eB69sdTEfbnMqAaCPsFAbnCgvRZ+zowpVPqfZOs83812O8j+8UC8rEDyCtot26wLiz71Ccs5WzxQBVK02m258L5R43yb4NP9pXF8KZFg9vNpqTVHtX3p/PuMng6NSCbw2praghj8VFT849VPT0uGYRAEbx9uY3R+Y/GJtDlk4oYtMcA+56puudqGvPP96JhHYI5fr5M6IKewZTthG15P2li9dUCwwIDAQAB";
|
|
||||||
AlipayConfig alipayConfig = new AlipayConfig();
|
|
||||||
alipayConfig.setServerUrl("https://openapi-sandbox.dl.alipaydev.com/gateway.do");
|
|
||||||
alipayConfig.setAppId("9021000136647545");
|
|
||||||
alipayConfig.setPrivateKey(privateKey);
|
|
||||||
alipayConfig.setFormat("json");
|
|
||||||
alipayConfig.setAlipayPublicKey(alipayPublicKey);
|
|
||||||
alipayConfig.setCharset("UTF-8");
|
|
||||||
alipayConfig.setSignType("RSA2");
|
|
||||||
AlipayClient alipayClient = new DefaultAlipayClient(alipayConfig);
|
|
||||||
AlipayTradeCreateRequest request = new AlipayTradeCreateRequest();
|
|
||||||
request.setNotifyUrl("http://139.224.213.131:7008/pay/test");
|
|
||||||
AlipayTradeCreateModel model = new AlipayTradeCreateModel();
|
|
||||||
model.setOutTradeNo("20150320010101001");
|
|
||||||
model.setTotalAmount("88.88");
|
|
||||||
model.setSubject("Iphone6 16G");
|
|
||||||
// model.setBuyerId("2088722034284530");
|
|
||||||
request.setBizModel(model);
|
|
||||||
AlipayTradeCreateResponse response = alipayClient.sdkExecute(request);
|
|
||||||
System.out.println(response.getBody());
|
|
||||||
if (response.isSuccess()) {
|
|
||||||
System.out.println("调用成功");
|
|
||||||
} else {
|
|
||||||
System.out.println("调用失败");
|
|
||||||
// sdk版本是"4.38.0.ALL"及以上,可以参考下面的示例获取诊断链接
|
|
||||||
// String diagnosisUrl = DiagnosisUtils.getDiagnosisUrl(response);
|
|
||||||
// System.out.println(diagnosisUrl);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,8 @@
|
||||||
package com.ruoyi.app.controller;
|
package com.ruoyi.app.controller;
|
||||||
|
|
||||||
|
import com.alipay.api.AlipayApiException;
|
||||||
|
import com.alipay.api.request.AlipayTradeCreateRequest;
|
||||||
|
import com.alipay.api.response.AlipayTradeCreateResponse;
|
||||||
import com.ruoyi.app.domain.*;
|
import com.ruoyi.app.domain.*;
|
||||||
import com.ruoyi.app.domain.dto.*;
|
import com.ruoyi.app.domain.dto.*;
|
||||||
import com.ruoyi.app.domain.vo.AppDynamicCommentVo;
|
import com.ruoyi.app.domain.vo.AppDynamicCommentVo;
|
||||||
|
|
@ -7,6 +10,7 @@ import com.ruoyi.app.mapper.AppExchangeCodeMapper;
|
||||||
import com.ruoyi.app.mapper.AppOrderMapper;
|
import com.ruoyi.app.mapper.AppOrderMapper;
|
||||||
import com.ruoyi.app.mapper.AppOrderPayMapper;
|
import com.ruoyi.app.mapper.AppOrderPayMapper;
|
||||||
import com.ruoyi.app.mapper.AppUserMapper;
|
import com.ruoyi.app.mapper.AppUserMapper;
|
||||||
|
import com.ruoyi.app.service.AlipayService;
|
||||||
import com.ruoyi.app.service.IAppDynamicCommentService;
|
import com.ruoyi.app.service.IAppDynamicCommentService;
|
||||||
import com.ruoyi.app.service.IPayService;
|
import com.ruoyi.app.service.IPayService;
|
||||||
import com.ruoyi.app.utils.ExcelUtils;
|
import com.ruoyi.app.utils.ExcelUtils;
|
||||||
|
|
@ -22,12 +26,12 @@ import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
||||||
import org.dom4j.Document;
|
import org.dom4j.Document;
|
||||||
import org.dom4j.DocumentHelper;
|
import org.dom4j.DocumentHelper;
|
||||||
import org.dom4j.Element;
|
import org.dom4j.Element;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.util.StringUtils;
|
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
@ -64,6 +68,9 @@ public class PayController extends BaseController
|
||||||
@Autowired
|
@Autowired
|
||||||
private AppExchangeCodeMapper appExchangeCodeMapper;
|
private AppExchangeCodeMapper appExchangeCodeMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private AlipayService alipayService;
|
||||||
|
|
||||||
@RequestMapping("/generateCode")
|
@RequestMapping("/generateCode")
|
||||||
@ApiOperation(value = "生成兑换码", notes = "生成兑换码", httpMethod = "GET")
|
@ApiOperation(value = "生成兑换码", notes = "生成兑换码", httpMethod = "GET")
|
||||||
public String generateCode(Integer num,HttpServletResponse response){
|
public String generateCode(Integer num,HttpServletResponse response){
|
||||||
|
|
@ -181,7 +188,7 @@ public class PayController extends BaseController
|
||||||
// 生成订单信息
|
// 生成订单信息
|
||||||
AppOrder order = new AppOrder();
|
AppOrder order = new AppOrder();
|
||||||
order.setOutTradeNo(code);
|
order.setOutTradeNo(code);
|
||||||
order.setPrice(0);
|
order.setPrice("0");
|
||||||
order.setUserId(userId);
|
order.setUserId(userId);
|
||||||
order.setPayStatus(2);
|
order.setPayStatus(2);
|
||||||
order.setPaySoure(3);
|
order.setPaySoure(3);
|
||||||
|
|
@ -197,7 +204,7 @@ public class PayController extends BaseController
|
||||||
@PostMapping("/wechatPrePay")
|
@PostMapping("/wechatPrePay")
|
||||||
@ApiOperation(value = "微信支付", notes = "微信支付", httpMethod = "POST")
|
@ApiOperation(value = "微信支付", notes = "微信支付", httpMethod = "POST")
|
||||||
public AjaxResult wechatPrePay(@RequestBody AppOrderArg appOrderArg) {
|
public AjaxResult wechatPrePay(@RequestBody AppOrderArg appOrderArg) {
|
||||||
Integer price = appOrderArg.getPrice();
|
Integer price = Integer.valueOf(appOrderArg.getPrice());
|
||||||
|
|
||||||
PayConfig payConfig = getPayConfigByAppid();
|
PayConfig payConfig = getPayConfigByAppid();
|
||||||
String orderNo = KeyUtil.generateUniqueKey();
|
String orderNo = KeyUtil.generateUniqueKey();
|
||||||
|
|
@ -234,11 +241,11 @@ public class PayController extends BaseController
|
||||||
|
|
||||||
AppOrder order = new AppOrder();
|
AppOrder order = new AppOrder();
|
||||||
order.setOutTradeNo(orderNo);
|
order.setOutTradeNo(orderNo);
|
||||||
order.setPrice(price);
|
order.setPrice(appOrderArg.getPrice());
|
||||||
order.setAppId(payConfig.getAPPID());
|
order.setAppId(payConfig.getAPPID());
|
||||||
order.setUserId(appOrderArg.getUserId());
|
order.setUserId(appOrderArg.getUserId());
|
||||||
order.setPayStatus(1);
|
order.setPayStatus(1);
|
||||||
order.setPaySoure(appOrderArg.getPaySoure());
|
order.setPaySoure(1);
|
||||||
order.setMchId(payConfig.MCH_ID);
|
order.setMchId(payConfig.MCH_ID);
|
||||||
order.setCreateTime(new Date());
|
order.setCreateTime(new Date());
|
||||||
order.setLevel(appOrderArg.getLevel());
|
order.setLevel(appOrderArg.getLevel());
|
||||||
|
|
@ -372,6 +379,33 @@ public class PayController extends BaseController
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PostMapping("/aliPay")
|
||||||
|
@ApiOperation(value = "支付宝支付", notes = "支付宝支付", httpMethod = "POST")
|
||||||
|
public AjaxResult aliPay(@RequestBody AppOrderArg appOrderArg) {
|
||||||
|
String orderNo = KeyUtil.generateUniqueKey();
|
||||||
|
AlipayTradeCreateResponse result = null;
|
||||||
|
try {
|
||||||
|
result = alipayService.startPay(orderNo, appOrderArg.getPrice());
|
||||||
|
} catch (AlipayApiException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
if (result.isSuccess()) {
|
||||||
|
AppOrder order = new AppOrder();
|
||||||
|
order.setOutTradeNo(orderNo);
|
||||||
|
order.setPrice(appOrderArg.getPrice());
|
||||||
|
order.setAppId(AlipayService.APP_ID);
|
||||||
|
order.setUserId(appOrderArg.getUserId());
|
||||||
|
order.setPayStatus(1);
|
||||||
|
order.setPaySoure(2);
|
||||||
|
order.setCreateTime(new Date());
|
||||||
|
order.setLevel(appOrderArg.getLevel());
|
||||||
|
appOrderMapper.insertAppOrder(order);
|
||||||
|
return AjaxResult.success(result.getBody());
|
||||||
|
} else {
|
||||||
|
return AjaxResult.error(result.getMsg());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public PayConfig getPayConfigByAppid() {
|
public PayConfig getPayConfigByAppid() {
|
||||||
PayConfig payConfig = new PayConfig();
|
PayConfig payConfig = new PayConfig();
|
||||||
payConfig.setAPPID(payConfig.getAPPID());
|
payConfig.setAPPID(payConfig.getAPPID());
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,7 @@ public class AppOrder extends BaseEntity
|
||||||
|
|
||||||
/** 支付金额 */
|
/** 支付金额 */
|
||||||
@Excel(name = "支付金额")
|
@Excel(name = "支付金额")
|
||||||
private int price;
|
private String price;
|
||||||
|
|
||||||
/** 商户id */
|
/** 商户id */
|
||||||
@Excel(name = "商户id")
|
@Excel(name = "商户id")
|
||||||
|
|
@ -125,15 +125,6 @@ public class AppOrder extends BaseEntity
|
||||||
{
|
{
|
||||||
return tradeNo;
|
return tradeNo;
|
||||||
}
|
}
|
||||||
public void setPrice(int price)
|
|
||||||
{
|
|
||||||
this.price = price;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getPrice()
|
|
||||||
{
|
|
||||||
return price;
|
|
||||||
}
|
|
||||||
public void setMchId(String mchId)
|
public void setMchId(String mchId)
|
||||||
{
|
{
|
||||||
this.mchId = mchId;
|
this.mchId = mchId;
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ public class AppOrderArg extends BaseEntity
|
||||||
|
|
||||||
/** 支付金额 */
|
/** 支付金额 */
|
||||||
@Excel(name = "支付金额")
|
@Excel(name = "支付金额")
|
||||||
private int price;
|
private String price;
|
||||||
|
|
||||||
@Excel(name = "会员等级,1-7天,2-一个月,3-一年")
|
@Excel(name = "会员等级,1-7天,2-一个月,3-一年")
|
||||||
private int level;
|
private int level;
|
||||||
|
|
|
||||||
|
|
@ -1,28 +0,0 @@
|
||||||
package com.ruoyi.app.domain.dto;
|
|
||||||
|
|
||||||
import lombok.Data;
|
|
||||||
import lombok.ToString;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author heisenbergluck@outlook.com
|
|
||||||
* @date 2021/6/7 0007 16:27
|
|
||||||
*/
|
|
||||||
|
|
||||||
@Data
|
|
||||||
@ToString
|
|
||||||
public class AlipayConfig {
|
|
||||||
|
|
||||||
private String serverUrl;
|
|
||||||
|
|
||||||
private String appId;
|
|
||||||
|
|
||||||
private String privateKey;
|
|
||||||
|
|
||||||
private String format;
|
|
||||||
|
|
||||||
private String alipayPublicKey;
|
|
||||||
|
|
||||||
private String charset;
|
|
||||||
|
|
||||||
private String signType;
|
|
||||||
}
|
|
||||||
|
|
@ -24,14 +24,4 @@ public class PayConfig {
|
||||||
public String APP_KEY = "Zzvi53pvCLUdFtvQ3EB0QLHQeKTctZ1c";
|
public String APP_KEY = "Zzvi53pvCLUdFtvQ3EB0QLHQeKTctZ1c";
|
||||||
|
|
||||||
public String payUrl = "https://api.mch.weixin.qq.com/pay/unifiedorder";//下单
|
public String payUrl = "https://api.mch.weixin.qq.com/pay/unifiedorder";//下单
|
||||||
|
|
||||||
|
|
||||||
// 支付宝私钥
|
|
||||||
public String privateKey = "MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQChzpB6JWlP/2ZWtxcjvphN/ePSCkWYe1hSRwOyy+3jTvA31aVuPOOgC0WludwqLnWJnn6JV5m+Q7ZyJ4sOWmU4f+dDs2F31zrb21QLmF9ZcNpveVTsPQFYCZER2VU8ckLkIqS4RSKySJFGzbmuYyu+nIOct6dUoEhpEa+8o6k9cykplmoXI2wCn24c87qGLkKsvZQrT2nWI46ua57AvBAbkEGkFIbS4FxggP6Z1rUbj3tAREpEO7VQFvfe/DISIzer91U+yEnlmcz9nPhxmaIc0o8xbTW2surSMfoIzXkV8xit9EclGXkb4fZPr8t4N/viEVigQPGw9vxoDrKLhUphAgMBAAECggEAPnd1tYI97wFlq/KRP150hB+RVWRby+tKhLEfz2YFV+0Atj2H2VAufHn9kGZ5hdtbyx5iMXmdRCP2CooTmB3z1+UhDjTxWwe/lGNPRg60ON5lpgWMcIt4ulkvJVnnGyfthQ+O0gj2xSdY1qHTnmxw1eysrtMECZq7eby3QLdaPftYm/g57mHAjruUZBvylEBCnEpY94y7qyYUtgdefDB9n0NIVpqkUjIqOZutZsCjxkFEQlKerPJPllCzuzPQS3YHxTBLdu89F2JGHeMwO17f7XzA7OS3Jf6OvbyQ1OuoAF+NWnojzrehwhh4fqcg5I3rm/opZzgFvb4KxK6mc4sVwQKBgQD2C32Iv1RgCKVAURwKWogIZSkScs8Am2WIP/iCK4sX1+rRbCFlc6TaTqO3hSyR1CeSWwpdB/6TqfMCklCj0pLCiATzbWfSCQoDq6LxfHvs2o/ilu8T/qV5qI5CnugIzSni/3NfBEz2vwjHS8PAGyHrvedTay9SjEeFaDIzTm7eOQKBgQCoWot6zzJEKGXn5y2s828yQBU82OnE+OAf8sjT4MY5lF65+JmbARaIMY40OejA/fUngC/4bi6oNExEv5Y94w+E8VryZOm4lMzDevuImJWQoJsFoHS4rMtAaQly8GRpk18flVB9B1ZLM345sujcnFjPnmJInvDuI2cQaf8rsN1NaQKBgBWTbl+2f3yoZW1db3sM807hKBfhD3v7JI0tJuqrTNg7a/EPbWJLINKwALVQLVdgZlP0PdVopQ9n4NKB6CZlic8bRGvgVTFa75Dg1Tod83QSunlhSPfU5cfkWw1GiAx1iU3JnuFfLCybFfb8Et9ewbu9fHKZPJ4dhQwS1gwfvaMpAoGARE1/+1JmxWpSdfS//kRBn/SJ6UbkCSsj2zJoMjYmliPRDsiCoXWei6D3Xc8E1I/0T5NdYwBo44tcSiQks3UUzc4SJPe2L1IHhWO2+2NUgvn2CyFfWbGZQMecsso/IupMlIbCwgchBp+cnZItkZvJGGrc2zPI8gThArLOeQ5nqskCgYAxkVuRjkrY3Ide2bl17MD/qUZGUrXgfZJxOFI0ya+QinnGrPAxQaWZqyatp663DHOnMjD68Me8t/czhgMLm5g7VcxxPp60Qsx/9F/7l80LacFhMCrhCFW6GNSN1oFyAxokBBe+NgqDJIMJMk3zD4C5SvT1yc19TxoxEwa8lqgLLw==";
|
|
||||||
// 支付宝公钥
|
|
||||||
public String publicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyCpeqEUH58ZlTyGvHMD5/L46XVMJAWz5hRdp7oc5KRVt+7IhrNsqLwqRIp5jDXP8HjdnBOkuGb8FvnKSXwN4ydbR0PXXKIm1HSclJH2A3qjeYDuO1QJiE6UU/eB69sdTEfbnMqAaCPsFAbnCgvRZ+zowpVPqfZOs83812O8j+8UC8rEDyCtot26wLiz71Ccs5WzxQBVK02m258L5R43yb4NP9pXF8KZFg9vNpqTVHtX3p/PuMng6NSCbw2praghj8VFT849VPT0uGYRAEbx9uY3R+Y/GJtDlk4oYtMcA+56puudqGvPP96JhHYI5fr5M6IKewZTthG15P2li9dUCwwIDAQAB";
|
|
||||||
// alipay appid
|
|
||||||
public String aliPay = "9021000136647545";
|
|
||||||
// 支付宝网关地址
|
|
||||||
public String gateway = "https://openapi-sandbox.dl.alipaydev.com/gateway.do";
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,56 @@
|
||||||
|
package com.ruoyi.app.service;
|
||||||
|
|
||||||
|
import com.alipay.api.AlipayApiException;
|
||||||
|
import com.alipay.api.AlipayClient;
|
||||||
|
import com.alipay.api.DefaultAlipayClient;
|
||||||
|
import com.alipay.api.request.AlipayTradeCreateRequest;
|
||||||
|
import com.alipay.api.request.AlipayTradePagePayRequest;
|
||||||
|
import com.alipay.api.response.AlipayTradeCreateResponse;
|
||||||
|
|
||||||
|
public class AlipayService {
|
||||||
|
|
||||||
|
// 支付宝网关
|
||||||
|
private static final String ALIPAY_GATEWAY = "https://openapi-sandbox.dl.alipaydev.com/gateway.do";
|
||||||
|
// 应用ID
|
||||||
|
public static final String APP_ID = "9021000136647545";
|
||||||
|
// 私钥pkcs8格式
|
||||||
|
private static final String APP_PRIVATE_KEY = "MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQChzpB6JWlP/2ZWtxcjvphN/ePSCkWYe1hSRwOyy+3jTvA31aVuPOOgC0WludwqLnWJnn6JV5m+Q7ZyJ4sOWmU4f+dDs2F31zrb21QLmF9ZcNpveVTsPQFYCZER2VU8ckLkIqS4RSKySJFGzbmuYyu+nIOct6dUoEhpEa+8o6k9cykplmoXI2wCn24c87qGLkKsvZQrT2nWI46ua57AvBAbkEGkFIbS4FxggP6Z1rUbj3tAREpEO7VQFvfe/DISIzer91U+yEnlmcz9nPhxmaIc0o8xbTW2surSMfoIzXkV8xit9EclGXkb4fZPr8t4N/viEVigQPGw9vxoDrKLhUphAgMBAAECggEAPnd1tYI97wFlq/KRP150hB+RVWRby+tKhLEfz2YFV+0Atj2H2VAufHn9kGZ5hdtbyx5iMXmdRCP2CooTmB3z1+UhDjTxWwe/lGNPRg60ON5lpgWMcIt4ulkvJVnnGyfthQ+O0gj2xSdY1qHTnmxw1eysrtMECZq7eby3QLdaPftYm/g57mHAjruUZBvylEBCnEpY94y7qyYUtgdefDB9n0NIVpqkUjIqOZutZsCjxkFEQlKerPJPllCzuzPQS3YHxTBLdu89F2JGHeMwO17f7XzA7OS3Jf6OvbyQ1OuoAF+NWnojzrehwhh4fqcg5I3rm/opZzgFvb4KxK6mc4sVwQKBgQD2C32Iv1RgCKVAURwKWogIZSkScs8Am2WIP/iCK4sX1+rRbCFlc6TaTqO3hSyR1CeSWwpdB/6TqfMCklCj0pLCiATzbWfSCQoDq6LxfHvs2o/ilu8T/qV5qI5CnugIzSni/3NfBEz2vwjHS8PAGyHrvedTay9SjEeFaDIzTm7eOQKBgQCoWot6zzJEKGXn5y2s828yQBU82OnE+OAf8sjT4MY5lF65+JmbARaIMY40OejA/fUngC/4bi6oNExEv5Y94w+E8VryZOm4lMzDevuImJWQoJsFoHS4rMtAaQly8GRpk18flVB9B1ZLM345sujcnFjPnmJInvDuI2cQaf8rsN1NaQKBgBWTbl+2f3yoZW1db3sM807hKBfhD3v7JI0tJuqrTNg7a/EPbWJLINKwALVQLVdgZlP0PdVopQ9n4NKB6CZlic8bRGvgVTFa75Dg1Tod83QSunlhSPfU5cfkWw1GiAx1iU3JnuFfLCybFfb8Et9ewbu9fHKZPJ4dhQwS1gwfvaMpAoGARE1/+1JmxWpSdfS//kRBn/SJ6UbkCSsj2zJoMjYmliPRDsiCoXWei6D3Xc8E1I/0T5NdYwBo44tcSiQks3UUzc4SJPe2L1IHhWO2+2NUgvn2CyFfWbGZQMecsso/IupMlIbCwgchBp+cnZItkZvJGGrc2zPI8gThArLOeQ5nqskCgYAxkVuRjkrY3Ide2bl17MD/qUZGUrXgfZJxOFI0ya+QinnGrPAxQaWZqyatp663DHOnMjD68Me8t/czhgMLm5g7VcxxPp60Qsx/9F/7l80LacFhMCrhCFW6GNSN1oFyAxokBBe+NgqDJIMJMk3zD4C5SvT1yc19TxoxEwa8lqgLLw==";
|
||||||
|
// 支付宝公钥
|
||||||
|
private static final String ALIPAY_PUBLIC_KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyCpeqEUH58ZlTyGvHMD5/L46XVMJAWz5hRdp7oc5KRVt+7IhrNsqLwqRIp5jDXP8HjdnBOkuGb8FvnKSXwN4ydbR0PXXKIm1HSclJH2A3qjeYDuO1QJiE6UU/eB69sdTEfbnMqAaCPsFAbnCgvRZ+zowpVPqfZOs83812O8j+8UC8rEDyCtot26wLiz71Ccs5WzxQBVK02m258L5R43yb4NP9pXF8KZFg9vNpqTVHtX3p/PuMng6NSCbw2praghj8VFT849VPT0uGYRAEbx9uY3R+Y/GJtDlk4oYtMcA+56puudqGvPP96JhHYI5fr5M6IKewZTthG15P2li9dUCwwIDAQAB";
|
||||||
|
// 格式化
|
||||||
|
private static final String FORMAT = "json";
|
||||||
|
// 字符编码
|
||||||
|
private static final String CHARSET = "UTF-8";
|
||||||
|
// 签名类型
|
||||||
|
private static final String SIGN_TYPE = "RSA2";
|
||||||
|
|
||||||
|
private static final String NOTIFY_URL = "http://139.224.213.131:7008/pay/test";
|
||||||
|
|
||||||
|
private static final String SUBJECT = "订单充值";
|
||||||
|
|
||||||
|
public AlipayTradeCreateResponse startPay(String outTradeNo, String totalAmount) throws AlipayApiException {
|
||||||
|
// 创建客户端
|
||||||
|
AlipayClient alipayClient = new DefaultAlipayClient(
|
||||||
|
ALIPAY_GATEWAY,
|
||||||
|
APP_ID,
|
||||||
|
APP_PRIVATE_KEY,
|
||||||
|
FORMAT,
|
||||||
|
CHARSET,
|
||||||
|
ALIPAY_PUBLIC_KEY,
|
||||||
|
SIGN_TYPE);
|
||||||
|
|
||||||
|
// 创建API请求
|
||||||
|
AlipayTradeCreateRequest alipayRequest = new AlipayTradeCreateRequest();
|
||||||
|
alipayRequest.setNotifyUrl(NOTIFY_URL);
|
||||||
|
|
||||||
|
// 设置请求参数
|
||||||
|
alipayRequest.setBizContent("{" +
|
||||||
|
"\"out_trade_no\":\"" + outTradeNo + "\"," +
|
||||||
|
"\"total_amount\":\"" + totalAmount + "\"," +
|
||||||
|
"\"subject\":\"" + SUBJECT + "\"," +
|
||||||
|
"}");
|
||||||
|
|
||||||
|
// 发起支付请求并获取支付结果
|
||||||
|
return alipayClient.sdkExecute(alipayRequest);
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue