sprintf('mchid="%s",nonce_str="%s",timestamp="%d",serial_no="%s",signature="%s"', $merchant_id, $nonce, $timestamp, $serial_no, $sign);serial_no怎么获取
时间: 2023-07-19 18:52:30 浏览: 198
`$serial_no` 是商户证书的序列号,用于在请求微信支付接口时进行身份验证。在使用证书进行请求时,需要将证书序列号添加到 HTTP 请求头中,例如:
```
Authorization: WECHATPAY2-SHA256-RSA2048 mchid="1234567890",nonce_str="5K8264ILTKCH16CQ2502SI8ZNMTM67VS",timestamp="1623698366",serial_no="DEA3C3D1E53BEC2E9D7C9578E9F6A6D2C3B6B9E0",signature="jN2r1v8KzJpEo6pqX7VwU0XV1HVVqQfDvMlJXqZkUdLhWt5nYj2/5f+7qWc7N3eku4LzvUv1vQ4dOH6l9uT3jW+P8f1/4w1v+Q9p5jTfXe2jJ5zV4PjR6CJ1U7H6j5w0hCMmCwR5kKfH2nG5hWQHbvHk1wF6l5WZJtA7Z9R0wqOxqMLXJZUHvyx4yYQ2fR2N6cs5/MlP7ZnMzJwP6Qo4Oj8uRjE2+E05Zy3+uV9E9R8OjGzF0cX0dXnM0lZJZ7TJ0i7Bbi7ePfN9aUeV0Z4sXJiKq1sZf5aYmJQqMzB5P4qYfj7X/x6sQ7YhU4sB5zJ2wUUWVQqTmJj+p4Z5y1g=="
```
其中,`serial_no` 就是证书序列号。
你可以在商户平台上下载证书文件(通常包括 `.pem` 和 `.key` 文件),然后使用 OpenSSL 命令行工具查看证书序列号。具体命令如下:
```
openssl x509 -noout -serial -in apiclient_cert.pem
```
其中,`apiclient_cert.pem` 是证书文件的路径,运行命令后会输出证书序列号,形如 `serial=DEA3C3D1E53BEC2E9D7C9578E9F6A6D2C3B6B9E0`。将序列号复制到 `$serial_no` 变量中即可。
阅读全文