用于个人记录,以防后续用到,也希望能帮助到更多的小伙伴
微信支付步骤及代码:
-
1、商户生成订单
-
2、商户调用微信下单接口,获取预交易的链接
-
3、商户将链接生成二维码图片,展示给用户;
-
4、支付结果通知:
-
微信异步通知商户支付结果,商户告知微信支付接收情况
-
商户如果没有收到通知,可以调用接口,查询支付状态
-
-
5、如果支付成功,发货,修改订单状态
微信支付官方文档:https://pay.weixin.qq.com/index.php/core/home/login?return_url=%2F
用到的是:Native支付, 就是扫码支付
参数以及返回值 具体去官网查看
以下是具体步骤以及代码 还有 需要注意的几个点和坑:
官网下载 : wx-sdk 打成jar包 引入maven
命令:mvn source:jar install -Dmaven.test.skip=true 或者 用maven插件
1.application中加入:
ly:
pay:
wx:
appID: wx*********
mchID: ********
key: *******
payType: NATIVE
2.配置类:
package com.ig.order.config;
import com.github.wxpay.sdk.WXPay;
import com.github.wxpay.sdk.WXPayConfigImpl;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class PayConfiguration {
@Bean
@ConfigurationProperties(prefix = "ly.pay.wx")
public WXPayConfigImpl payConfig(){
return new WXPayConfigImpl();
}
/**
* 注册WXPay对象
* @param payConfig 支付相关配置
* @return WXPay对象
* @throws Exception 连结WX失败时用到
*/
@Bean
public WXPay wxPay(WXPayConfigImpl payConfig) throws Exception {
return new WXPay(payConfig);
}
}
================以下开始生成支付二维码并且给前台返回=============================
3.订单生成以后 传入一个 orderId (订单ID)到后台 , 进入支付界面生成二维码
payHelper 工具类:
package com.ig.order.utils;
import com.github.wxpay.sdk.WXPay;
import com.github.wxpay.sdk.WXPayConfigImpl;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.HashM