diff --git a/cloud-market2-server/src/main/java/com/muyu/market/server/config/MyAliPayConfig.java b/cloud-market2-server/src/main/java/com/muyu/market/server/config/MyAliPayConfig.java index 3bffb83..0d3e2b9 100644 --- a/cloud-market2-server/src/main/java/com/muyu/market/server/config/MyAliPayConfig.java +++ b/cloud-market2-server/src/main/java/com/muyu/market/server/config/MyAliPayConfig.java @@ -12,6 +12,7 @@ import javax.annotation.PostConstruct; @Component @ConfigurationProperties(prefix = "alipay") public class MyAliPayConfig { + private String appId; private String appPrivateKey; private String alipayPublicKey; diff --git a/cloud-market2-server/src/main/java/com/muyu/market/server/controller/AliPayController.java b/cloud-market2-server/src/main/java/com/muyu/market/server/controller/AliPayController.java index 4c9df14..f21fe0d 100644 --- a/cloud-market2-server/src/main/java/com/muyu/market/server/controller/AliPayController.java +++ b/cloud-market2-server/src/main/java/com/muyu/market/server/controller/AliPayController.java @@ -10,6 +10,7 @@ import com.muyu.market.server.config.MyAliPayConfig; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -31,7 +32,8 @@ public class AliPayController { private MyAliPayConfig myAliPayConfig; @GetMapping("/pay") - public void pay(AliPay aliPay, HttpServletResponse httpResponse) throws Exception{ + + public void pay(@Validated AliPay aliPay, HttpServletResponse httpResponse) throws Exception{ AlipayClient alipayClient = new DefaultAlipayClient(GATEWAY_URL, myAliPayConfig.getAppId(), myAliPayConfig.getAppPrivateKey(), FORMAT_JSON, CHARSET_UTF8, myAliPayConfig.getAlipayPublicKey(), SIGN_TYPE_RSA2); AlipayTradePagePayRequest request = new AlipayTradePagePayRequest(); @@ -40,7 +42,7 @@ public class AliPayController { aliPay.setTraceNo(UUID.randomUUID().toString().replaceAll("-","")); aliPay.setTotalAmount("100"); aliPay.setSubject("笔记本华硕"); - //===== + request.setBizContent("{\"out_trade_no\":\"" + aliPay.getTraceNo() + "\"," + "\"total_amount\":\"" + aliPay.getTotalAmount() + "\"," + "\"subject\":\"" + aliPay.getSubject() + "\"," @@ -52,9 +54,10 @@ public class AliPayController { e.printStackTrace(); } httpResponse.setContentType("text/html;charset=" + CHARSET_UTF8); - httpResponse.getWriter().write(form);// 直接将完整的表单html输出到页面 + //直接将完整的表单html输出到页面 + httpResponse.getWriter().write(form); httpResponse.getWriter().flush(); - httpResponse.getWriter().close(); + httpResponse.getWriter().close();; } @@ -74,6 +77,7 @@ public class AliPayController { String tradeNo = params.get("out_trade_no"); String gmtPayment = params.get("gmt_payment"); String alipayTradeNo = params.get("trade_no"); + // (不需要)支付宝验签 //if (Factory.Payment.Common().verifyNotify(params)) { // 验签通过 diff --git a/cloud-market2-server/src/main/resources/bootstrap.yml b/cloud-market2-server/src/main/resources/bootstrap.yml index 50e1004..01a4e91 100644 --- a/cloud-market2-server/src/main/resources/bootstrap.yml +++ b/cloud-market2-server/src/main/resources/bootstrap.yml @@ -59,4 +59,4 @@ alipay: appId: 9021000140631838 appPrivateKey: MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCWxZholdxU/C9Vh+4hjD4yWH5MUn3ZK7zkFKB09KY1Kz5k6t0fhcdMRbTaJulyQVL21wneb83f+5hhAzk9+j6RLrvIbE1YZyvt9uoUIpljMkEFyVL2L97/m/Bc+D+PMXMor0DxWMgdkGvmm/1Phjaoxr+HZn6WI1ZFXjKNdIUMNs8H5oLXkBpfTVDS8GLXfDxrUT2gx9g2AH8NJMLlWObHwG3ZPQenRg5szhjLHxuuNgcfJXyoW0agSnRqzn8QeYyq5H0XVElrtF+JbBsnvuUgJn/+h/oVoKeFekEYjfqogzx/1oROereXdEk3OxmzrlW0+EUYBEMViv7EGi0z8/jLAgMBAAECggEAYDm+OsmidK76+silZ83dCD7IZKelYEx04tBzVBGsXnS5/qiS9gJonzpB4ZVCGsSsUZQO3WNX7uLhbtEi4HZtJjXAbXsJpik6tUaIQM+QO+of67SA+VS2K0b4Ei3ySs6Ro96uQRqbpZq98tGNywpqqi8moCD/G410CxPCidta6t64jgMigJr1llhzUDNa6KnEZTTof0D9E4HPYm+zQelRa3xDSYojw3VGUr+Ar0gopsyYLUlUgJJLTA4nzKfL7CP0d2+9qrP7OvcpNexe9/PsXTh2rJPKqttYJjXTEzi4+a6GfpX/XF8E9mCAg1QyIl+wZtKhhJDdlwvFf58cddvgoQKBgQDU8znRH+/d253tFPhlqJcUpaNFPzv7r1R3WWt9e5QsHHy60r6CnDpHeu2Q+0xYfeqEonUstM8qCkNqFx68MghYp79SKSEXrPhELdV25GNvF1XjrNB8BNBgd+NO1FiSJjiwXHmZ9f+Sw967lVABZhCvykkKEORN/UVLEvxo+ppGMQKBgQC1QHfiQpmhmQ0mnok+s9VQtkdWl5SvYn0Urpghe31hjnUa30pGEPIlYhpJWpyN1kL77HHr9+NRDfR1pN1TDHf+P3Ru2Kue5C70vLqIWhVJxs6RKVAWAgnrfnBJsM4TVAR93uWHv8Livdj+wf3D/ZLb8FVeOa76pYeu4okAm8ojuwKBgA5AYOQwAPuWERGmz6DuEX5eP3kI7FjBuSNrppf1R0tUdLyEEh/nmLbj8TY8uzVI6AMMZE8joqGroitddL8fkhNs1o8HFaHh/5OAhcK5MjZjF2pvTFygbdmm7F2ANJVDXZPf/HtjTUFjPmrLaVlOnVtGbHDyBHV7t8F4edAExYJhAoGAUUKT/OarBh4eHUBae7gYXNU76oCO8oqPVWRpZCl/Luu1aNTO8dbLGSOAcX6kTZrP8S4ybP539XDyNoQxjfg7G8vLIZ8WYmge/S5X2qW4gZkWJ1KESzmixOes4/zWhyfV07DI6zF36DwBO0YxxVq8Ksr3GwV1g34O9MMvdQxjdd0CgYBu00EaXBQaxANpO+6oH3KECxvxspKZvk4exI72OFbZ1mZayHNG7BVyfuAMNNp/SRoFXGC4/dVq+tycIOQutvRHrBSRRsv1db8No1j8oEYHvQ5br7OxjS941S/KWeIZefBAyajyCzUjIDZBRTBMGVyJ2p2c/SdUmPs2XTMQnG+mUg== alipayPublicKey: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvAodOIG6vaqMsl5DXjcRYPRro+C/SeTswVo5gqQdikK3qy118GWkVwL9gvEovq23EMCTmSV+KAFsHz8f0UxLEK9FZcfRuM5E7GfnP7sdY0ctjfmUhQ7fWVOTGLuH0h5DiQ+4voO/2Hi6SElvtLXAUBSqMKw6J0PsJ0uUY9CBZCQnZkFJWAAroUWw5ARUMy62KPZSAW2s8Qg4gacdhSk7SBACNGBFcJZHCS09xQJi5SxCHaTRLhhIckLBvuKEWhBsh+jU75BKYAC4ovoWhMAFnIWKwCmubhXqmYjuJ4egUQTQBbD1hasK99I1YzdXRH8OKwKD4Lufb42B9buZ/2hOywIDAQAB - notifyUrl: http://lihongxiang.natapp1.cc/alipay/notify + notifyUrl: http://12.2.1.1:8080/market2/alipay/notify