使用微信支付的v3 API进行支付的相关功能的开发
以前都是自己手搓api的, 现在有轮子了, 尝试记录一下如何使用
我的做法是首先打开v3的代码仓库, 直接进去看看他们的文档, 可以看到这么一坨东西
文章来源:https://www.toymoban.com/news/detail-524800.html
前置条件
- 开发前准备2. 先引入maven
<dependency>
<groupId>com.github.wechatpay-apiv3</groupId>
<artifactId>wechatpay-java</artifactId>
<version>0.2.6</version>
</dependency>
- 初始化商户配置
Config config = new RSAAutoCertificateConfig.Builder()
.merchantId(wechatConstant.spMchId)
.privateKeyFromPath(wechatConstant.privateKeyPath)
.merchantSerialNumber(wechatConstant.merchantSerialNumber)
.apiV3Key(wechatConstant.apiV3key)
.build();
实现代码
- 先从请求头中获取构建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");
- 初始化解析器
// 初始化解析器 NotificationParser
NotificationParser parser = new NotificationParser((NotificationConfig) config);
- 进行验签, 解密并转换成Transaction, 验签解密都是用API干了, 不用自己手动整了
import com.wechat.pay.java.service.partnerpayments.jsapi.model
// 这个Transaction是微信包里面的
Transaction decryptObject = parser.parse(requestParam, Transaction.class);
- 成功后需要对微信进行应答
接收成功:HTTP应答状态码需返回200或204,无需返回应答报文。
接收失败:HTTP应答状态码需返回5XX或4XX,同时需返回应答报文
{
"code": "FAIL",
"message": "失败"
}
完成文章来源地址https://www.toymoban.com/news/detail-524800.html
到了这里,关于Java实现微信支付v3的支付回调的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!