当前位置: 主页 > JAVA语言

微信支付java详细开发-jia包添加相关配置服务层注入wxService封装好参数直接调用createOrderV3

发布时间:2023-07-01 09:04   浏览次数:次   作者:佚名

相关jia包

        
            com.github.binarywang
            weixin-java-pay
            4.4.9.B
        

173c348ed6f0546699c89684a30434b8

添加相关配置

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;
    }
}

b848500dca38786bb38445f6919b1c0e

服务层注入wxService

封装好参数直接调用createOrderV3就可以了

3462057b72ee370d1d0fb2e07cc329e9

import com.github.binarywang.wxpay.service.WxPayService;
@Autowired
private WxPayService wxService;
wxService.createOrderV3();

回调处理 直接在notifyResult 可以拿到支付单号

微信支付java详细开发_pb收银系统对接微信支付_java对接微信支付


    @RequestMapping("/goodsNotify")
    public String goodsNotify(@RequestBody String xmlData) throws WxPayException, IOException {
    WxPayOrderNotifyV3Result notifyResult = wxService.parseOrderNotifyV3Result(xmlData, null);
        //处理业务
    }

另外wxService还有很多方法微信支付java详细开发,比如退款、提现、转账等。

java对接微信支付_pb收银系统对接微信支付_微信支付java详细开发

在您使用微信支付的过程中微信支付java详细开发,务必要遵循微信支付官方文档中的规范和安全要求。确保您的代码和交易流程符合最佳实践,以保障支付的安全性和可靠性。

希望本文对您有所帮助,并且能够激发您在微信支付领域的进一步探索。随着技术的不断发展,支付领域也在不断演进,我们期待看到更多创新和便捷的支付解决方案的出现。

如果您在实际应用中遇到任何问题或有任何反馈,欢迎随时与我们分享。祝愿您在微信支付的开发和使用过程中取得成功!