微信支付 native支付小程序云开发 流程

7 篇文章 0 订阅
微信支付 native支付小程序云开发 流程
  • 集成微信 native 支付踩了不少坑。
第一步 开通native支付

登录微信商户平台,开通native 支付。配置相关回调地址。

第二步 创建云函数

创建云函数,执行npm install wechatpay-axios-plugin --save 命令安装 wechatpay-axios-plugin 包,wechatpay-axios-plugin文档入口

第三步 生成商户证书

下载微信证书生成工具生成商户API证书。工具下载地址 在商户平台生成的时候会有提示,这里就不说明了。

第四步 设置APIv3秘钥,

这个需要单独设置,不同于商户秘钥。

第五步 生成平台证书(最重要的一步也是最容易出问题的地方)

首先不用管https://api.mch.weixin.qq.com/v3/certificates这个接口。
直接使用工具:Certificate Downloader来生成,下载地址:https://github.com/EliasZzz/CertificateDownloader/releases;源代地址:https://github.com/wechatpay-apiv3/CertificateDownloader 查看使用说明;对命令用实例说明一下,因为我花了很久才搞定:java -jar CertificateDownloader-1.1.jar -f 商户私钥文件路径 -k 证书解密的密钥 -m 商户号 -o 证书保存路径 -s 商户证书序列号

这里需要注意一下不要:-c 参数 非必需参数在这里插入图片描述

-k 设置的APIv3密钥,不用有疑问,直接使用设置的APIv3密钥即可。
-m 商户号
-f 商户的私钥文件 apiclient_key.pem 微信证书工具生成的。
-s 商户证书的序列号

其他的看图就好。

在这里插入图片描述

生成的密钥文件,其中
在这里插入图片描述
框起来的就是平台证书序列号,千万不能搞混了,不是商户证书序列号。

第六步 文件配置都生成了
const {Wechatpay, Formatter} = require('wechatpay-axios-plugin')
const wxpay = new Wechatpay({
  mchid: 'your_merchant_id',
  serial: 'serial_number_of_your_merchant_public_cert',
  privateKey: '-----BEGIN PRIVATE KEY-----' + '...' + '-----END PRIVATE KEY-----',
  certs: {
    'serial_number': '-----BEGIN CERTIFICATE-----' + '...' + '-----END CERTIFICATE-----',
  },
  // APIv2参数 >= 0.4.0 开始支持
  secret: 'your_merchant_secret_key_string',
  // 注: 如果不涉及资金变动,如仅收款,merchant参数可选,仅需 `secret` 一个参数,注意其为v2版的。
  merchant: {
    cert: '-----BEGIN CERTIFICATE-----' + '...' + '-----END CERTIFICATE-----',
    key: '-----BEGIN PRIVATE KEY-----' + '...' + '-----END PRIVATE KEY-----',
    // or
    // passphrase: 'your_merchant_id',
    // pfx: fs.readFileSync('/your/merchant/cert/apiclient_cert.p12'),
  },
})

初始化字典说明如下:

your_merchant_id 为你的商户号,一般是10字节纯数字
serial 为你的商户证书序列号,一般是40字节字符串
privateKey 为你的商户私钥证书,一般是通过官方证书生成工具生成的文件名是apiclient_key.pem文件,支持纯字符串或者文件流buffer格式
secret 为APIv2版的密钥,商户平台上设置的32字节字符串
certs{[serial_number]:string} 为通过下载工具下载的平台证书key/value键值对,键为平台证书序列号,值为平台证书pem格式的纯字符串或者文件流buffer格式
merchant.cert 为你的商户证书,一般是文件名为apiclient_cert.pem文件,支持纯字符串或者文件流buffer格式
merchant.key 为你的商户私钥证书,一般是通过官方证书生成工具生成的文件名是apiclient_key.pem文件,支持纯字符串或者文件流buffer格式
merchant.passphrase 一般为你的商户号
merchant.pfx 为你的商户PKCS12格式的证书,文件名一般为apiclient_cert.p12
注: 0.4.0版本做了重构及优化,APIv2&v3以及Axios初始参数,均融合在一个型参上。

按照https://github.com/TheNorthMemory/wechatpay-axios-plugin文档提供的API调用就没有任何问题了。
最重要的是平台证书,最容易搞混,大家注意了~~~~~~~。最后有任何问题都可以留言哦。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值