微信支付v3在Node.js和TypeScript中的实践与应用

一、引言

随着电子支付的快速发展,微信支付已成为线上线下交易的重要支付手段。为了提供更加安全、高效、便捷的支付体验,微信官方在2020年12月25日正式推出了微信支付v3版本。相较于旧版本v2,v3在接口设计、数据交互格式、加密算法等方面均进行了全面升级。由于官方文档主要支持Java和PHP,本文将介绍如何在Node.js和TypeScript中封装微信支付v3的API,并分享一些实践中的经验和心得。

图片

二、微信支付v3版本概述

前言

微信官方在2020-12-25正式开放了v3版本的接口,相比较旧版本v2有了不少改变,例如:

  • 遵循统一的Restful的设计风格

  • 使用JSON作为数据交互的格式,不再使用XML

  • 使用基于非对称密钥的SHA256-RSA的数字签名算法,不再使用MD5或HMAC-SHA256

  • 不再要求HTTPS客户端证书

  • 使用AES-256-GCM,对回调中的关键信息进行加密保护

由于官方文档只支持java和php,所以我在这里使用ts简单的封装了一个版本,支持在js或者ts中使用,后续会更加完善这个npm包,谢谢。

使用

yarn add wechatpay-node-v3@2.1.8(也可以用npm,请加上版本号,使用正式版本)

 
import WxPay from 'wechatpay-node-v3'; // 支持使用requireimport fs from 'fs';import request from 'superagent';
const pay = new WxPay({
  
    appid: '直连商户申请的公众号或移动应用appid',  mchid: '商户号',  publicKey: fs.readFileSync('./apiclient_cert.pem'), // 公钥  privateKey: fs.readFileSync('./apiclient_key.pem'), // 秘钥});
# 这里以h5支付为例try {
  
      # 参数介绍请看h5支付文档 https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_3_1.shtml    const params = {
  
        appid: '直连商户申请的公众号或移动应用appid',      mchid: '商户号',      description: '测试',<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

前端组件开发

你的钟意将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值