minibear2021 / wechatpayv3

微信支付 API v3 Python SDK
MIT License
905 stars 138 forks source link

_verify_signature 里的headers 应该小写吧? #32

Closed a1120235890 closed 1 year ago

a1120235890 commented 1 year ago
  signature = headers.get('Wechatpay-Signature')
    timestamp = headers.get('Wechatpay-Timestamp')
    nonce = headers.get('Wechatpay-Nonce')
    serial_no = headers.get('Wechatpay-Serial')
a1120235890 commented 1 year ago

signature = headers.get('wechatpay-signature') timestamp = headers.get('wechatpay-timestamp') nonce = headers.get('wechatpay-nonce') serial_no = headers.get('wechatpay-serial') 不改能用?

minibear2021 commented 1 year ago

rfc2616里明确说明,在headers里,”Field names are case-insensitive.“。rfc4229里定义了一系列的field,这些field定义的时候使用了大小写,大部分web框架或服务器都保持了和4229里的定义一致,并对请求中的headers采用”保持原样“的策略传输。

代码里对微信支付回调的headers也采用了类似策略,使用至今未收到由此导致的bug。如果有因此导致的bug,你可以回复一下所使用的web服务器,确认存在的话可以考虑在代码中予以兼容处理。

minibear2021 commented 1 year ago

没有新的更新就关闭了。