wechatpay-apiv3 / wechatpay-php

微信支付 APIv3 的官方 PHP Library,同时也支持 APIv2
Apache License 2.0
496 stars 100 forks source link

chain 方法实现有误 #77

Closed Tai7sy closed 2 years ago

Tai7sy commented 2 years ago

方法内将URL进行了normalize https://github.com/wechatpay-apiv3/wechatpay-php/blob/2478445c639c120c007a102cac0137e17e1b3ac8/src/Builder.php#L129

会导致一些API失效, 如 查询订单 https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_4_2.shtml#menu2

参数 out_trade_no 需要从path传入, 本身out_trade_no支持数字大小写和部分特殊字符 normalize之后会将参数修改导致API返回订单未找到

TheNorthMemory commented 2 years ago

本 SDK 把 URL 中的大写视为包含连字号的 segment。请求时, camelCase 会替换为 camel-case。相关 issue 可参考 #56#69

为了避免大小写错乱,URL 中存在变量时的正确做法是:使用 链式 URI Template 的 Path 变量。比如:

Tai7sy commented 2 years ago

thanks