赞
踩
相关jar包
- <dependency>
- <groupId>com.github.binarywang</groupId>
- <artifactId>weixin-java-pay</artifactId>
- <version>4.4.9.B</version>
- </dependency>
添加相关配置
- package com.yz.utils.pay;
-
- import com.github.binarywang.wxpay.config.WxPayConfig;
- import com.github.binarywang.wxpay.service.WxPayService;
- import com.github.binarywang.wxpay.service.impl.WxPayServiceImpl;
- import lombok.AllArgsConstructor;
- import lombok.extern.slf4j.Slf4j;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
- import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.Configuration;
-
-
- @Configuration
- @ConditionalOnClass(WxPayService.class)
- @AllArgsConstructor
- @Slf4j
- public class WxPayConfiguration {
-
- @Bean
- @ConditionalOnMissingBean
- public WxPayService wxService() {
- WxPayConfig payConfig = new WxPayConfig();
- payConfig.setApiV3Key(StringUtils.trimToNull(WxPayProConfig.mchKey));
- payConfig.setAppId(StringUtils.trimToNull(WxPayProConfig.appId));
- payConfig.setMchId(StringUtils.trimToNull(WxPayProConfig.mchId));
- payConfig.setMchKey(StringUtils.trimToNull(WxPayProConfig.mchKey));
- payConfig.setPrivateKeyContent(WxPayProConfig.privateKey.getBytes());
- payConfig.setPrivateCertContent(WxPayProConfig.certPem.getBytes());
- //payConfig.setSignType("HMAC-SHA256");
- payConfig.setSignType("MD5");
-
- payConfig.setKeyPath("D:\\developApp\\project\\camping\\src\\main\\resources\\apiclient_cert.p12");
- //payConfig.setKeyPath("/usr/project/file/apiclient_cert.p12");
-
- // 可以指定是否使用沙箱环境
- payConfig.setUseSandboxEnv(false);
- WxPayService wxPayService = new WxPayServiceImpl();
- wxPayService.setConfig(payConfig);
- log.debug("wxConfig:{}", payConfig);
- return wxPayService;
- }
- }
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
服务层注入 wxService
封装好参数直接调用createOrderV3就可以了
- import com.github.binarywang.wxpay.service.WxPayService;
-
- @Autowired
- private WxPayService wxService;
-
- wxService.createOrderV3();
回调处理 直接在notifyResult 可以拿到支付单号
-
- @RequestMapping("/goodsNotify")
- public String goodsNotify(@RequestBody String xmlData) throws WxPayException, IOException {
- WxPayOrderNotifyV3Result notifyResult = wxService.parseOrderNotifyV3Result(xmlData, null);
- //处理业务
- }
-
另外wxService还有很多方法,比如退款、提现、转账等。
在您使用微信支付的过程中,务必要遵循微信支付官方文档中的规范和安全要求。确保您的代码和交易流程符合最佳实践,以保障支付的安全性和可靠性。
希望本文对您有所帮助,并且能够激发您在微信支付领域的进一步探索。随着技术的不断发展,支付领域也在不断演进,我们期待看到更多创新和便捷的支付解决方案的出现。
如果您在实际应用中遇到任何问题或有任何反馈,欢迎随时与我们分享。祝愿您在微信支付的开发和使用过程中取得成功!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。