springboot 整合微信 APP支付

本文介绍了如何在一个星期内快速搭建微信APP支付项目。主要步骤包括:阅读微信开发文档,理解业务流程,使用统一下单接口。核心代码展示了配置类`MyWxpayConfig`和关键接口`PayController`、`WxPayServiceImpl`,涉及订单创建、支付回调处理等。文章还提及了微信支付所需的必要参数,如APP_ID、MCH_ID、APP_KEY,并提供了异常处理和日志记录。

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

最近搞了个团油的项目,还是一个星期就干出来的项目,其中的事情就不多说了,过来人都知道。在这里介绍一下微信的APP支付吧

首先第一步,从网上找到微信的开发文档,看看你是哪种支付,是哪种支付就点哪种支付。我是APP支付就演示这个了。

 

 

 到了这里  我建议开发者先去把业务流程仔细看一遍,知道我们后台要干啥,前台要干啥。(其实方便甩锅)

这里我就不再上业务流程的图了,直接说API

我没有做退款功能,只有支付功能,但是后台其实只用到了统一下单这个接口,让我们看一下需要哪些必填参数 

 

 微信后台可以直接给我们的有3个必填的参数,也是最重要的3个参数

应用id(APP_ID),商户号(MCH_ID),应用对应的秘钥(APP_KEY)

这3个参数可以从微信的商户平台取,我自己没有就不演示了

在这里上代码

我的配置类,涉及隐私的地方,我用*代替

package com.thundersdata.backend.basic.configure;
 
import com.github.wxpay.sdk.WXPayConfig;
import org.apache.poi.util.IOUtils;
 
import java.io.InputStream;
 
/**
 * @Author: wrc
 * @Classname MyWxpayConfig
 * @Description TODO
 * @Date 2020/5/28 13:38
 * @Created wrc
 */
public class MyWxpayConfig  implements WXPayConfig {
    private byte [] certData;
 
    public MyWxpayConfig() throws  Exception{
        InputStream certStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("cert/apiclient_cert.p12");
        this.certData = IOUtils.toByteArray(certStream);
        certStream.close();
    }
    /**
     * 微信开发平台应用ID, 从微信商户取
     */
    public static final String APP_ID = "****";
    /**
     * 应用对应的凭证
     */
//    public static final String APP_SECRET = "";
    /**
     * 应用对应的密钥, 从微信商户取
     */
    public static final String APP_KEY = "****";
    /**
     * 微信支付商户号, 从微信商户取
     */
    public static final String MCH_ID = "*****";
    /**
     * 商品描述
     */
    public static final String BODY = "付款";
    /**
     * 商户号对应的密钥
     */
//    public static final String PARTNER_key = "";
 
    /**
     * 商户id 非必填
     */
    public static final String PARTNER_ID = "*******";
    /**
     * 常量固定值
     */
    public static final String GRANT_TYPE = "client_credential";
    /**
     * 获取预支付id的接口url 写死的地址
     */
    public static String GATEURL = "https://api.mch.weixin.qq.com/pay/unifiedorder";
 
    /**
     * 微信服务器回调通知url  自己的回调接口,一定要是是域名访问才行,建议搞个nginx反向代理一下,在nginx上配置一下可以获取真实的IP地址
     */
    public static String NOTIFY_URL = "https://****.com/Pay/wx_back"; //可以访问的url
    /**
     * 微信服务器查询订单url  写死的地址
     */
    public static String ORDER_QUERY = "https://api.mch.weixin.qq.com/pay/orderque
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值