src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -329,13 +329,14 @@ }else{ unipayDto.setProductName(items.get(0).getGoodsName()); } String unipayStr = unipayService.unipay(unipayDto); if("fail" == unipayStr){ String unipayStr = payService.aliPay(orderInfo); JSONObject jsonObjectRes = JSONUtil.parseObj(unipayStr); Object alipay_trade_app_pay_response = jsonObjectRes.get("alipay_trade_app_pay_response"); JSONObject parseObj = JSONUtil.parseObj(alipay_trade_app_pay_response); payResultStr = (String) parseObj.get("msg"); rcResult = (String) parseObj.get("code"); if(!"10000".equals(rcResult) || !"Success".equals(payResultStr) ){ throw new FebsException("支付失败"); }else{ JSONObject jsonObject = JSONUtil.parseObj(unipayStr); payResultStr = (String) jsonObject.get("r7_TrxNo"); rcResult = (String) jsonObject.get("rc_Result"); } orderInfo.setPayOrderNo(payResultStr); orderInfo.setPayMethod("支付宝支付"); @@ -434,20 +435,20 @@ return map; } public static void main(String[] args) { String str = "{\"biz_code\":\"JS000000\",\"biz_msg\":\"成功\",\"data\":\"{\\\"order_status\\\":\\\"P2000\\\",\\\"jp_order_no\\\":\\\"100120220826446740396081496064\\\",\\\"err_msg\\\":\\\"短信验证码不符\\\",\\\"err_code\\\":\\\"CP110026\\\",\\\"sign_no\\\":\\\"\\\",\\\"mch_order_no\\\":\\\"NO_2022082618263952399\\\"}\",\"mch_no\":\"888118000001971\",\"rand_str\":\"an2w7ulf5ru6upkk5bdg441kdi3gnpvu\",\"resp_code\":\"SUCCESS\",\"sec_key\":\"\",\"sign\":\"NiJXRTSIZ9xZMUOwEHiEHdZXmgL2cHUU5WUa1NbMRRzui0DIiuZSW4e31LjnBxwVwmy3uuPMP+tqhY8VLyC8uCFOdGdZI7e72VuRvyvaiW7/sqCrsfgPOBEjiGE/CmSMRoEXv9HmqCyNBF6iHSEhQJql5Yge30dQdyB6xFfqjk0=\",\"sign_type\":\"2\"}"; JSONObject jsonObject = JSONUtil.parseObj(str); String payResultStr = (String) jsonObject.get("biz_code"); String signBizMsg = (String) jsonObject.get("biz_msg"); String signData = (String) jsonObject.get("data"); JSONObject signDatajsonObject = JSONUtil.parseObj(signData); String err_msg = (String) signDatajsonObject.get("err_msg"); if(ObjectUtil.isNotNull(signDatajsonObject.get("err_code"))){ System.out.println(err_msg); } } // public static void main(String[] args) { // String str = "{\"biz_code\":\"JS000000\",\"biz_msg\":\"成功\",\"data\":\"{\\\"order_status\\\":\\\"P2000\\\",\\\"jp_order_no\\\":\\\"100120220826446740396081496064\\\",\\\"err_msg\\\":\\\"短信验证码不符\\\",\\\"err_code\\\":\\\"CP110026\\\",\\\"sign_no\\\":\\\"\\\",\\\"mch_order_no\\\":\\\"NO_2022082618263952399\\\"}\",\"mch_no\":\"888118000001971\",\"rand_str\":\"an2w7ulf5ru6upkk5bdg441kdi3gnpvu\",\"resp_code\":\"SUCCESS\",\"sec_key\":\"\",\"sign\":\"NiJXRTSIZ9xZMUOwEHiEHdZXmgL2cHUU5WUa1NbMRRzui0DIiuZSW4e31LjnBxwVwmy3uuPMP+tqhY8VLyC8uCFOdGdZI7e72VuRvyvaiW7/sqCrsfgPOBEjiGE/CmSMRoEXv9HmqCyNBF6iHSEhQJql5Yge30dQdyB6xFfqjk0=\",\"sign_type\":\"2\"}"; // // JSONObject jsonObject = JSONUtil.parseObj(str); // String payResultStr = (String) jsonObject.get("biz_code"); // String signBizMsg = (String) jsonObject.get("biz_msg"); // String signData = (String) jsonObject.get("data"); // // JSONObject signDatajsonObject = JSONUtil.parseObj(signData); // String err_msg = (String) signDatajsonObject.get("err_msg"); // if(ObjectUtil.isNotNull(signDatajsonObject.get("err_code"))){ // System.out.println(err_msg); // } // } private String balancePay(MallOrderInfo orderInfo, String tradePwd, String field) { if (StrUtil.isBlank(tradePwd)) { @@ -803,4 +804,31 @@ return apiScoreSetVo; } public static void main(String[] args) { String unipayStr = "{\n" + " \"alipay_trade_app_pay_response\": {\n" + " \"code\": \"10000\",\n" + " \"msg\": \"Success\",\n" + " \"app_id\": \"2014072300007148\",\n" + " \"auth_app_id\": \"2014072300007148\",\n" + " \"charset\": \"utf-8\",\n" + " \"timestamp\": \"2016-10-11 17:43:36\",\n" + " \"out_trade_no\": \"081622560194853\",\n" + " \"total_amount\": \"9.00\",\n" + " \"trade_no\": \"2016081621001004400236957647\",\n" + " \"seller_id\": \"2088702849871851\"\n" + " },\n" + " \"sign\": \"NGfStJf3i3ooWBuCDIQSumOpaGBcQz+aoAqyGh3W6EqA/gmyPYwLJ********\",\n" + " \"sign_type\": \"RSA2\"\n" + "}"; JSONObject jsonObjectRes = JSONUtil.parseObj(unipayStr); Object alipay_trade_app_pay_response = jsonObjectRes.get("alipay_trade_app_pay_response"); JSONObject parseObj = JSONUtil.parseObj(alipay_trade_app_pay_response); String payResultStr = (String) parseObj.get("msg"); String rcResult = (String) parseObj.get("code"); System.out.println(payResultStr); System.out.println(rcResult); } } src/main/java/cc/mrbird/febs/pay/service/impl/AliPayServiceImpl.java
@@ -94,11 +94,11 @@ return; } MallMember member = memberService.getById(orderInfo.getMemberId()); if (AgentLevelEnum.ZERO_LEVEL.name().equals(member.getLevel())) { member.setLevel(AgentLevelEnum.SECOND_LEVEL.name()); memberService.updateById(member); } // MallMember member = memberService.getById(orderInfo.getMemberId()); // if (AgentLevelEnum.ZERO_LEVEL.name().equals(member.getLevel())) { // member.setLevel(AgentLevelEnum.SECOND_LEVEL.name()); // memberService.updateById(member); // } orderInfo.setStatus(OrderStatusEnum.WAIT_SHIPPING.getValue()); orderInfo.setPayResult("1"); @@ -107,7 +107,7 @@ orderInfoMapper.updateById(orderInfo); // agentProducer.sendReturnMoneyMsg(orderInfo.getId()); agentProducer.sendAutoLevelUpMsg(orderInfo.getMemberId()); // agentProducer.sendAutoLevelUpMsg(orderInfo.getMemberId()); // memberService.addMoneyFlow(orderInfo.getMemberId(), orderInfo.getAmount().negate(), MoneyFlowTypeEnum.PAY.getValue(), orderInfo.getOrderNo(), null, null, null, null, FlowTypeEnum.BALANCE.getValue()); } src/main/resources/application-prod.yml
@@ -48,16 +48,27 @@ password: zj_mall123 publisher-confirm-type: correlated #pay: # ali: # appId: 2016120704000539 # # 支付宝公钥 # publicKey: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAobfti31eIy4U59JUrL+eMosuY97jk444eFyMeoxkG1ljJ3GytPV7YlLL6TVgvON6eR0eFvWKK4MoTEW0TkpxgmuurkpTSXDB0bNiuYJQyiju4Bikt83dQo64YKYDSwBNA9hFPHFM1mhWpJM/3mYjbbLT9AoL8q+n1fBxFtcAMmxXBqZiECT8qzuTV3VfTufXsNhY9LJXcDkAr98GZDEbH+Zhr5die2Rzpvj9o8aSs6J0IU+PJpU+SPZEjpITAPtLauKEV2MFGUaxnli1PgJexW8OW9smCDZPhIce6vYYwn0wQKtnFla0zWPe2r85egggE0y9SJs5zQX5F3OlJzLS/wIDAQAB # # 支付宝私钥 # privateKey: MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCht+2LfV4jLhTn0lSsv54yiy5j3uOTjjh4XIx6jGQbWWMncbK09XtiUsvpNWC843p5HR4W9YorgyhMRbROSnGCa66uSlNJcMHRs2K5glDKKO7gGKS3zd1CjrhgpgNLAE0D2EU8cUzWaFakkz/eZiNtstP0Cgvyr6fV8HEW1wAybFcGpmIQJPyrO5NXdV9O59ew2Fj0sldwOQCv3wZkMRsf5mGvl2J7ZHOm+P2jxpKzonQhT48mlT5I9kSOkhMA+0tq4oRXYwUZRrGeWLU+Al7Fbw5b2yYINk+Ehx7q9hjCfTBAq2cWVrTNY97avzl6CCATTL1ImznNBfkXc6UnMtL/AgMBAAECggEAXLwJBr0sV0YcjNcK4Ui8YcV4I6Lzo3ChpzuC/t80pI48kqjbTnOafkZ2UdPfFlHnsD3nPEkvI0aBvEMYYvDDaINxVtaeLfXv3t1cFn7I7zRLzsuy4Qe3AmyvBBUOvFp+z16cTU23Pxfz30nlDRZK6KPscPu14EOkHcVUREGkBkU6Gqft38Vd21ClRmh76oWsYCGzJkx547blVMAWJw+fGgHerrdwaSOlvD8Tj20dnCU7ifvUNQiWsdn6wOdUz24o4oB8kSBmZbOYCviljvqeHo2SZlIuneiXwz9TanOvlIaGkVeHnJvNd3S6FRXTmcTZQpW9RtDBZF0o1Oh+W44Q6QKBgQDbVwsD3GdFFlYWUMvtTGUcHqtzrvWDln6Lh0vtEmQIA28aDBre2URRYm+AhqfsjiAz1WwVVVeBjbSk7ZJv0kWWvJiA8/2XyZhHdDidWvhndQJD5HLK9IqPNDd6WA9cW/SQs2ehtqUVM55IzsYZK2Tbnb9UYuIHTHiMExL/jOGq0wKBgQC8v2rPC02+qVJyx82Gq6CD57EuirKTA1ZUFQIBRbfccqMoYaJogREUjlUNN5mZAuQ6yLqOHi79v6G/7NegP4WavIRJ/W9jqjLXP1AJ/jeo9IGu96HCsV2+M/5DRD/zrZakQMJPZYrgZOqjtL1qLcKdpuXumT0VAyy41yoU0jvDpQKBgQCvyABR5c71dUMkuzfTQ0g80u+A1JR6Ep/z3kghBH4aVfYyH8VhFypDNuo5TLFDSVvRbpciObTZZOGC08ppx1Bxz09A+Ukg3jUl/qRop0EwWHuqQWkl8fkhby2O5Qfacu97D+xbk26VoTqXCu+DuF0qDDALxvtx8f0h9R9iolswdQKBgE5+sLWwNsHe+vnfHBswjw2sMmRvq/o1vhYzsmTDEMauKipmCDu7yVWqJ7bac5dNu4qy5dqqtNI0etktbzMml7KVSdLXghaJtqELpIazYYRzQud39p7YUmsChnCFFq+JdoeSovyP9ySA84/nX4qjwzb7LM6AjgWKD3RDjy2fjNk9AoGBANEJdXJhwon+cMfPT9XfCVee0Cr//91WzfGYnVpevRuYp/q29rcZ0mZiXPfvge0vogZEFHIzsQfjtW84W4H81aSbFj9lncIzRl4O8yFGsr1Y9wkewmQqylM+A/I4eu9UcpK/hJX5G07EnCuZCabj12CGnA3uA9Icgg28jbg2BCR6 # # 回调地址 # noticeUrl: http://120.27.238.55:8801/api/pay/aliCallBack # domain: https://openapi.alipay.com/gateway.do pay: ali: appId: 2016120704000539 appId: 2021004113682014 # 支付宝公钥 publicKey: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAobfti31eIy4U59JUrL+eMosuY97jk444eFyMeoxkG1ljJ3GytPV7YlLL6TVgvON6eR0eFvWKK4MoTEW0TkpxgmuurkpTSXDB0bNiuYJQyiju4Bikt83dQo64YKYDSwBNA9hFPHFM1mhWpJM/3mYjbbLT9AoL8q+n1fBxFtcAMmxXBqZiECT8qzuTV3VfTufXsNhY9LJXcDkAr98GZDEbH+Zhr5die2Rzpvj9o8aSs6J0IU+PJpU+SPZEjpITAPtLauKEV2MFGUaxnli1PgJexW8OW9smCDZPhIce6vYYwn0wQKtnFla0zWPe2r85egggE0y9SJs5zQX5F3OlJzLS/wIDAQAB publicKey: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoPpWJLTLPY6ZjUo2H22BEjO/UR/hriQSQA19gFj5JDxqgQKj/mlPvB9cWcJWWHqlE6QTzkFRucSco5jw9kPlWpqoBnpSa7GcwpT7ROrgpJJXqlOEHjCtTwYKvoULDDaHpbezROEhrfHqNO85RE/hpPf+ZtOZwldVXFejhXrFbcAVsRNkG8MIXrsBKlwTa3TiHDbH/33mlCvFMlPgwaf0xo77fwCin9/4TY7ibAvgco0/UAI0MrlH4yr9UEs30fYbm2GRzluyvsttthOPioHHMyXzwh/1XsabnO5cPzrr+wr0BBSoDCl3QYXPRfb6upQGWJ95MoG3eYFXW+S9v4ZqvwIDAQAB # 支付宝私钥 privateKey: MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCht+2LfV4jLhTn0lSsv54yiy5j3uOTjjh4XIx6jGQbWWMncbK09XtiUsvpNWC843p5HR4W9YorgyhMRbROSnGCa66uSlNJcMHRs2K5glDKKO7gGKS3zd1CjrhgpgNLAE0D2EU8cUzWaFakkz/eZiNtstP0Cgvyr6fV8HEW1wAybFcGpmIQJPyrO5NXdV9O59ew2Fj0sldwOQCv3wZkMRsf5mGvl2J7ZHOm+P2jxpKzonQhT48mlT5I9kSOkhMA+0tq4oRXYwUZRrGeWLU+Al7Fbw5b2yYINk+Ehx7q9hjCfTBAq2cWVrTNY97avzl6CCATTL1ImznNBfkXc6UnMtL/AgMBAAECggEAXLwJBr0sV0YcjNcK4Ui8YcV4I6Lzo3ChpzuC/t80pI48kqjbTnOafkZ2UdPfFlHnsD3nPEkvI0aBvEMYYvDDaINxVtaeLfXv3t1cFn7I7zRLzsuy4Qe3AmyvBBUOvFp+z16cTU23Pxfz30nlDRZK6KPscPu14EOkHcVUREGkBkU6Gqft38Vd21ClRmh76oWsYCGzJkx547blVMAWJw+fGgHerrdwaSOlvD8Tj20dnCU7ifvUNQiWsdn6wOdUz24o4oB8kSBmZbOYCviljvqeHo2SZlIuneiXwz9TanOvlIaGkVeHnJvNd3S6FRXTmcTZQpW9RtDBZF0o1Oh+W44Q6QKBgQDbVwsD3GdFFlYWUMvtTGUcHqtzrvWDln6Lh0vtEmQIA28aDBre2URRYm+AhqfsjiAz1WwVVVeBjbSk7ZJv0kWWvJiA8/2XyZhHdDidWvhndQJD5HLK9IqPNDd6WA9cW/SQs2ehtqUVM55IzsYZK2Tbnb9UYuIHTHiMExL/jOGq0wKBgQC8v2rPC02+qVJyx82Gq6CD57EuirKTA1ZUFQIBRbfccqMoYaJogREUjlUNN5mZAuQ6yLqOHi79v6G/7NegP4WavIRJ/W9jqjLXP1AJ/jeo9IGu96HCsV2+M/5DRD/zrZakQMJPZYrgZOqjtL1qLcKdpuXumT0VAyy41yoU0jvDpQKBgQCvyABR5c71dUMkuzfTQ0g80u+A1JR6Ep/z3kghBH4aVfYyH8VhFypDNuo5TLFDSVvRbpciObTZZOGC08ppx1Bxz09A+Ukg3jUl/qRop0EwWHuqQWkl8fkhby2O5Qfacu97D+xbk26VoTqXCu+DuF0qDDALxvtx8f0h9R9iolswdQKBgE5+sLWwNsHe+vnfHBswjw2sMmRvq/o1vhYzsmTDEMauKipmCDu7yVWqJ7bac5dNu4qy5dqqtNI0etktbzMml7KVSdLXghaJtqELpIazYYRzQud39p7YUmsChnCFFq+JdoeSovyP9ySA84/nX4qjwzb7LM6AjgWKD3RDjy2fjNk9AoGBANEJdXJhwon+cMfPT9XfCVee0Cr//91WzfGYnVpevRuYp/q29rcZ0mZiXPfvge0vogZEFHIzsQfjtW84W4H81aSbFj9lncIzRl4O8yFGsr1Y9wkewmQqylM+A/I4eu9UcpK/hJX5G07EnCuZCabj12CGnA3uA9Icgg28jbg2BCR6 privateKey: MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCg+lYktMs9jpmNSjYfbYESM79RH+GuJBJADX2AWPkkPGqBAqP+aU+8H1xZwlZYeqUTpBPOQVG5xJyjmPD2Q+VamqgGelJrsZzClPtE6uCkkleqU4QeMK1PBgq+hQsMNoelt7NE4SGt8eo07zlET+Gk9/5m05nCV1VcV6OFesVtwBWxE2QbwwheuwEqXBNrdOIcNsf/feaUK8UyU+DBp/TGjvt/AKKf3/hNjuJsC+ByjT9QAjQyuUfjKv1QSzfR9hubYZHOW7K+y222E4+KgcczJfPCH/Vexpuc7lw/Ouv7CvQEFKgMKXdBhc9F9vq6lAZYn3kygbd5gVdb5L2/hmq/AgMBAAECggEAPRA49RuPrP4WyT3JYgqL13fBruhFF2WfdqSnYrRdbZ1tWRrDUpJoKJhM08+gKVf8noKy8J5effVS5cvyO7htm/zml+52rVtmd3lEB1SBemv4zSd5Cmq0kzFbigG1uyBEPFx+qDYuLGmDyiiktIEIuydHXYIO5WVzf9/Oq6dylLqY3rpDqOp1cKdjd5F55VN70383HK00qqZTh5bX9J7Y0P/4pzwzwExIgzH3rPP7pgBoVOExpce5LC0k1ZRv1wkSOcouYucRvTsrvG6LA/e5rmfk1v1foIvSSh0pkl5dL7f5hrDs63fnX44OaCMeQUChB0t0iE33bqTJO3HLpTz6wQKBgQDqonKTETwl8wQW0VV6j7hfMlc6um7ZBSRQbxl7STSYiK3WKymN5iYUb2lJw7zKhYe6W9X2bXfpK7JifNtmz7Ym9EJzldXuBmqkVWAPq9BV5ZfhS1h65CzjcZd6Q4jNpJ3IuvDAF68zaPCwc19JRkT/TGKsPFm8jZQdq2JdSyektwKBgQCvouHfjHYtj8n8RsTCZBAy7omkdhKKU6R+YaoHG7OaW9uxDe5IIFTsZkw0H0VmT0K+79+PNw0RkU4A08DS6LPFViLybIgG/i/Xl7Vb1+jeRYGuduvSpfrb5yIe6LUhSCmag6WelyGNYH86W0nmi5fJtzcJJMIeTE+B73/0tbEyOQKBgQCxwZQvmtUIow0sBDdP/OXfKRIwqeEkhOK4FRMm9ZTlIlcgc96tY/jhbm5DtginHXZwVvbIFLLNcY9ZUeIeB6ql5FMboh5Kj43nJc760F2rVZ80zZIguBDR1tK9i8BumxH2arnNraPLvOrrotxDdPr8tu/iMG6DjHbz601ABJnqDQKBgBFwP7L9dEJj0287649NdhpIetwcaQzY7y0pL0OTaYq68h4rPuxkYWozYf+O10ooNn1UvcKveZmz7qXAYJXQSwEd40xkoEDpfgCO7I/Y6SMgjZav8gwxNK4ezdF503ohexf/WDNd2BP8b8VwiO7eD00U5t7+ilONyhshl3fJjnVpAoGBANHG6aicEbT409gR9ev7Tt09F0Lb3qd+F+ghDqVG25GaUMeZ2gXS2raxjUKV2sZOXJ+Ur5HZ4x5IZQz4NeUEuHGKvYpZMVMm/t1QKGaQbndKTf4cfL7aDPFG4Ljlv6YxGGevej3uDmkHt3yM/p27mc+wUDAHorM+uWywrdsjVWgs # 回调地址 noticeUrl: http://120.27.238.55:8801/api/pay/aliCallBack domain: https://openapi.alipay.com/gateway.do noticeUrl: https://jufu.meiao.biz/api/pay/aliCallBack domain: https://openapi.alipaydev.com/gateway.do wx: appId: wx051693799db39540 mchId: 1641389321