打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
微信 收付通 开发几个注意点汇总(也可能是WechatPay
userphoto

2022.06.27 浙江

关注

首先给上收付通开发文档的地址https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pages/ecommerce.shtml 

其次是WechatPay-API-v3相关的文档地址https://wechatpay-api.gitbook.io/wechatpay-api-v3/

和原先xml请求方式的区别  微信的原话

 

1.证书和秘钥相关

      首先要注意,证书有2份,一份是在微信后台下载的那个证书 (这个是用来RSA签名用的),另一份叫 平台证书 (获取方式是通过http请求获取 请求内容看https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter3_3.shtml),平台证书的主要作用是 加密微信要求处理的敏感数据 身份证号手机号之类的,还有就是验证微信的签名。  这是两个证书的作用,看微信的意思好像平台证书会有新的更新,所以需要注意要做好证书及时更新获取的逻辑。

      接着就是秘钥相关的,收付通服务商的后台有两个地方可以配置秘钥。收付通主要用到的是APIV3那个,也就是下面那个,这个秘钥目前发现主要用户获取平台证书后,他给你的内容你需要通过APIV3的秘钥去解密出来,才能得到证书秘钥内容。具体怎么转换也可以参考他的 案例(https://github.com/wechatpay-apiv3/wechatpay-apache-httpclient)

 

遇到过的问题:

{"code":"PARAM_ERROR","message":"HTTP header缺少微信支付平台证书***(Wechatpay-Serial)"}
{"code":"PARAM_ERROR","message":"平台证书***Wechatpay-Serial错误"}
{"code":"PARAM_ERROR","message":"平台私钥解密失败"}

第一个错误 有敏感信息需要证书加密的请求中,httpheader 需要加上平台证书***(Wechatpay-Serial),

第二个和第三个 就是要检查你加密使用的证书 是不是平台证书

 

2.签名相关

       签名的内容以及如何构造 其实微信文档这部分已经很详细了,纯文字看的不太懂得话其实 下面也给了例子了,内容的构造完全可以照着改改写写。我觉得最主要的就是注意 GET请求的签名内容最后一行没有请求报文时候,也要加上一个\n

      签名方式就是采用了最常见的SHA256 with RSA  所以也没遇到太多坑,如果出现验签错误或者签名错误,记得对比一下构造的内容有没有缺失

 

3.小程序支付

       从合单支付的文档里面是看不出 收付通支不支持小程序,不过之前在某个地方看到过 小程序支付和h5一样走”js调起支付" 这个接口。 其实确实是可以使用的,但是他文档有一处是有问题的,看下图

在执行完下单接口后,你会拿到prepay_id 这个值,接下来你要构造 "JS调起支付" 需要用到的参数,文档里面 他的意思签名内容是 prepay_id的内容,其实最后一行的是 prepay_id=wx201410272009395522657a690389285100 这整个内容 。试出来成功的签名内容为:

  1. wx8888888888888888
  2. 1414561699
  3. 5K8264ILTKCH16CQ2502SI8ZNMTM67VS
  4. prepay_id=wx201410272009395522657a690389285100

签名方式就是 证书的rsa签名

 

4.退款

      光是微信的直接退款,基本上是正常的,主要是涉及到分账退款的时候,先看一个微信分账退款的逻辑

 

 

 

最后发自内心想吐槽微信支付的文档。。还有一堆的{"code":"SYSTEM_ERROR","message":"系统繁忙,请稍后重试"}  这个错误好多还都是业务上出错!但是又无法真正明确是什么原因。

以上内容也只是自己调试时候遇到发现的。不确定后面会不会有变动,仅供参考!!!

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
微信支付之APIv3
微信支付特约商户进件提交申请单平台证书序列号Wechatpay
微信小程序接入微信支付,只需3步
Django整合微信h5支付
java微信公共账号支付(JS支付)
微信App支付技术架构全解析
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服