微信V3支付报错 平台证书及平台证书序列号

1.平台证书及平台证书序列号设置错误报错:

  • 错误1:

Verify the response’s data with: timestamp=1735184656, nonce=a5806b8cabc923299f8db1a174f3a4d0, signature=FZ5FgD/jtt4J99GKssKWKA/0buBSOAbWcu6H52l2UqqaJKvrsNxvodB569ZFz5G3fbassOQcSh5BFq6hvEMjQ2U3gKyF1muqsX8oufN4pLQpO+SO5CM7q8y/jIiYG18Kn3Iss7jbG/qGTsssscN98tfpUAb3TCWSQB1mVXUgSDWsROthYfduUgsNMC/xe1z1f2Os9L8fYWjqv8Fr5W5sL7+jFzSTibu7XcietZ+G1MusHC606ncF8MU9cNEf5QRHqgkril3e5IEesssEud6bp35sss0I87wgU5eMDZJp2hw==, cert=[2sssssss1FCC3BBA284F5C7889BCD7B47 => …] failed

  • 错误2:

certs(175BxxxxE4507EA22FFD9D8B7CCD0218F1E3xxxx) contains the merchant’s certificate serial number(175BxxxxE4507EA22FFD9D8B7CCD0218F1E3xxxx) which is not allowed here.

  • 错误3:

Cannot found the serial(2sssssss1FCC3BBA284F5C7889BCD7B47)'s configuration, which’s from the response(header:Wechatpay-Serial), your’s 5B1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A

2.重点介绍平台证书 及序列号获取方法

选择 “验证微信支付身份” 管理证书
2.1选择商户后台 “验证微信支付身份” 管理证书。
平台证书的序列号
拿到 平台证书的序列号,

2.2 点击 “右上角” 下载证书
在这里插入图片描述
获取证书相关链接:https://pay.weixin.qq.com/doc/v3/merchant/4012068814

打开链接后按照提示下载jar包,
jdk下载地址:https://repo.huaweicloud.com/java/jdk/ windows配置环境变量JAVA_HOME:C:\Program Files\Java\jdk-13
path增加:%JAVA_HOME%\bin
java -jar CertificateDownloader.jar -k a3F7t8L2x9K5xxxxx -m 1xxxxxx -f D:\program\WXCertUtil\WXCertUtil\cert\1700367105_20241225_cert\apiclient_key.pem -s 11111122E5678EA22xxxx18F1cdEab3 -o d:
在d盘生成wechatpay开头的pem文件,就是我们要的平台证书。上传到服务器/data/wechat_cert/wechatpay_platform_create_at_202412.pem下

下属代码中的
WECHAT_PAY_PLATFORM_CERTIFICATE=/data/wechat_cert/wechatpay_platform_create_at_202412.pem
WECHAT_PAY_PLATFORM_CERTIFICATE_SERIAL=11D1111B23D5BFD1FddbBBA111F5C7889BC11111

3.支付完整代码

<?php

namespace app\common\util;


use WeChatPay\Builder;
use WeChatPay\Crypto\Rsa;
use WeChatPay\Formatter;


//参考 微信支付文档:https://pay.weixin.qq.com/docs/merchant/apis/in-app-payment/direct-jsons/app-prepay.html
class WeChatPayUtil
{
   
   
    /**
     * 微信开发平台审核通过的应用ID
     * @var string
     */
    protected $appid = 'xxx';

    /**
     * 商户ID
     * @var string
     */
    protected $merchantId = 'xxx';

    /**
     * 商户v3版本私钥
     * @var string
     */
    protected $merchantV3PrivateKey = 'xx';


    /**
     * 「商户API私钥」文件的绝对路径
     * @var string
     */
    protected $merchantPrivatePath = '\v3_apiclient_key.pem';

    /**
     * 「商户API证书」的「证书序列号」
     * @var string
     */
    protected $merchantCertificateSerial = 'xxx';

    /**
     * 「微信支付平台证书」文件的绝对路径
     * @var string
     */
    protected $platformCertificate = '\platform_key.pem';

    /**
     * 「微信支付平台证书」的「证书序列号」
     * @var string
     */
    protected $platformCertificateSerial = 'xx';

    /**
     * APIv3 客户端实例
 
### 如何使用 ECharts 创建纵向柱状图 为了创建一个纵向柱状图,在ECharts中需要调整`xAxis`和`yAxis`的设置,使横轴成为类目轴而纵轴成为数值轴。具体来说,可以通过交换原本用于定义横向柱状图中的`xAxis`与`yAxis`属性来实现这一点[^2]。 下面是一个简单的例子,展示了如何通过JavaScript代码构建这样的图表: ```javascript var chartDom = document.getElementById(&#39;main&#39;); var myChart = echarts.init(chartDom); var option; option = { title: { text: &#39;示例纵向柱状图&#39; }, tooltip: { trigger: &#39;axis&#39;, axisPointer: { type: &#39;shadow&#39; } }, legend: {}, grid: { left: &#39;3%&#39;, right: &#39;4%&#39;, bottom: &#39;3%&#39;, containLabel: true }, xAxis: { type: &#39;value&#39; // 设置为数值型 }, yAxis: { type: &#39;category&#39;, // 类目型 data: [&#39;类别一&#39;, &#39;类别二&#39;, &#39;类别三&#39;, &#39;类别四&#39;, &#39;类别五&#39;] }, series: [ { name: &#39;销量&#39;, type: &#39;bar&#39;, data: [24210, 32524, 50434, 52421, 98742], label: { show: true, position: &#39;insideRight&#39; } } ] }; if (option && typeof option === &#39;object&#39;) { myChart.setOption(option); } ``` 这段脚本初始化了一个名为`myChart`的对象,并设置了其选项参数以显示一个基本的纵向条形图。其中最关键的部分在于`xAxis`被设为数值类型(`type:&#39;value&#39;`),而`yAxis`则作为分类轴并指定了具体的类别数据。 此外,还可以进一步自定义样式和其他功能特性,比如添加提示框、网格线以及标签等元素,从而让图表更加美观易读。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值