package org.jeecg; import com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyResult; import org.jeecg.modules.pay.MpWxPayService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @SpringBootApplication public class PayDemoApplication { public static void main(String[] args) { ConfigurableApplicationContext app = SpringApplication.run(PayDemoApplication.class, args); // 用法说明 @Autowired MpWxPayService mpWxPayService MpWxPayService bean = app.getBean(MpWxPayService.class); //Object callback = bean.createAppOrder("产品名", "127.0.0.1", "89", 1, "20219092", "{}",""); //System.err.println(callback.toString()); Object webOrder = bean.createWebOrder("产品名", "117.61.97.157", "89", 1, "20219092", "{}", ""); System.err.println(webOrder.toString()); //缓存该数据用于与异步通知对比处理 //WxPayAppOrderResult(sign=6E404CB2E71FD391BB0FE2C2B12F5264, prepayId=wx17011430290850d50f73c68d61e80a0000, partnerId=1560997691, appId=wx7081b3f6277c100d, packageValue=Sign=WXPay, timeStamp=1637082870, nonceStr=1637082870392) //取以上数据交由前端调起支付 } //部署该地址至外网接受异步通知 @RequestMapping("/notify") public Object notify(@RequestBody String requestBody, @Autowired MpWxPayService mpWxPayService){ WxPayOrderNotifyResult notify = mpWxPayService.notify(requestBody); String outTradeNo = notify.getOutTradeNo(); System.err.println(outTradeNo); //对比outTradeNo进行业务处理 if (notify == null){ //会继续通知 return "FAIL"; } //不再通知该结果 return "SUCCESS"; } }