package com.ruoyi.web.controller.tool;
|
|
import com.alipay.api.*;
|
import com.alipay.api.domain.*;
|
import com.alipay.api.internal.util.AlipaySignature;
|
import com.alipay.api.request.AlipayTradeQueryRequest;
|
import com.alipay.api.request.AlipayTradeRefundRequest;
|
import com.alipay.api.response.AlipayTradePagePayResponse;
|
import com.alipay.api.request.AlipayTradePagePayRequest;
|
import com.alipay.api.response.AlipayTradeQueryResponse;
|
import com.alipay.api.response.AlipayTradeRefundResponse;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import java.util.Base64;
|
import java.util.ArrayList;
|
import java.util.List;
|
public class AlipayTradePagePay {
|
|
public static String pay(String title,String code,String money) throws AlipayApiException {
|
// 初始化SDK
|
AlipayClient alipayClient = new DefaultAlipayClient(getAlipayConfig());
|
|
// 构造请求参数以调用接口
|
AlipayTradePagePayRequest request = new AlipayTradePagePayRequest();
|
AlipayTradePagePayModel model = new AlipayTradePagePayModel();
|
// 设置订单标题
|
model.setSubject(title);
|
// 设置产品码
|
model.setProductCode("FAST_INSTANT_TRADE_PAY");
|
// 设置PC扫码支付的方式
|
model.setQrPayMode("3");
|
// 设置商户订单号
|
model.setOutTradeNo(code);
|
// 设置订单总金额
|
model.setTotalAmount(money);
|
|
request.setBizModel(model);
|
// 第三方代调用模式下请设置app_auth_token
|
// request.putOtherTextParam("app_auth_token", "<-- 请填写应用授权令牌 -->");
|
AlipayTradePagePayResponse response = alipayClient.pageExecute(request, "POST");
|
// 如果需要返回GET请求,请使用
|
// AlipayTradePagePayResponse response = alipayClient.pageExecute(request, "GET");
|
String pageRedirectionData = response.getBody();
|
System.out.println(pageRedirectionData);
|
|
|
if (response.isSuccess()) {
|
System.out.println("调用成功");
|
} else {
|
System.out.println("调用失败");
|
// sdk版本是"4.38.0.ALL"及以上,可以参考下面的示例获取诊断链接
|
// String diagnosisUrl = DiagnosisUtils.getDiagnosisUrl(response);
|
// System.out.println(diagnosisUrl);
|
}
|
return pageRedirectionData;
|
}
|
|
|
public static void refund(String money,String outNo) throws AlipayApiException {
|
// 初始化SDK
|
AlipayClient alipayClient = new DefaultAlipayClient(getAlipayConfig());
|
|
// 构造请求参数以调用接口
|
AlipayTradeRefundRequest request = new AlipayTradeRefundRequest();
|
AlipayTradeRefundModel model = new AlipayTradeRefundModel();
|
|
// 设置商户订单号
|
model.setOutTradeNo(outNo);
|
|
|
|
// 设置退款金额
|
model.setRefundAmount(money);
|
|
// 设置退款原因说明
|
model.setRefundReason("正常退款");
|
|
|
|
|
request.setBizModel(model);
|
// 第三方代调用模式下请设置app_auth_token
|
// request.putOtherTextParam("app_auth_token", "<-- 请填写应用授权令牌 -->");
|
|
AlipayTradeRefundResponse response = alipayClient.execute(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);
|
}
|
}
|
|
|
public static void main(String[] args) throws AlipayApiException {
|
// 初始化SDK
|
AlipayClient alipayClient = new DefaultAlipayClient(getAlipayConfig());
|
|
// 构造请求参数以调用接口
|
AlipayTradeQueryRequest request = new AlipayTradeQueryRequest();
|
AlipayTradeQueryModel model = new AlipayTradeQueryModel();
|
|
// 设置订单支付时传入的商户订单号
|
model.setOutTradeNo("KC202410241014151729736055081");
|
|
|
|
|
|
request.setBizModel(model);
|
// 第三方代调用模式下请设置app_auth_token
|
// request.putOtherTextParam("app_auth_token", "<-- 请填写应用授权令牌 -->");
|
|
AlipayTradeQueryResponse response = alipayClient.execute(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);
|
}
|
}
|
|
|
private static AlipayConfig getAlipayConfig() throws AlipayApiException {
|
String privateKey = "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCMfMyRu0w45qXmyw2KdUCX+gE+mT9lPFahJwkWHVQMh7M0tiU3H7sFFG40+VLK8sBfBhtzkogasJ6en/WYEzIC0iRw0s1jj12Ja06Xy67+h4dlB97489Hc1YOcQ+14ZatGkZUhtjJ51pw77cEjKZ+/9Xx2P2mWUI7FPpGwSJmBI4gBO7Mu3qcQ5e0RqIdqXKOvnk4pA98SUeYHfWN/XIzqI1UAzyuY/wZuIzKvTdgWtC41oidf0ngZua7HLr8cJrndPIu1YALs7L4RgPSjL/5HDAQ991QwAs4ByRGEStx2HZ/o6CddZ8x831GGEtCI3q1tn+7OJrcCzt803iVTys+ZAgMBAAECggEAOfj14d1MYt6q70YzXENuWEiOYuqSQpBXn0Cge0O2/0SwKrxPNyQc5Me9gpawF5d80rmOcm6xQ3JGwmZ3zj19kbRt3TDgGIl8q8xgLjubBuWedY598HWM0Hg7SyysvdYWi5Rf2f15btWkuwYtgPkYNvpyVcltJN4xTCu5qukKj0Mhgxtp7/rnAFYtJSf/2GlL1jEhiE2nmcVLX7qBUG4k4jwcQal7Y+dNhoU7ZT4d5kYnZQ3tT/nHXDJSlj/uZAjKMAw5EGSKw4gnfCg2vqo9uF/ni0JxbwV1oC4mfGK3JQv4ZcszIlo25laRPRNsIxlPRF9uhVKEBq3L7O5i+ZzBUQKBgQDIxpYOuxL7VUIIa1WRKDl4YuxcM6QgX6V5L9UnidCwo72IhT6CkPQVu8uHx55qPI8UpVhbYYrxYH5xCYoZ0+fK6LRK9wMJUjL6Gg/HjXTbGyzcIoIaJ0JA4hHPD2onrWbNWwjylTzu1w4opWArexD6rX8WavS3mfZC04fw6oRZ5wKBgQCzIRR2CVnvtNnzAa36YbSQviCMlRfNxfnPDXHGjWMReHuMDxFQHPTGsB7HA8QmIjM1GTFaHhgNAl6BGIgDo+KPwbIVFJCXiQ2k4Il+znYRxFXmTqGsOARl19oIFXLUI0sy3TOFYVDBjBfk4ICTpn8IKACOvAPUFOJHid4P/GFafwKBgQC6pMHCl+4hbzSflwhIlNg4Ld4EKI2e+stdSTYiN1+lldIQI63kutPtkFK4ur1tjTaFvt/Qs3Dyyv1AH9oeAHwuiP1x4wcTlzKEhc29eKb1OOIPEpVXsr9IieB8WJwannw+0y4SNOIcNheXeYVZZmJ2ZusJ8Avm0l236eUp9RlsaQKBgHPFvIixcIwpkfeqLTy3K1GlYDocHl9jRhpZMSDHvrDK8ubJ0kG6BUXpDGtJ9ttCnWADIU+CRb8aueOr7DSWFlcdNDDFstINxWC7soHfhJXlFDOevIUnS0hbYtJ4sleDXBXKu4LIK758AfFuXAuRv2aRHBMkV0EaIklkRL6GOpGXAoGBAKbNBXmOqTxl6bKD9Jlpcn6Kq06feK7dzRoGdG3x1eY6DrJu40Wsi71QYSz5MLTxcJLNIfnuMoQPPQrPcX98GCy0OnVH7KLMoztEs15TlHPJF1BQAJlHhmzwHB5UNpC2fP6x9WaAow0YD7/BL59QLH989+baFdw4ZmQk2iEF5u2b";
|
String alipayPublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjHzMkbtMOOal5ssNinVAl/oBPpk/ZTxWoScJFh1UDIezNLYlNx+7BRRuNPlSyvLAXwYbc5KIGrCenp/1mBMyAtIkcNLNY49diWtOl8uu/oeHZQfe+PPR3NWDnEPteGWrRpGVIbYyedacO+3BIymfv/V8dj9pllCOxT6RsEiZgSOIATuzLt6nEOXtEaiHalyjr55OKQPfElHmB31jf1yM6iNVAM8rmP8GbiMyr03YFrQuNaInX9J4Gbmuxy6/HCa53TyLtWAC7Oy+EYD0oy/+RwwEPfdUMALOAckRhErcdh2f6OgnXWfMfN9RhhLQiN6tbZ/uzia3As7fNN4lU8rPmQIDAQAB";
|
AlipayConfig alipayConfig = new AlipayConfig();
|
alipayConfig.setServerUrl("https://openapi.alipay.com/gateway.do");
|
alipayConfig.setAppId("2021004184657725");
|
alipayConfig.setPrivateKey(privateKey);
|
alipayConfig.setFormat("json");
|
alipayConfig.setAlipayPublicKey(alipayPublicKey);
|
alipayConfig.setCharset("UTF-8");
|
alipayConfig.setSignType("RSA2");
|
return alipayConfig;
|
//
|
// AlipayConfig alipayConfig = new AlipayConfig();
|
////设置网关地址
|
// alipayConfig.setServerUrl("https://openapi.alipay.com/gateway.do");
|
////设置应用APPID
|
// alipayConfig.setAppId("2021004184657725");
|
////设置应用私钥
|
// alipayConfig.setPrivateKey("MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCgySquVPl9gQCBvyQHLkdXIDhBDLJ0bhzr4SPxWGjw4M+HpAl0tlBypksxCcOWqMi9b2DOVI8sUB6wIRDYRajOpPMiMTb93DZNSSXOn4lh+kX1y5LOaT1MQ92GyGRdjWLG4NOF+Zrdy1+zaoYmE64IUE/xBOV4C5uVMyHnFqcH2aqGXKUE4wW1rrX2FoMgkqunFh6kUVPKWlLzXH3dTvI5kSZPHW/G5e+XQ4eoRDv8hj0Sn3BhL71nHEsvR6lvfV97Ra498kWQGChl/ypHJaxBqJVn/4TFJEG/Dzsr4sF5UuO1UInEobZ+u20rEyse3E51Ww+mfGFD+5a1dXco/ER5AgMBAAECggEAa/3xrtngIM2ue3bYSgJpZDl9zyMqEU2MG1pCe+23vmIgwagJudxiOD89LZizR9Ph0GqoiKz+5PKDSiVLXRecg/8CVqrblrJ7vnks7ZT1/1rL9oVe+0hwJXNHrSmXT8aQ26dSKyA1Rlc81hLsO1Lohyj6KJXzUifpvdJ0KPRsB7azThYw/FZ+Raphgm91UD5fLb0RjDHPD239pLLDn8QjFYu4JWRw/NOpI8/svnnONV9P4mPjhBalG48f4Qg0ToiZXjqZb2N3pox5zLjcYx+MYhfA/1P9rG3DWMnnCQVM1x83u80tNAi6PKC4SNSxldRANQJ8QSviOTrhhVNmd3QJoQKBgQD2K8DsvNbL+L/rxMiMVd6KHOkyxr/W81TgLqOTJrT0blMWbStDEH4D4J8pA9+oaf9+kV5hcC3M8lI+CstVb2zrIfjksF96Imt0xfrpb2le/0dfeQv7c8Jg7JMsrHluNwPYdOFDR1o4Z+7hQr0MuqSQIgGA1y+HmzLPBROEynX6vQKBgQCnNKVJUxDf5/06vDoQVigi6WD0I82+Y3GL1J7QS3nQPBlmqNfQsvuDrvWCL564B9V4n7ryTfdn3XXyS73pNMj6lZkvhwIIhHvD9eOP4StOGU7HpdpBTd90TsjHm/0DNTYT2miXzIOgWQ8HB90uuB4SggALmHrJdi4uFLAuoKuqbQKBgQClikC/MjHjklBFVNxj+q6fA9gRzDNfcdymsNZQ8xuGr9Xx49HO1H1ZUCjXpQI3N6iXTVxBe/Vgt6d0jz+zIS4GZJ8B8lUSRakrKqOTbNdYCaTOYBEds/eHxC8oQIecBSTx349H9eiGu+WY149Xyv806ZlHMe2FbGlba5d3mcqCpQKBgBYEkrdjHte9PtVbL/IyxjpCrSe5B0DI64zURM19At9u6pFgLnsm9oPSqDWqe6YUMgIeVonNxoSA3yU24B0zfDuzM2bUymnAuGOHn520svUn0/3qUyFCVeiE71+JpPmlKifXHOrQXYzh7V6ppHCggiVBxSvBunmI/G/I/aJGOhTJAoGBAKpb7Ld1ZLBCq5lvebRUwcbzSDkvq5YmJ9JKkZJo5tH29vSuy8wrCdOG5Dtu7naJTovHRM/qvrcNQoexHPBB2KPqrYPyIrsBHcqQ5WEQ/1aBUh/lNge6bmO4sr2wSrdXTkSCeMtFs4n6KYnvL0pF7Bu8RTGlAXN7MO/oDXo8Vflq");
|
////设置应用公钥证书路径
|
// alipayConfig.setAppCertPath("C:\\Users\\Admin\\Desktop\\2021004184657725\\appCertPublicKey_2021004184657725.crt");
|
////设置支付宝公钥证书路径
|
// alipayConfig.setAlipayPublicCertPath("C:\\Users\\Admin\\Desktop\\2021004184657725\\alipayCertPublicKey_RSA2.crt");
|
////设置支付宝根证书路径
|
// alipayConfig.setRootCertPath("C:\\Users\\Admin\\Desktop\\2021004184657725\\alipayRootCert.crt");
|
////设置请求格式,固定值json
|
// alipayConfig.setFormat("json");
|
////设置字符集
|
// alipayConfig.setCharset("utf-8");
|
////设置签名类型
|
// alipayConfig.setSignType("RSA2");
|
//
|
// String publicKey = AlipaySignature.getAlipayPublicKey("C:\\Users\\Admin\\Desktop\\2021004184657725\\appCertPublicKey_2021004184657725.crt");
|
// System.out.println("publicKey:"+publicKey);
|
// return alipayConfig;
|
}
|
}
|