如何用postman验证微信支付V3普通商户的接口参数

     为了帮助商户开发者快速便捷的上手V3支付的接口参数设置格式,同时验证各个参数的可用性和正确性,微信支付发布了一个预支付的脚本,并将脚本部署到 Postman 云工作台 WeChat Pay Public Workspace。只需要将集合《微信支付 APIv3》 fork 到自己的工作台,就可以在 Postman 上轻松地构造并发送微信支付 APIv3 请求了。

     但是这个脚本只支持普通商户,不支持服务商,如果要进行服务商接口参数的验证,需要对脚本进行修改.将在另外一篇文章《如何用postman验证微信支付V3普通商户的接口参数》中介绍

前置条件

  • Postman,一款业界知名的 API 构建和使用平台。建议注册一个账户,便于使用它各种功能。
  • 成为微信支付商户
  • 商户 API 私钥:商户申请商户API证书时,会生成商户私钥,并保存在本地证书文件夹的文件 apiclient_key.pem 中。

快速开始

步骤1:Fork 方式导入脚本

点击 Collection Web View | Postman进入向导,如下图所示。

点击 Fork Collection 进入下一步,填入标签 Fork Label 并选择目的工作台 Workspace。一般情况下,导入个人工作台 My Workspace 即可。

点击 Fork Collection 完成导入。在你指定的 workspace 中可以看到《微信支付 APIv3》了。

步骤2:配置 Environment

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

你可以从《微信支付 APIv3》提供的 商户参数模版 中 fork 一个空环境到自己的工作台。

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

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

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

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

步骤3:发送请求

Note 我们建议,使用桌面版 Postman app 发送请求,速度更快,体验更好!

现在回到工作台,进入《微信支付 APIv3》集合,选择你要发送的请求。

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

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

实现原理

Pre-Request Script 是一段 Javascript 脚本。Postman 在请求发送之前,执行这段脚本。脚本做了以下操作:

  1. 加载依赖库
  2. 读取 Environment 中的商户参数变量
  3. 根据请求的方法、URL、参数、Body 等信息,构造签名串,并计算请求签名
  4. 设置请求头 Authorization

Note 有关 Postman 脚本的更多信息,请参考 Scripting in Postman

参数变量

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

依赖库

脚本直接使用了:

为了避免每次请求都下载依赖库,两个库以源代码的方式存储在 Collection Variables。这大大减少了使用网页版 Postman 发送请求时的耗时。

安全注意事项

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

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

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

如何发起国密请求

使用 国密-商户参数模版,在环境变量中设置:

  • shangmi:值为 true
  • mchid:必填,商户号。
  • merchant_serial_no:必填,商户 API 证书序列号。
  • apiclient_key.pem:必填,PEM 格式的商户 API 私钥。
  • pubkey.pem:必填,PEM 格式的商户 API 国密公钥。

这样,脚本会使用国密 SM2 计算签名,发送国密请求了。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据引用,在接口测试工具Postman中,可以进行微信支付接口的测试。具体步骤如下: 1. 首先,打开Postman工具。 2. 在工具界面中,选择创建一个新的请求。 3. 在请求中,填写微信支付接口的URL地址。 4. 根据接口文档,设置请求的方法(通常是POST或GET)以及请求头部信息。 5. 根据接口文档提供的参数信息,设置请求的参数。例如,可以设置订单号、支付金额、用户信息等。 6. 点击发送请求,等待接口返回数据。 7. 根据接口返回的数据,判断接口是否正常工作。可以查看返回的状态码、响应内容等信息。 通过以上步骤,你可以使用Postman工具对微信支付接口进行测试。请确保在测试之前,仔细阅读微信支付文档,并按照文档中的要求设置请求参数和头部信息。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [微信支付V3.3.6完美开发示例 java+php](https://download.csdn.net/download/trojin_inhv/8882635)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [postman接口测试及接口自动化测试](https://blog.csdn.net/TDLDDMZ/article/details/120269289)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值