dcloudio / uni-app

A cross-platform framework using Vue.js
https://uniapp.dcloud.io
Apache License 2.0
39.66k stars 3.6k forks source link

微信支付增加支持RSA签名算法 #2290

Open jdgjxxchy opened 3 years ago

jdgjxxchy commented 3 years ago

新功能描述 微信支付增加支持RSA签名算法 https://uniapp.dcloud.net.cn/api/plugins/payment

现状及问题 目前微信支付API只支持MD5的签名算法,微信目前的v3支付api都采用了RSA算法

尝试方案 开发者后端也采用MD5算法

补充信息 微信文档: https://wechatpay-api.gitbook.io/wechatpay-api-v3/

BuiltTo1ast commented 3 years ago

v3版本的后端接口我都开发完了,才发现uniapp不支持rsa加密,我真是太难了

dcloudhdx commented 3 years ago

如何确定不支持的?订单信息(orderInfo)是个对象,直接透传给微信的,签名放到 orderInfo 里

BuiltTo1ast commented 3 years ago

如何确定不支持的?订单信息(orderInfo)是个对象,直接透传给微信的,签名放到 orderInfo 里

image

作者你好,是在微信小程序开发支付功能,微信小程序也支持orderInfo传递paySign参数吗?

dcloudhdx commented 3 years ago

如果是微信小程序支付不需要用orderinfo,在外层即可,参考文档 https://uniapp.dcloud.io/api/plugins/payment

BuiltTo1ast commented 3 years ago

如果是微信小程序支付不需要用orderinfo,在外层即可,参考文档 https://uniapp.dcloud.io/api/plugins/payment

文档写的加密暂支持MD5。所以api端用v3的RSA加密暂时还不支持吧?

breeze0630 commented 3 years ago

后台用V3下单的在小程序支付会提示签名验证失败,实际上签名算法通过app支付验证过是好的,真的是难......

mmdlsu commented 1 year ago

都2023年了还是不支持吗?怎么弄都报requestPayment:fail [payment微信:-1]General errors

mmdlsu commented 1 year ago

是支持V3的找到原因了,后端返回的参数大小写不一样,最后一个字段一个字段对比发现了,靠 image