深度解析:使用Postman调试微信支付接口的完美指南

news2024/10/3 4:31:08

前期准备

在使用 Postman 调试微信支付接口之前,你需要做好以下准备:

  • 安装 Postman 客户端应用,或使用网页版;
  • 成为 微信支付商户;
  • 已申请 商户API私钥。

当你已经具备这三个条件,就可以进入微信支付接口调试之旅了~

脚本导入

方式一:通过 fork 方式

为了帮助商户开发者快速上手,微信官方将 调试微信支付接口的脚本 部署到了 Postman 云工作台 WeChat Pay Public Workspace。

在该工作台中,你只需要将名为 WeChatPay APIv3 的集合 fork 到自己的工作台,然后就可以在 Postman 上构造并发送微信支付 APIv3 请求。

具体操作如下图所示:

注: 需要确保你已经登录了 Postman 平台。

1、进入到 WeChat Pay Public Workspace 后选择 Create a fork ,进入到下一步。

 

2、填入标签 Fork Label 并选择目的工作台 Workspace。一般情况下,导入个人工作台 My Workspace 即可,也可以选择导入其它工作台。点击 Fork Collection 完成导入,在你指定的 Workspace 中即可看到WeChatPay APIv3

 

3、WeChatPay APIv3 参考如下:

 

方式二:从本地导入

Note 不推荐本地导入脚本,不但麻烦而且容易出错,还不能同步上游的变更。

1、如果你有从本地导入的需求,首先,打开 WeChatPay APIv3 集合,展开选项后点击 Export

 

2、下载并保存 WeChatPay APIv3.postman_collection.json 文件至本地。然后,有两种方式本地导入 JSON 文件:

  • Postman 界面左上角的 Import 按钮
  • 菜单 File > Import 发起导入

选择本地的 WeChatPay APIv3.postman_collection.json,点击确认后,导入便完成了,操作如下图所示:

 

你会发现在工作台的 Collections 里新增了名为 WeChatPay APIv3 的一组请求。

配置 Environment

环境(Environment) 是一组变量 (Varibles) 的集合,脚本从环境中读取变量,用来计算请求的签名。

你可以从云工作台 WeChat Pay Public Workspace 中的 商户参数模版 中 fork 一个空环境到自己的工作台。

 

接下来,在你工作台的 Enviroments 中找到新建的环境,点击 Add a new varialbe 添加新的变量:

  • mchid:必填,商户号;
  • merchant_serial_no:必填,商户 API 证书序列号;
  • apiclient_key.pem:必填,PEM 格式的商户 API 私钥;

Warning 为了安全,请仔细阅读安全注意事项。

一组常见配置如下图所示:

 

参数变量:

变量名是否必填描述备注
mchid商户号
merchant_serial_no商户 API 证书的证书序列号
apiclient_key.pemPEM 格式的商户 API 私钥
openid用户的 OpenID,测试请求中的 {{openid}}
appid公众账号或者小程序的 AppID
shangmi值为 true 时使用商密签名默认值为空,即使用 RSA 签名
pubkey.pem国密签名时必填PEM 格式的商户 API 公钥如果私钥 PEM 中包含公钥,该变量可不填
server_url服务器地址默认设置为 api.mch.weixin.qq.com

发送请求

现在回到工作台,进入WeChatPay APIv3集合,选择你要发送的请求。

然后,填入请求参数,按照注释修改 Body 中的参数。

最后,选择你之前配置的 Environment,再点击地址栏右侧的Send按钮,发送请求吧。

 

安全注意事项

商户 API 私钥是非常敏感的信息。使用此代码时,应记住以下几点:

  • 将配置了私钥的工作台(workspace)的可见性(Visibility)设置为私有 Personal 或者 Private不要设置为公开 Public
  • 私钥的变量类型设置为 secret。变量值会以掩码的形式显示在屏幕上。
  • 私钥的变量值设置在 Current ValueCurrent Value 仅保存在本地 Session,不会被发送至 Postman 的服务器。
  • 如果使用来自其他人的 Postman 脚本,请检查依赖库、变量和脚本,确保没有被修改,避免被植入不安全代码。

Note 有关 Postman 的安全机制,请参考 Postman Security

常见问题

发送请求时遇到错误提示“Error: Too few bytes to parse DER.”或者“Too few bytes to read ASN.1 value.”

通常是环境 Environments 里配置的变量 merchantPrivateKey 填写有误导致的。脚本接收的私钥,以 -----BEGIN PRIVATEKEY----- 开始,以 -----END PRIVATE KEY----- 结束的一串字符串。

为什么我发送请求很慢?

如果你使用的网页版 Postman,请使用桌面版 Postman app。因为浏览器中跨域资源共享(CORS)的限制,网页版发送请求是由 Postman 后台中转的。


以下是我收集到的比较好的学习教程资源,虽然不是什么很值钱的东西,如果你刚好需要,可以评论区,留言【777】直接拿走就好了

各位想获取资料的朋友请点赞 + 评论 + 收藏,三连!

三连之后我会在评论区挨个私信发给你们~

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

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

相关文章

【视频】使用OBS将MP4推流至腾讯云直播

1、下载OBS OBS官网:https://obsproject.com/ OBS支持Win、Mac、Linux,如果下载速度很慢,建议使用迅雷下载 2、OBS推流设置 2.1 添加场景 默认会有一个“场景”,如果想继续添加可以点击“+”按钮 2.2 添加媒体源 1)点击“来源”窗口中“+”按钮 2)支持的媒体源如…

mysql高级(尚硅谷-夏磊)

目录 内容介绍 Linux下MySQL的安装与使用 Mysql逻辑架构 Mysql存储引擎 Sql预热 索引简介 内容介绍 1、Linux下MySQL的安装与使用 2、逻辑架构 3、sql预热 Linux下MySQL的安装与使用 1、docker安装docker run -d \-p 3309:3306 \-v /atguigu/mysql/mysql8/conf:/etc/my…

IP网络广播系统草坪音箱景区系统防水石头,草坪音箱的应用

IP网络广播系统草坪音箱景区系统防水石头,草坪音箱的应用 SV-7045V是深圳锐科达电子有限公司的一款防水网络草坪音箱,具有10/100M以太网接口,可将网络音源通过自带的功放和喇叭输出播放,可达到功率20W。常用场景:公园ip草坪音箱&…

2009年上半年 软件设计师 下午试卷

博主介绍:✌全网粉丝3W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验…

PHP最简单自定义自己的框架数据库封装调用(五)

1、实现效果调用实现数据增删改查封装 2、index.php 入口定义数据库账号密码 <?php//定义当前请求模块 define("MODULE",index);//定义数据库 define(DB_HOST,localhost);//数据库地址 define(DB_DATABASE,aaa);//数据库 define(DB_USER,root);//数据库账号 def…

解读百威亚太2023上半年财报:啤酒大年百威如何重塑高端化之路?

随着消费者的需求提升&#xff0c;啤酒行业向高端化发展&#xff0c;其中知名度较高的百威亚太、华润啤酒、青岛啤酒、燕京啤酒、嘉士伯等品牌在高端市场持续鏖战&#xff0c;实际成果如何也可以从业绩一探究竟。 以百威亚太为例。8月3日&#xff0c;百威亚太发布2023年上半年…

腾讯云服务器购买流程_三种方法图文指南

腾讯云服务器购买流程直接在活动上成本更低&#xff0c;在云服务器CVM或轻量应用服务器页面自定义选择比较gui&#xff0c;但是自定义云服务器CPU内存带宽配置选择范围广&#xff0c;活动上只能选择固定的活动机&#xff0c;选择范围窄&#xff0c;但是云服务器成本低。腾讯云服…

【python技巧】文本文件的读写操作

【python技巧】文本文件的读写操作 0. 背景1. file库的文件操作1.1 打开文件---file.open()1.2 读取文件---file.read()1.3 写入文件---file.write()1.4 查找内容---file.seek() 2. re库的文本处理参考资料 0. 背景 最近在写后端接口的时候&#xff0c;需要对.c、.conf等类型的…

腾讯云服务器配置升级方法_CPU内存带宽存储扩大流程

腾讯云服务器CPU、内存、硬盘和公网带宽都可以升级或降低配置&#xff0c;在云服务器控制台的“资源调整”中即可操作&#xff0c;调整配置用于升级或降级CPU内存&#xff0c;调整网络可用于更改公网带宽大小&#xff0c;云硬盘扩容可用于调整硬盘大小&#xff0c;腾讯云服务器…

技术中台之困:业务需求开发背后的拖累

技术中台作为企业数字化转型的重要支撑&#xff0c;曾一度备受瞩目。然而&#xff0c;近年来&#xff0c;技术中台的声势逐渐式微&#xff0c;曾经的辉煌渐渐褪去。本文将深入探讨技术中台为何没落的原因&#xff0c;并从中汲取教训。 技术中台起源于企业数字化转型的需求&…

由于找不到msvcp100.dll无法继续执行代码怎么解决

当遇到程序无法正常运行&#xff0c;提示缺少msvcp100.dll文件时&#xff0c;最初的反应可能是困惑和不知所措。然而&#xff0c;通过修复msvcp100.dll文件&#xff0c;我发现这个问题实际上并不复杂&#xff0c;并且可以通过一些简单的步骤解决。 在修复msvcp100.dll文件的时候…

谱包络之pysptk和pyworld

谱包络之pysptk和pyworld 谱包络可以直接用于语音的合成&#xff0c;常用的两个计算谱包络的库pysptk和pyword。 先看看代码&#xff1a; 一段语音x&#xff0c;采样率16000Hz pysptk import pysptkframe_length 1024 hop_length 80 order 25 alpha 0.41 frames libro…

JavaWeb学习|JSTL表达式

1.什么是JSTL表达式&#xff1f; JSTL标签库的使用就是为了弥补HTML标签的不足;它自定义许多标签&#xff0c;可以供我们使用&#xff0c;标签的功能和Java代码一样 在JSP页面文件中使用JSTL表达式&#xff0c;首先需要引入核心标签库 同时&#xff0c;也要把JSTL的jar包在to…

家电维修小程序开发指南:从零搭建到上线

随着科技的发展和人们生活水平的提高&#xff0c;家电已经成为人们生活中不可或缺的一部分。然而&#xff0c;随之而来的是家电维修门店业务的繁忙和效率的考验。为了提高家电维修门店的效率和服务质量&#xff0c;建立一个便捷高效的小程序已成为必要的选择。 本文将介绍一个简…

轻松上手流体分析

SOLIDWORKS FloXpress 是一个流体力学应用程序&#xff0c;可计算流体是如何穿过零件或装配体模型的。 根据算出的速度场&#xff0c;可以找到设计中有问题的区域&#xff0c;以及在制造任何零件之前对零件进行改进。 SOLIDWORKS FloXpress 向导会引导您完成以下步骤&#xff1…

C#类型转换

&#x1f35f;数据类型 大体分为三个大类型&#xff1a;整型&#xff08;其中又分为有符号整型、无符号整型&#xff09;、浮点型、特殊类型 注意&#xff1a;浮点数在初始化时要在值后加上后缀&#xff0c;双精度浮点数decimal的后缀为“M”、单精度浮点数double和float的后…

配置docker,案例复现

配置docker(系统为centos) 1.检查操作系统环境: docker要求CentOS系统的内核版本高于 3.10 &#xff0c;通过 uname -r 命令查看你当前的内核版本是否支持安装docker 2.查看你是否拥有旧的版本&#xff0c;有的话卸载&#xff0c;没有的话直接略过该步骤 sudo yum remove d…

基于PaddleOCR的车牌检测识别

基于PaddleOCR的车牌检测识别 前言前提条件相关介绍PaddleOCR环境要求车牌检测识别准备数据集车牌文本检测下载预训练模型微调、训练车牌检测数据集评估训练好的模型导出模型 车牌文本识别下载预训练模型微调、训练车牌识别数据集评估训练好的模型导出模型 进行预测测试结果图 …

【Windows系统】磁盘、Partition和Volume的联系与区别

1、磁盘 Disk&#xff0c;磁盘。 以下摘自微软 磁盘设备和分区 - Win32 apps | Microsoft Learn 硬盘由一组堆积的盘片组成&#xff0c;其中每个盘片的数据都以电磁方式存储在同心圆或 轨道中。 每个盘片都有两个头&#xff0c;一个在盘片的两侧&#xff0c;在磁盘旋转时读取…

SAS-proc transpose转置

一、语法 by&#xff1a;纵向变量&#xff0c;不转置&#xff0c;保留的变量&#xff0c;by使用需要先排序。 id&#xff1a;需要转置的变量。 var&#xff1a;新数据集中的数据。 idlabel&#xff1a;转置变量的标签。 copy&#xff1a;不转置的变量直接拷贝到输出数据集中。…