微信支付 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
    评论
PHP微信支付Native支付是指在PHP开发环境中使用微信支付的一种支付方式。具体而言,Native支付是将微信支付的功能集成到PHP程序中,使得用户在网页上能够通过微信扫码支付的方式完成支付流程。 要实现PHP微信支付Native支付,在开发环境中需要先进行以下几个步骤: 1. 注册微信支付商户账号:通过微信支付官方网站注册并获取商户号以及相关的API密钥。 2. 配置服务器环境:搭建PHP开发环境,并确保服务器支持HTTPS协议,因为微信支付要求使用HTTPS进行数据传输。 3. 引入微信支付SDK:下载并引入微信支付的PHP SDK,该SDK提供了调用微信支付接口的相关函数库。 4. 编写支付代码:根据具体需求,编写PHP代码调用微信支付接口,包括生成支付二维码、处理支付结果等。 5. 测试支付流程:在开发环境中进行支付流程的测试,包括生成支付二维码供用户扫码、接收微信支付异步通知等。 需要注意的是,使用微信支付Native支付时,要确保生成的支付二维码能够正常显示,并能够通过微信扫码完成支付。另外,在接收微信支付异步通知时,要对收到的订单信息进行验证,确保支付结果的准确性。 总结来说,PHP微信支付Native支付是在PHP开发环境中实现微信支付功能的一种方式,通过生成支付二维码让用户扫码完成支付流程。要实现该功能,需要注册商户账号、配置服务器环境、引入微信支付SDK并编写相应的支付代码。最后,在开发环境中进行测试,确保支付流程的稳定性和安全性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值