微信支付 (一)

本文详细介绍了微信支付的集成步骤,包括小程序、APP支付的流程。首先,需要配置appid、appSecret、商户号等关键信息。接着,通过统一下单API生成订单,扫码支付会得到二维码链接,而APP和小程序则获取预支付id。支付完成后,微信会回调商户设定的域名以更新支付状态。文中还提供了 Swagger2 配置以方便接口测试,并展示了相关配置类和配置属性。
摘要由CSDN通过智能技术生成

微信支付

开发准备

  1. 小程序的appid
  2. 小程序的appSecret
  3. 商户号
  4. 序列号
  5. 微信支付的apiv3秘钥
  6. 回调域名

熟悉微信的支付流程:
扫码支付的流程:
微信支付的流程图
小程序的支付业务流程:
请添加图片描述
app支付的流程:
请添加图片描述
根据流程图我们可以大致熟悉对接流程:
1.在支付之前,需要在商户的后台进行下单,生成订单的信息,即订单金额,订单编号,商品;
2.根据对应的支付方式,封装需要的参数,调用微信支付的统一下单的api接口进行下单;
3.统一下单成功之后,微信后台会返回对应的一些数据,返回的类型如下:
a.扫码支付统一下单会生成对应的二维码图片的链接code_url;
b.app和小程序支付统一下单后会返回预支付的id
4.如果扫码支付,你要用code_url 生成一个二维码展示在前端页面供客户扫码付款;如果是app和小程序支付,后端只需将prepay_id及需要的参数传给app和小程序端。app会通过调用SDK、小程序会通过调用微信的JS发起支付。
5,客户付款成功后,客户的微信端会展示付款结果信息,同时微信后台会异步调用商户后台的回调接口(回调的api接口在统一下单作为下单参数),更新商户系统的支付单状态。

需要的sdk

	<!--微信支付-->
        <dependency>
            <groupId>com.github.wxpay</groupId>
            <artifactId>wxpay-sdk</artifactId>
            <version>0.0.3</version>
        </dependency>
        <!--swagger-->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.8.0</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.8.0</version>
        </dependency>

继承swagger 方便后期测试

application.properties

# appid
wxpay.appid= xxxxx
# 商户号
wxpay.mch-id=xxxx
# 序列号
wxpay.mch-serial-no=xxxxx
# 私钥文件
wxpay.private-key-path=apiclient_key.pem
# v3密码
wxpay.api-v3-key=xxxxx
# 支付成功回调地址
wxpay.notify-domain=xxxxx

配置类

com.xxx.config

Swagger2Config

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.ApiSelectorBuilder;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

/**
 * @author 小南蜀黍
 */
@Configuration
@EnableSwagger2
public class Swagger2Config {
    @Bean
    public Docket docket(){

        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(new ApiInfoBuilder().title("微信支付接口").build());
    }
}

** WxPayConfig **

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
/**
 * @author 小南蜀黍
 */
@Data
@Configuration
@ConfigurationProperties(prefix = "wxpay")
public class WxPayConfig {
    /**
     *   商户号
     */
    private String mchId;
    /**
     * 商户api序列号
     */
    private String mchSerialNo;
    /**
     *  商户私钥文件
     */
    private String privateKeyPath;
    /**
     * apiV3密钥
     */
    private String apiV3Key;
    /**
     * appId
     */
    private String appid;
    /**
     * 支付成功回调地址
     */
    private String notifyDomain;
}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值