Comments (8)
是不是应该转码一遍 UTF-8 到 ASCII?
https://www.w3school.com.cn/tags/html_ref_urlencode.asp
from alipay.
根据 https://github.com/alipay/alipay-sdk-python-all/blob/master/alipay/aop/api/util/WebUtils.py#L109
try:
from urllib.parse import unquote_plus
except ImportError:
from urllib import unquote_plus
message = {
item[0]: unquote_plus(item[1])
for item in [
field.split("=") for field in raw_body.decode("utf-8").split("&")
]
}
from alipay.
这个问题看表象应该是你证书短了一些导致的
from alipay.
这个问题看表象应该是你证书短了一些导致的
不是的,我上面的代码片段修复了;是字符编码的问题 'gmt_create': '2023-09-10+22%3A46%3A18',
-> 'gmt_create': unquote_plus('2023-09-10+22%3A46%3A18'),
from alipay.
我没找到把消息 body 转成字典的接口,自己写了转换逻辑
message = {
item[0]: unquote_plus(item[1])
for item in [
field.split("=") for field in raw_body.decode("utf-8").split("&")
]
}
from alipay.
@lifeiteng 你好, 为了方便其他人不会遇到这个问题,我确认一下。
- 你用的是什么后端框架?
- 你调用verify的时候, 传入的参数是这样的吗
success = self.alipay_gateway.verify(message, signature)
这是你的message
message = {{'gmt_create': '2023-09-10+22%3A46%3A18', 'charset': 'utf-8', 'gmt_payment': '2023-09-10+22%3A46%3A24' ...}
而实际上你认为正确的应该是这样的:
message = {{'gmt_create': '2023-09-10+22:46:18', 'charset': 'utf-8', 'gmt_payment': '2023-09-10+22:46:24' ...}
from alipay.
@fzlee fastapi
from alipay.
你看一下这个链接
https://stackoverflow.com/questions/67393319/getting-query-parameters-as-dictionary-in-fastapi
将query里面的参数转化成dict是你这边应该做的。
你说的对,传入verify函数的参数应该是被unquote的, 但是我这边不会做这个转换。
from alipay.
Related Issues (20)
- 支付宝公钥已经采用证书的形式,没有提供公钥这种形式,需要自己转换?请问有没有好的解放方案么?谢谢 HOT 3
- 添加支持 alipay.fund.account.query(支付宝资金账户资产查询接口) HOT 2
- alipay.api_alipay_trade_query(out_trade_no=order_id) HOT 4
- uwsgi 无法正常返回 HOT 6
- 验证回调通知错误 HOT 4
- 没有公网ip,怎么样验证支付是否成功 HOT 2
- 能否增加aes支持 HOT 2
- ImportError: cannot import name 'Alipay' from 'alipay'
- 使用支付宝公钥 初始化AliPay时报错 binascii.Error: Incorrect padding HOT 8
- ssl依赖该升级了 HOT 3
- 您好,请问支持分账吗? HOT 11
- 证书方式如何安装 HOT 30
- 是否支持证书方式的签名 HOT 10
- 应用网关是什么 HOT 3
- 3.0如何获取请求返回状态 HOT 10
- 获取用户信息怎么调用 HOT 9
- alipay支付网关已经变更了
- ValueError: nameserver is not an IP address or valid https URL HOT 2
- 沙箱环境下调用失败(invalid-app-id)及其解决办法 HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from alipay.