Java实现微信支付v3的支付回调

使用微信支付的v3 API进行支付的相关功能的开发

以前都是自己手搓api的, 现在有轮子了, 尝试记录一下如何使用

我的做法是首先打开v3的代码仓库, 直接进去看看他们的文档, 可以看到这么一坨东西
在这里插入图片描述

前置条件

  1. 开发前准备在这里插入图片描述2. 先引入maven
	<dependency>
	  <groupId>com.github.wechatpay-apiv3</groupId>
	  <artifactId>wechatpay-java</artifactId>
	  <version>0.2.6</version>
	</dependency>
  1. 初始化商户配置
Config config = new RSAAutoCertificateConfig.Builder()
                .merchantId(wechatConstant.spMchId)
                .privateKeyFromPath(wechatConstant.privateKeyPath)
                .merchantSerialNumber(wechatConstant.merchantSerialNumber)
                .apiV3Key(wechatConstant.apiV3key)
                .build();

实现代码

  1. 先从请求头中获取构建RequestParam需要的参数
	// 从请求头中获取信息
	String timestamp                        = request.getHeader("Wechatpay-Timestamp");
	String nonce                            = request.getHeader("Wechatpay-Nonce");
	String signature                        = request.getHeader("Wechatpay-Signature");
	String singType                         = request.getHeader("Wechatpay-Signature-Type");
	String wechatPayCertificateSerialNumber = request.getHeader("Wechatpay-Serial");
  1. 初始化解析器
	// 初始化解析器 NotificationParser
    NotificationParser parser = new NotificationParser((NotificationConfig) config);
  1. 进行验签, 解密并转换成Transaction, 验签解密都是用API干了, 不用自己手动整了
	import com.wechat.pay.java.service.partnerpayments.jsapi.model

	// 这个Transaction是微信包里面的
	Transaction decryptObject = parser.parse(requestParam, Transaction.class);
  1. 成功后需要对微信进行应答
    接收成功:HTTP应答状态码需返回200或204,无需返回应答报文。
    接收失败:HTTP应答状态码需返回5XX或4XX,同时需返回应答报文
{   
    "code": "FAIL",
    "message": "失败"
}

完成

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mtc8n24

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值