当前位置:   article > 正文

java接入微信支付_微信支付pom依赖

微信支付pom依赖
  1. 引入微信支付依赖

在pom.xml文件中添加以下依赖:

  1. <dependency>
  2. <groupId>com.github.binarywang</groupId>
  3. <artifactId>weixin-java-pay</artifactId>
  4. <version>3.7.1</version>
  5. </dependency>
  1. 配置微信支付参数

在配置文件中添加以下配置,配置微信支付相关参数:

  1. wx:
  2. pay:
  3. appId: your_appId
  4. mchId: your_mchId
  5. mchKey: your_mchKey
  6. keyPath: your_keyPath
  7. notifyUrl: your_notifyUrl

其中,appId、mchId和mchKey是微信支付分配的账号信息,keyPath是API证书的路径,notifyUrl是支付结果通知地址。

  1. 创建微信支付服务

创建一个微信支付服务,包括创建订单、发起支付请求、处理支付结果等功能。例如:

  1. @Service
  2. public class WeixinPayService {
  3. @Autowired
  4. private WxPayService wxPayService;
  5. /**
  6. * 创建微信支付订单
  7. */
  8. public WxPayUnifiedOrderResult createOrder(WxPayUnifiedOrderRequest request) throws WxPayException {
  9. return wxPayService.unifiedOrder(request);
  10. }
  11. /**
  12. * 查询微信支付订单
  13. */
  14. public WxPayOrderQueryResult queryOrder(String transactionId, String outTradeNo) throws WxPayException {
  15. return wxPayService.queryOrder(transactionId, outTradeNo);
  16. }
  17. /**
  18. * 处理微信支付结果通知
  19. */
  20. public String processPayResultNotify(String xmlData) throws WxPayException {
  21. WxPayOrderNotifyResult notifyResult = wxPayService.parseOrderNotifyResult(xmlData);
  22. // 处理支付结果通知
  23. return "SUCCESS";
  24. }
  25. }

在上面的代码中,WeixinPayService中封装了微信支付的一些操作,包括创建订单、查询订单、处理支付结果通知等。

  1. 调用微信支付服务

在需要使用微信支付的地方,注入WeixinPayService,并调用相关方法。例如:

  1. @RestController
  2. public class PayController {
  3. @Autowired
  4. private WeixinPayService weixinPayService;
  5. @PostMapping("/pay")
  6. public WxPayUnifiedOrderResult pay(@RequestBody PayRequestDTO request) throws WxPayException {
  7. WxPayUnifiedOrderRequest wxPayRequest = new WxPayUnifiedOrderRequest();
  8. wxPayRequest.setBody(request.getBody());
  9. wxPayRequest.setOutTradeNo(request.getOutTradeNo());
  10. wxPayRequest.setTotalFee(BaseWxPayRequest.yuanToFen(request.getTotalFee()));
  11. wxPayRequest.setSpbillCreateIp(request.getSpbillCreateIp());
  12. wxPayRequest.setTradeType(request.getTradeType());
  13. wxPayRequest.setNotifyUrl(request.getNotifyUrl());
  14. wxPayRequest.setOpenid(request.getOpenid());
  15. return weixinPayService.createOrder(wxPayRequest);
  16. }
  17. }

在上面的代码中,PayController接收支付请求并将请求转换为WxPayUnifiedOrderRequest,调用WeixinPayService的createOrder方法创建微信支付订单,并返回结果。

  1. 处理支付结果通知

在微信支付结果通知的地址上,接收微信支付结果通知,并调用WeixinPayService的processPayResultNotify方法处理支付结果通知。例如:

  1. @RestController
  2. public class PayResultNotifyController {
  3. @Autowired
  4. private WeixinPayService weixinPayService;
  5. @PostMapping("/pay/notify")
  6. public String payResultNotify(@RequestBody String xmlData) throws WxPayException {
  7. return weixinPayService.processPayResultNotify(xmlData);
  8. }
  9. }

在上面的代码中,PayResultNotifyController接收支付结果通知,并调用WeixinPayService的processPayResultNotify方法处理支付结果通知。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/874183
推荐阅读
相关标签
  

闽ICP备14008679号