Java 微信支付统一下单、支付回调、订单查询实现

首先,参考文档:

【微信支付】H5支付开发文档
Java 后端微信支付demo

  1. 引入jar包
		<dependency>
            <groupId>com.github.wxpay</groupId>
            <artifactId>wxpay-sdk</artifactId>
            <version>0.0.3</version>
        </dependency>
  1. 配置申请好的AppId,MchId, Key

这里只需要统一下单、支付回调以及查询订单,所以不需要加载证书

import com.github.wxpay.sdk.WXPayConfig;

import java.io.InputStream;

/** 配置我们自己的信息  */

public class WxPayConfig implements WXPayConfig {
   

//    /** 加载证书  这里证书需要到微信商户平台进行下载*/
//    private byte [] certData;
//
//    public WxPayConfig() throws  Exception{
   
//        InputStream certStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("../cert/pay/apiclient_cert.p12");
//        this.certData = IOUtils.toByteArray(certStream);
//        certStream.close();
//    }

    /** 设置我们自己的appid
     * 商户号
     * 秘钥
     * */

    @Override
    public String getAppID() {
   
        return "###AppId";
    }

    @Override
    public String getMchID() {
   
        return "###MchId";	
    }

    @Override
    public String getKey() {
   
        return "###Key";
    }

    @Override
    public InputStream getCertStream() {
   
        return null;
    }

    @Override
    public int getHttpConnectTimeoutMs() {
   
        return 0;
    }

    @Override
    public int getHttpReadTimeoutMs() {
   
        return 0;
    }
}
  1. 统一下单接口示例:
 	// 微信支付下单
    @PreAuthorize("@el.check('anonymous')") // 匿名访问
    @PostMapping("/prePay")
    public ResponseEntity placeOrder(HttpServletRequest request, @RequestBody Map params) throws Exception {
   

        // 保存订单并返回订单号 shopOrderDTO.getId()

        // 处理请求参数
        WxPayConfig wxPayConfig = new WxPayConfig();
        WXPay wxPay = new WXPay(wxPayConfig);
        String url = "###公网地址";
        String notifyUrl = url + "/payReturn";	// 微信支付回调地址,详情参考微信官方文档要求

        Map<String,String> data = new HashMap<>();
        data.put("out_trade_no"
  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值