微信支付接口常用参数及证书区分

news2024/11/19 4:38:10

注意:服务商模式下,均是使用服务商的以下信息

1. 证书

1.1商户api证书(v2和v3接口都需要使用)

1.1.1获取方式:

什么是商户API证书?如何获取商户API证书? (商户api证书
),里面介绍了如何获取商户证书的详细步骤

1.1.2作用:

v3接口:

使用商户api证书私钥用于生成签名(签名的官方文档: 签名生成-接口规则 | 微信支付商户平台文档中心 ) ,一共三个证书文件,一个说明文件(建议阅读一下),商户api证书私钥是apiclient_key.pem这个文件(代码加载,参考官方文档: https://pay.weixin.qq.com/wiki/doc/apiv3/wechatpay/wechatpay7_1.shtml),剩下的两个证书文件目前我个人是没有发现在v3接口需要使用,咨询技术支持也是这样回复的。

v2接口:

v2接口需要使用证书的接口在文档会有特别提示:

一般开发语言使用的p12证书,详细信息参考链接:https://pay.weixin.qq.com/wiki/doc/api/jsapi_sl.php?chapter=4_3

注意:
1.php使用方法参考文档

2. .NET环境开发,请确认Framework版本大于2.0,必须在操作系统上双击安装证书apiclient_cert.p12后才能被正常调用。


3.apiclient_cert.p12是商户证书文件,除PHP外的开发均使用此证书文件。官方sdk包含了示例代码,这里展示的是java语言的

1.1.3如何查看 证书使用是否正确(v2和v3接口通用检查方法):

到证书解析的网站解析( 证书查看 ) apiclient_cert.pem这个文件,查看它的证书序列号,对比商户平台的证书序列号。(下载证书的时候这三个文件一般放在一起,根据apiclient_cert.pem文件判断使用的是否是正确的

1.1.4商户api证书序列号查看方式及作用(v3接口)

查看:管理员帐号登录微信商户管理后台,在API安全里面点击查看证书可以获取。
作用:构建签名,用于声明所使用的证书

1.2微信支付平台证书(v3接口使用)

1.2.1获取方式

1:接口获取(官方文档: 平台证书-文档中心-微信支付商户平台 ,代码(java): https://github.com/wechatpay-apiv3/wechatpay-apache-httpclient

2:官方工具:( SDK,工具 | 微信支付商户平台文档中心 )

3:postman(https://github.com/wechatpay-apiv3/wechatpay-postman-script):配置好可以直接下载,然后解密(解密参考:证书和回调报文解密-接口规则 | 微信支付商户平台文档中心

即可使用(推荐在测试的时候使用,顺便检查了签名的参数是否正确)

1.2.2作用:

1、用户回调信息的验签(验签文档: 签名验证-接口规则 | 微信支付商户平台文档中心 ),验签的方法很多,这里就不提供了,【重要】:

这个顺序不能改变,顺序改变会出现验签失败,接口返回的来的顺序不要修改,可能某些方法会修改顺序(亲测加咨询)。
2、敏感信息加解密([敏感信息加解密-接口规则 | 微信支付服务商平台文档中心])

1.2.3检查微信支付平台证书使用是否正确:

1:检查回调信息返回的微信支付平台证书序列号和商户现有的微信支付平台证书序列号是否一致,如果不一致,请重新下载
2:如果重新下载的微信支付平台证书序列号跟当前回调的微信支付平台证书序列号不一致,则应该是下载的微信支付平台证书的商户号不是当前回调订单的商户

1.2.4微信支付平台证书序列号获取方式及作用

获取:跟微信支付平台证书获取方式一致(对应字段:serial_no)
作用:1.回调参数返回给商户,用于验证回到的安全性(也可以用来区分是哪一个商户的回调,因为每个商户的微信支付平台证书序列号不一致)
2.用户敏感信息加密时,当作加密标识

注意:回调返回的和请求接口时返回的证书序列号是微信支付平台证书序列号,不是商户API证书序列号,二者不一样

2. apiv3密钥(v3接口使用)

2.1如何设置:

什么是APIv3密钥?如何设置? (文档说明了如何设置,这里就不提供商户平台的截图了)

2.2作用:

v3接口下,商户对支付回调的解密(咨询技术支持说逻辑是发给我们的回调通知是使用我们商户平台设置的apiv3密钥进行加密的,所以也是使用它来解密,解密失败有三种可能:1.apiv3密钥错误,跟当时设置的不一样2.使用的apiv3的密钥不是当前订单对应商户号下设置的apiv3密钥)(官方解密: 证书和回调报文解密-接口规则 | 微信支付商户平台文档中心 ,亲测报错AEADBadTagException: Tag mismatch! 检查就是apiv3密钥错误导致
)3.解密的参数不完整,请检查回调参数的完整性

3.apiv2密钥(v2接口使用)

3.1如何设置:

什么是APIv2密钥?如何设置或修改? (文档说明了如何设置,这里就不提供商户平台的截图了)

3.2作用:

商户调用v2接口时,使用api密钥进行签名,或者对v2接口返回的回调信息进行验签和解密(部分回调需要解密,比如退款回调)

注意:apiv3密钥和apiv2密钥不是同一个参数,作用不相同,二者独立设置,且互不影响

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/691816.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Spring AOP】面向切面编程,面向切面编程是面向对象编程的孪生兄弟嘛?且听我细细道来! ! !

前言: 大家好,我是良辰丫,面向切面编程和面向对象编程是两种几乎不同的编程方式,并不是所谓的孪生兄弟,但是我们可以说面向切面编程是面向对象编程的一种补充和完善,到底是什么意思呢?请跟随良辰的步伐往下瞧! ! !💌💌💌 🧑个人主…

机器学习7:特征工程

在传统的软件工程中,核心是代码,然而,在机器学习项目中,重点则是特征——也就是说,开发人员优化模型的方法之一是增加和改进其输入特征。很多时候,优化特征比优化模型带来的增益要大得多。 笔者曾经参与过一…

【初识 Docker | 中级篇】 Docker 中使用 docker-compose 安装 Nacos

文章目录 前言一、安装 docker1、安装docker2、安装docker-compose 二、Nacos 单机安装1.创建配置文件1.1.创建目录1.2.创建nacos-logback.xml1.3.创建application.properties1.4.创建docker-compose.yml 2.nacos数据库表结构3.启动Nacos容器 总结 前言 可以按照以下步骤在 Do…

Text2Video-Zero:Text-to-Image扩散模型是Zero-Shot视频生成器

Text2Video-Zero: Text-to-Image Diffusion Models are Zero-Shot Video Generators Paper: https://arxiv.org/abs/2303.13439 Project: https://github.com/Picsart-AI-Research/Text2Video-Zero 原文链接:Text2Video-Zero:Text-to-Image扩散模型是Zero-Shot视频…

Splashtop 让按需远程支持流程更加流畅

Splashtop 一直采用9位 SOS 会话码的形式为用户提供按需支持: 1、技术员引导最终用户访问网站 sos.splashtop.com; 2、最终用户下载并运行小程序,然后发送9位会话码给技术员。 自2015年 Splashtop SOS 产品推出以来,我们一直采…

PLC数字量与模拟量信号输入/输出接线

西门子S7-1200 具有用于进行计算和测量、闭环回路控制和运动控制的集成技术,是一个功能非常强大的系统,可以实现多种类型的自动化任务。下面分享S7-1200系列数字量与模拟量信号输入/输出接线图给大家。 数字量信号模块输入输出接线 SM 1221 数字量输入…

分布式机器学习(Parameter Server)

分布式机器学习中,参数服务器(Parameter Server)用于管理和共享模型参数,其基本思想是将模型参数存储在一个或多个中央服务器上,并通过网络将这些参数共享给参与训练的各个计算节点。每个计算节点可以从参数服务器中获取当前模型参数&#xf…

高速电路设计系列分享-信号链精度分析(下)

文章目录 概要整体架构流程技术名词解释技术细节小结 概要 提示:这里可以添加技术概要 在任何设计中,信号链精度分析都可能是一项非常重要的任务,必须充分了解。之前, 我们讨论了在整个信号链累积起来并且最终会影响到转换器的多…

嵌入式软件测试笔记7 | 嵌入式软件测试中基于风险的测试策略如何开展?

7 | 嵌入式软件测试中基于风险的测试策略如何开展? 1 风险评估1.1 分析风险1.2 如何估计故障几率?1.3 导致故障几率较高的因素1.4 估计可能的损失1.5 风险评估的来源1.6 风险的处理 2 主测试计划中的策略2.1 目标2.2 制定策略的步骤2.3 选择质量特性2.4 …

美国签证办理需要户口本吗?

在申请美国签证时,有关所需文件的问题常常令人困惑。关于是否需要提供户口本,知识人网可以向您解释一下相关情况。 首先,需要明确的是,美国签证申请并不要求申请人提供户口本。美国领事馆和大使馆在签证申请过程中通常要求申请人提…

零知识证明(Sigma和Flat-shamir)

概述 定义:大概的定义就是prover可以向verifier证明自己给定的信息是大概率正确的,但是不泄露任何附加信息,包含信息本身。 举例 这里以一个比较经典的例子,即向红绿色盲(无法区分红色和绿色,看红色和绿色…

基于RFID技术的并列式挤奶厅方案

随着现代农业的不断发展,RFID技术已经广泛应用于畜牧业生产中。在奶牛养殖领域,RFID技术可以帮助养殖场管理人员实现奶牛的精准管理,提高生产效率。本文将介绍一种基于RFID技术的并列式挤奶厅方案,该方案可以实现对每头奶牛的精准…

网络安全(黑客)必备工具包

1. NMap 作为Network Mapper的缩写,NMap是一个开源的免费安全扫描工具,可用于安全审计和网络发现。它适用于Windows、Linux、HP-UX、Solaris、BSD变体(包括Mac OS)以及AmigaOS。Nmap可用于探测网络上哪些主机可访问,它们正在运行的操作系统类…

Keil MDK编程环境下的 STM32 IAP下载(学习笔记)

IAP的引入 不同的程序下载方式 ICP ICP(In Circuit Programing)。在电路编程,可通过 CPU 的 Debug Access Port 烧录代码,比如 ARM Cortex 的 Debug Interface 主要是 SWD(Serial Wire Debug) 或 JTAG(Joint Test Action Group); ISP ISP(I…

合宙Air724UG Cat.1模块硬件设计指南--Wifi扫描

概述 Air724UG具有WiFi Scan功能,支持2.4G频段下的802.11b,802.11g,802.11n等WiFi技术协议,结合模块本身支持的蓝牙功能,二者共用一路天线。 Air724UG以主动的方式,在每个信道上发出Probe Request帧&#x…

Java集合框架中取出元素时的比较问题:“==“与equals()方法

今天随便刷力扣的时候看到了最小栈&#xff0c;发现力扣上没做过&#xff0c;题不难&#xff0c;于是做了一下 一开始的代码如下&#xff1a; class MinStack {Deque<Integer> stack;Deque<Integer> minStack;public MinStack() {stack new LinkedList<>()…

HHU商务数据挖掘期末考点复习

文章目录 第一章 概述第二章 商务智能过程2.1四个部分2.2数据仓库与数据库2.3在线分析处理与在线事务处理 第三章 关联分析3.1 频繁模式与关联规则3.2 相关性度量liftcosine 第四章 分类4.1决策树4.1.1 信息熵的概念4.1.2 计算目标变量的信息熵4.1.3 算条件熵4.1.4 信息增益4.1…

从专用模型到大模型

背景&#xff1a; 在开始文章正文之前&#xff0c;我们来讲讲为何突然大模型火了&#xff0c;大模型和专用模型到底有何差异。 大模型火之前专业模型其实已经能够很好的配合做很多很复杂的事情。如果只是从提高工作效率的角度来讲应该是发展模型的专业问题解决能力&#xff0…

SpringSecurity实现Remember-Me实践

【1】基于会话技术的实现 也就是基于Cookie的实现。 ① 登录页面 这里name"remember-me"表示“记住我”的复选框&#xff0c;默认key是remember-me。 <form action"/user/login" method"post"><input type"text" name&q…

Jmeter连接数据库并进行操作

一&#xff1a;加一个JDBC组件 二、填写连接信息&#xff1a; 三&#xff1a;添加JDBC请求 四、填写sql并运行