报错:HTTP header缺少微信支付平台证书序列号(Wechatpay-Serial)
更新时间:2024.08.22在敏感字段加解密的场景,商户需要在发起请求的HTTP头部中通过Wechatpay-Serial添上平台证书(wechatpay.pem)的序列号请注意这里是平台证书序列号(平台证书总是以wechatpay.pem命名),而不是商户API证书序列号(商户API证书总是以apiclient_cert.pem命名),以声明加密所用的平台证书。如何获取平台证书请参考 非文件/图片下载如何验证签名 ,如何获取证书序列号参考第二部分
例如
1curl -X POST \2 https://api.mch.weixin.qq.com/v3/pay/transactions/out-trade-no/1217752501201407033233368018/close \3 -H "Authorization: WECHATPAY2-SHA256-RSA2048 mchid=\"1900000001\",..." \4 -H "Accept: application/json" \5 -H "Content-Type: application/json" \6 -H "Wechatpay-Serial: 4DF076AC5A7D968D4A8B0B9C599A74CB4CF8EE8A" \7 -d '{8 "mchid" : "1230000109"9 }'
如何获取证书序列号,参考以下步骤
可以用openssl命令行工具查看平台证书序列号
1openssl x509 -in wechatpay.pem -noout -serial
你会得到平台证书序列号
1Wechatpay-Serial=4DF076AC5A7D968D4A8B0B9C599A74CB4CF8EE8A
文档是否有帮助