From 664fd0ecb3b7c1f981b8243aa0d689cfc6f4a4cb Mon Sep 17 00:00:00 2001 From: dimengzhe <251008545@qq.com> Date: Fri, 31 Mar 2023 10:06:31 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E5=BC=8F=E6=94=AF=E4=BB=98=E5=AE=9D?= =?UTF-8?q?=E9=80=80=E6=AC=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../OmsOrderReturnApplyController.java | 64 +++++++++++++++---- 1 file changed, 53 insertions(+), 11 deletions(-) diff --git a/mallplus-admin/src/main/java/com/zscat/mallplus/oms/controller/OmsOrderReturnApplyController.java b/mallplus-admin/src/main/java/com/zscat/mallplus/oms/controller/OmsOrderReturnApplyController.java index e42fefb..368ed7b 100644 --- a/mallplus-admin/src/main/java/com/zscat/mallplus/oms/controller/OmsOrderReturnApplyController.java +++ b/mallplus-admin/src/main/java/com/zscat/mallplus/oms/controller/OmsOrderReturnApplyController.java @@ -3,6 +3,7 @@ package com.zscat.mallplus.oms.controller; import com.alibaba.fastjson.JSONObject; import com.alipay.api.AlipayApiException; import com.alipay.api.AlipayClient; +import com.alipay.api.CertAlipayRequest; import com.alipay.api.DefaultAlipayClient; import com.alipay.api.domain.AlipayTradeQueryModel; import com.alipay.api.domain.AlipayTradeRefundModel; @@ -25,6 +26,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.extern.slf4j.Slf4j; +import org.nutz.lang.random.R; import org.springframework.beans.factory.annotation.Value; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; @@ -182,7 +184,7 @@ public class OmsOrderReturnApplyController { //退货成功后,退款 //根据订单号 //根据orderId查询订单号 - if(status == 1){ + if (status == 1) { OmsOrder omsOrder = IOmsOrderService.getById(orderId); String str = queryPayment(omsOrder.getOrderSn()); JSONObject jsonObject = JSONObject.parseObject(str); @@ -234,6 +236,55 @@ public class OmsOrderReturnApplyController { } + /** + * 调式支付宝公钥证书退款 + * @param args + */ + public static void main(String[] args) { + CertAlipayRequest certAlipayRequest = new CertAlipayRequest(); + certAlipayRequest.setServerUrl("https://openapi.alipay.com/gateway.do");//设置网关地址 + certAlipayRequest.setAppId("2018082761134635");//设置应用Id + certAlipayRequest.setPrivateKey("MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCpYi38h2/25e4mNWo56mmwuwa7QbBbPdgH00rsmPI/+0JkYhda2uZDvtrFXWMLzVJ2ioh9pamcfUbb2LcFgLIJ0KJyTia4sVMHmbk9l8wPf9mE4aOYN8ix6olzkm9ZhDGVekx2niW/hf6bpjnh92+I4EZo4xsK3RAsQ9oDXPjrJzktrrerAP+5MNOY8wLRqOp0KU+bOIcsz4Wz+qD3UxP2PjXPJDvXu7NkYDndOc7G0tVnhzVahFafqAntbgQHMyJENhLl9xdbnYdiKQqZJUwfI9xlRKYk08P4YVYTL7dAGAibQJJamgqmmKo8uibDIMkLsTGNm5WzW3EErWOCl6wlAgMBAAECggEAXfyxgbdxRDHPlHn9KIfO/5a3pH5NqkNFtQnkQCaZ/TChZWwcg3iFXr/vSqaICAt1H3u9QuMCm2fUQrcczzvbDqErEnwU9lTGuqfs5qVtQIhznU1K5nLFtRtsC6oMiUJV9Rh4hzU3wu9KGPoCkkUnKW8xApBJ+Bw0FivMNCOJp4kipif0gXQFxDH14w8n4QAyG3keXYP43DPqlsjmjJm4inHajxNO012Snle5SqA5HaIrZzf9St3ctq1BzqgUaD5yyXPmPyi1sqjrK+A16R4DrbKlY2h3/mo1IIfPjYbjb/uPcHf9pDMxEFwYIZ+kkz0uUjRDNWVX3A7ldav8MvvZ/QKBgQDot2raw93blrEhld3GGY4JNxboi6UZ1guK2nDEjlnpZjDUklSlNsx82NM8g0bm76Q9A3WpuoHQoSGEIy9ElrMuNS7xj+PZe5mNyKFMBG8hKeIV3jx4OIU80aiV9OQLv6+AonavHvOLXu41OJKdoQexyz7q3lu0+i7d9KKbWd2SlwKBgQC6VJxj1KPh3kHtmm/d/5fOZUDLqxTOyexRrEUCj9hGjv5XymxULQPskKxasFKiPyn4TCp2ZOrPO1slu8IUpzaymM4DDQYtTQkbsAT/N6r9efCJTXDdTgm5iyTaILbSbqd01KEnqjmFLOSCpasvM47rARlG4IYXIXD9cXKj12AaowKBgAN7w2C079w6nDopeSFe/o5KwdAHTxhc6N1SOb/ndZcVzYNREW1LrbHsuPS97lDEo4u6Qoeg4BKUZuEIecuoCdSWPTamdb2qqPjDWQ6/Pj6b1uOG6RbPmcb4SHK+MK+wVdsyE165suGSMTSgvSkY4PmbVjzDyVGjMRJneAulQ7jPAoGAViCIDWkbu2q1xLNPJClhrSiGU94nhxI05uefGnkM+khcbo4Flr8cAjw5Ps4j1BUoPDpQolsxYkrIbd+k7VEBanpRN33MriHepOqu1J2RrwqvUXf3RIQu4JHdnenjN8+oHcuvFhuL7O/8TBtxziah2CSw318m/AgcJzpKSEtkg8sCgYB/cr6PuuQ7JpK2kYmwYMSwNvys0v31iSqFmJK6EyPRycGw9Wj/ANiGJrKuVqdnzb2LqSzdNWkKte25hSIv21satgHM2of7oFzjFB2N/hMx5o+nOQgq0zZcA6Mvn0W3GFFZ1YAep3oyrxLh9+5ELi2JGXgJafiEJvr5J3YzSGOWrw=="); //设置应用私钥 + certAlipayRequest.setFormat("json"); //设置请求格式,固定值json + certAlipayRequest.setCharset("UTF8");//设置字符集 + certAlipayRequest.setSignType("RSA2"); //设置签名类型 + certAlipayRequest.setCertPath("D:\\apliay\\appCertPublicKey_2018082761134635.crt");//设置应用公钥证书路径 ,一定是本地的绝对路径 + certAlipayRequest.setAlipayPublicCertPath("D:\\apliay\\alipayCertPublicKey_RSA2.crt"); //设置支付宝公钥证书路径,一定是本地的绝对路径 + certAlipayRequest.setRootCertPath("D:\\apliay\\alipayRootCert.crt"); +// AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", "2018082761134635", "MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCpYi38h2/25e4mNWo56mmwuwa7QbBbPdgH00rsmPI/+0JkYhda2uZDvtrFXWMLzVJ2ioh9pamcfUbb2LcFgLIJ0KJyTia4sVMHmbk9l8wPf9mE4aOYN8ix6olzkm9ZhDGVekx2niW/hf6bpjnh92+I4EZo4xsK3RAsQ9oDXPjrJzktrrerAP+5MNOY8wLRqOp0KU+bOIcsz4Wz+qD3UxP2PjXPJDvXu7NkYDndOc7G0tVnhzVahFafqAntbgQHMyJENhLl9xdbnYdiKQqZJUwfI9xlRKYk08P4YVYTL7dAGAibQJJamgqmmKo8uibDIMkLsTGNm5WzW3EErWOCl6wlAgMBAAECggEAXfyxgbdxRDHPlHn9KIfO/5a3pH5NqkNFtQnkQCaZ/TChZWwcg3iFXr/vSqaICAt1H3u9QuMCm2fUQrcczzvbDqErEnwU9lTGuqfs5qVtQIhznU1K5nLFtRtsC6oMiUJV9Rh4hzU3wu9KGPoCkkUnKW8xApBJ+Bw0FivMNCOJp4kipif0gXQFxDH14w8n4QAyG3keXYP43DPqlsjmjJm4inHajxNO012Snle5SqA5HaIrZzf9St3ctq1BzqgUaD5yyXPmPyi1sqjrK+A16R4DrbKlY2h3/mo1IIfPjYbjb/uPcHf9pDMxEFwYIZ+kkz0uUjRDNWVX3A7ldav8MvvZ/QKBgQDot2raw93blrEhld3GGY4JNxboi6UZ1guK2nDEjlnpZjDUklSlNsx82NM8g0bm76Q9A3WpuoHQoSGEIy9ElrMuNS7xj+PZe5mNyKFMBG8hKeIV3jx4OIU80aiV9OQLv6+AonavHvOLXu41OJKdoQexyz7q3lu0+i7d9KKbWd2SlwKBgQC6VJxj1KPh3kHtmm/d/5fOZUDLqxTOyexRrEUCj9hGjv5XymxULQPskKxasFKiPyn4TCp2ZOrPO1slu8IUpzaymM4DDQYtTQkbsAT/N6r9efCJTXDdTgm5iyTaILbSbqd01KEnqjmFLOSCpasvM47rARlG4IYXIXD9cXKj12AaowKBgAN7w2C079w6nDopeSFe/o5KwdAHTxhc6N1SOb/ndZcVzYNREW1LrbHsuPS97lDEo4u6Qoeg4BKUZuEIecuoCdSWPTamdb2qqPjDWQ6/Pj6b1uOG6RbPmcb4SHK+MK+wVdsyE165suGSMTSgvSkY4PmbVjzDyVGjMRJneAulQ7jPAoGAViCIDWkbu2q1xLNPJClhrSiGU94nhxI05uefGnkM+khcbo4Flr8cAjw5Ps4j1BUoPDpQolsxYkrIbd+k7VEBanpRN33MriHepOqu1J2RrwqvUXf3RIQu4JHdnenjN8+oHcuvFhuL7O/8TBtxziah2CSw318m/AgcJzpKSEtkg8sCgYB/cr6PuuQ7JpK2kYmwYMSwNvys0v31iSqFmJK6EyPRycGw9Wj/ANiGJrKuVqdnzb2LqSzdNWkKte25hSIv21satgHM2of7oFzjFB2N/hMx5o+nOQgq0zZcA6Mvn0W3GFFZ1YAep3oyrxLh9+5ELi2JGXgJafiEJvr5J3YzSGOWrw==", "json", "utf-8", "D:\\apliay\\alipayCertPublicKey_RSA2.crt", "RSA2"); + AlipayClient alipayClient = null; + AlipayTradeQueryRequest alipay_request = new AlipayTradeQueryRequest(); + AlipayTradeRefundModel model = new AlipayTradeRefundModel(); + model.setOutTradeNo("16801672192750100382"); +// model.setRefundAmount("2"); + alipay_request.setBizModel(model); + try { + alipayClient = new DefaultAlipayClient(certAlipayRequest); + //查询订单 + AlipayTradeQueryResponse alipay_response = alipayClient.certificateExecute(alipay_request); + String queryPaymentStr = alipay_response.getBody(); + JSONObject jsonObject = JSONObject.parseObject(queryPaymentStr); + String alipayTradeQueryResponse = jsonObject.getString("alipay_trade_query_response"); + JSONObject jsonObject2 = JSONObject.parseObject(alipayTradeQueryResponse); + String out_trade_no = jsonObject2.getString("out_trade_no"); + String trade_no = jsonObject2.getString("trade_no"); + String refund_amount = jsonObject2.getString("total_amount"); + AlipayTradeRefundRequest alipayTradeRefundRequest = new AlipayTradeRefundRequest(); + model.setOutTradeNo(out_trade_no); + model.setRefundAmount(refund_amount); + model.setTradeNo(trade_no); + alipayTradeRefundRequest.setBizModel(model); + //公钥证书,一定要使用这个构造方法 + AlipayTradeRefundResponse alipay_response1 = alipayClient.certificateExecute(alipayTradeRefundRequest); + queryPaymentStr = alipay_response1.getBody(); + + System.out.println(queryPaymentStr); + } catch (AlipayApiException e) { + e.printStackTrace(); + } + + } + /** * 支付宝订单退款 * @@ -244,7 +295,7 @@ public class OmsOrderReturnApplyController { */ public String alipayRefund(String out_trade_no, String trade_no, String refund_amount) { // AlipayClient alipayClient = new DefaultAlipayClient(InterfaceUrl.serverUrl, InterfaceUrl.appId, InterfaceUrl.privateKey, "json", "utf-8", InterfaceUrl.publicKey, "RSA2"); - AlipayClient alipayClient = new DefaultAlipayClient(GATE, APPID, APP_PRIVATE_KEY, "json", "utf-8", ALIPAY_PUBLIC_KEY, "RSA2"); + AlipayClient alipayClient = new DefaultAlipayClient(GATE, APPID, APP_PRIVATE_KEY, "json", "utf-8", ALIPAY_PUBLIC_KEY, "RSA2"); //订单编号 支付宝交易号不为空 if (out_trade_no != null && trade_no != null) { AlipayTradeRefundRequest alipay_request = new AlipayTradeRefundRequest(); @@ -268,13 +319,4 @@ public class OmsOrderReturnApplyController { return null; } - - - public void main(String[] args) { - String out_trade_no = ""; - String trade_no =""; - String refund_amount =""; - String returnRe = alipayRefund(out_trade_no,trade_no,refund_amount); - - } }