Springboot 服务端为App集成微信支付

本文详述了Springboot服务端集成微信支付的步骤,包括创建应用、准备参数、统一下单接口调用、处理回调及验证签名等关键环节。遇到问题时,可以通过微信提供的工具进行签名验证,确保数据正确性。支付成功后,微信服务器会回调通知,进行后续业务处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

都说微信支付坑,Emmm确实挺坑。一开始我也不喜欢看他那个文档。但是没办法人家的写的东西,你必须看文档。静下心来大致看一下文档。  然后去网上找DEOM 看着DEOM,对着文档。我感觉更容易明白。

首先你需要准备的东西,到微信开放平台--管理中心--去创建应用,不详细描述了。审核通过了 是这个样子

点击查看看到你有没有获得微信支付能力: 

微信支付所需要的参数有以下内容:

AppID、商户号、商家秘钥(注意商家秘钥不是AppSecret,而是你在微信商家平台,app中设置的32位随机kay)、服务器IP、

 回调地址、交易类型。

还有就是证书文件大概张这个样子

准备好这些东西看着文档,大致意思就是,你封装他统一支付所需的参数,去请求统一下单的接口地址;

1、在pom文件中加入:

<!--微信支付依赖-->
<dependency>
   <groupId>com.github.wxpay</groupId>
   <artifactId>wxpay-sdk</artifactId>
   <version>0.0.3</version>
</dependency>

2、微信参数配置文件:



import com.github.wxpay.sdk.WXPayConfig;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;


public class WXConfigUtil implements WXPayConfig {
    private byte[] certData;
    public static final String APP_ID = ""; //app Id
    public static final String KEY = "";//秘钥
    public static final String MCH_ID = ""; //商户号

    public WXConfigUtil() throws Exception {
        String certPath = "D:\\apiclient_cert.p12";//从微信商户平台下载的安全证书存放的路径
        File file = new File(certPath);
        InputStream certStream = new FileInputStream(file);
        this.certData = new byte[(int) file.length()];
        certStream.read(this.certData);
        certStream.close();
    }

    @Override
    public String getAppID() {
        return APP_ID;
    }

    //parnerid,商户号
    @Override
    public String getMchID() {
        return MCH_ID;
    }

    @Override
    public String getKey() {
        return KEY;
    }

    @Override
    public InputStream getCertStream() {
        ByteArrayInputStream certBis = new ByteArrayInputStream(this.certData);
        return certBis;
    }

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

    @Override
    public int getHttpReadTimeoutMs() {
        return 10000;
    }
}

3、service层:


import java.util.Map;

public interface WXservice {
     //统一下单
    Map dounifiedOrder(String user_id,String total_fee,String oid) throws Exception;

    //回调
    String payBack(String notifyData);
}

4、ServiceImpl实现层:

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值