pay/CHANGELOG.md

506 lines
11 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## v3.6.0 - TBD
### added
- feat: 新增 `InvalidSignException`(#903)
- feat: 新增 `DecryptException`(#906)
- feat: 新增 `decrypt_wechat_contents` 解密微信加密内容(#912)
- feat: `\Yansongda\Pay\Plugin\Wechat\Extend\Complaints\QueryDetailPlugin` 自动解密用户手机号(#912)
- feat: 支持 微信/支付宝 多版本(#918)
- feat: 增加 `HttpClientFactoryInterface` 方法用于工厂模式创建 http client(#921)
- feat: 增加银联 `条码支付综合前置平台-被扫支付` 刷卡支付插件(#922)
- feat: 增加小程序虚拟支付签名、用户签名方法(#924)
- feat: 增加微信发票插件(#927)
### changed
- change: 查询API方法由 `find` 改为 `query`,同时参数只支持 array(#897)
- change: cancel/close 的 API 参数只支持 array不再支持 string(#900, #901)
- change: 微信合单支付去掉独立的 `combine_app_id`,`combine_mch_id` 配置,复用其它配置(#909)
- change: 手机网站支付快捷方式由 wap 改为 h5(#911, #915, #916)
- change: `Pay` 类对外方法由所改变,如果您有自行扩展相关插件,请检查(#926)
- change(internal): 按场景对 支付宝/微信/银联 插件进行分类 && 插件代码优化(#894, #909, #913, #922)
- change(internal): 将 支付/微信/银联 shortcut 从 plugin 文件夹独立出来(#895, #904, #905, #933)
- change(internal): shortcut 完整标明各个插件,不使用 commonPlugin(#886)
- change(internal): DirectionInterface 方法由 `parse` 改为 `guide`(#896)
- change(internal): 错误代码 const 命名规则统一(#902, #903, #906, #909, #926)
- change(internal): 调整 `ProviderInterface` 的返回参数,增加了 `Rocket` 返回(#909)
- change(internal): 将 `call()` 方法重命名为 `shortcut()`(#914)
- change(internal): `mergeCommonPlugins` 不再作为 `AbstractProvider` 的方法(#918)
- change(internal): `AbstractProvider` 默认使用 `HttpClientFactoryInterface` 创建 http client(#921)
- change(internal): 调整 银联 插件文件夹结构(#923)
- change(internal): 替换为 `artful` API 请求框架(#926)
- change(internal): 调整微信代金券插件文件结构(#928)
## v3.5.3
### feat
- feat: 增加支付宝 分账关系维护/分账查询 插件(#874)
### optimized
- optimize: 支付宝公钥使用公共函数获取(#835)
## v3.5.2
### fixed
- fix: monolog 不存在时报错问题(#834)
- fix: `\Yansongda\Pay\Provider\AbstractProvider::call` 方法返回值类型错误问题(#834)
## v3.5.1
### fixed
- fix: `destination` 的类型约束去掉 array(#824)
## v3.5.0
### deleted
- deleted: 移除 `Yansongda\Pay\Direction\ArrayDirection` 类(#818, #819)
## v3.4.2
### changed
- change: 只支持 hyperf3.x 版本(#815)
## v3.4.1
### optimized
- optimize: 优化无签名时错误提示(#813)
- optimize: 优化预下单失败时错误提示(#814)
## v3.4.0
### added
- feat: 增加 `get_direction` 方法获取 `Direction` 对象(#803)
### changed
- change: `Exception::INVALID_PARSE` 更改为 `Exception::INVALID_DIRECTION`(#804)
- chore: 最低支持版本变更为 php8.0(#801)
### optimized
- optimize: 优化 coding style 代码规范(#802)
## v3.3.1
### fixed
- fix: 支付宝沙箱地址(#800)
## v3.3.0
### added
- feat: 支持微信 v2 版本刷卡支付(#753)
- feat: 增加申请代扣协议插件(#767)
- feat: 增加支付中签约插件(#763)
- feat: 增加只签约插件(#765)
- feat: `shortcut` 支持 `_no_common_plugins` 参数不使用通用插件(#771)
- feat: 增加委托代扣 shortcut(#773)
### deleted
- delete: 移除废弃的类(#752)
### fixed
- fix: 微信代金券 api 参数错误问题(#777)
### refactor
- refactor: 重构 ArrayParser 类(#754)
- refactor: coding style(#769)
- refactor: 优化现有微信v2插件代码(#772)
- refactor: 所有参数判断使用 `$payload->has()` 判断是否存在(#778)
### chore
- chore: 支持 psr/http-message 2.0 版(#784)
### changed
- change: 所有的 `Find*Plugin` 调整为 `Query*Plugin`(#756)
- change: 插件开始装载日志由 `info` 调整为 `debug`(#755)
- change: ParserInterface 签名由 `?ResponseInterface $response` 变更为 `PackerInterface $packer, ?ResponseInterface $response`(#754)
- change: \Yansongda\Pay\Plugin\Wechat\RadarSignPlugin 增加 `__construct(JsonPacker $jsonPacker, XmlPacker $xmlPacker)` 方法(#753)
- change: 所有 `Parser` 更名为 `Direction`(#770, #774)
- change: '_type' 类型统一定义为渠道id如: 小程序id公众号id等增加 '_action' 为操作类型用于 shortcut(#781)
- change: 默认 container 由 `php-di/php-di` 改为 `hyperf/pimple`(#786)
## v3.2.14
### fixed
- fix: 微信投诉相关插件响应解析错误(#746)
## v3.2.13
### optimized
- optimize: 微信退款可取消 notify_url(#741)
## v3.2.12
### added
- feat: 增加获取微信平台公钥证书方法(#733)
## v3.2.11
### docs
- docs: 增加微信转账注释方便ide识别(#725)
## v3.2.10
### fixed
- fix: CallbackReceived 事件在获取到回调参数后触发(#716)
## v3.2.9
### fixed
- fix: 当配置文件出错微信解密失败后报错的问题(#698)
## v3.2.8
### fixed
- fix: 商家批次单号查询批次单时 query 参数不正确(#690)
## v3.2.7
### fixed
- fix: 微信批次单号查询批次单时 query 参数不正确(#688)
## v3.2.6
### fixed
- fix: json 中有 `&` 时解析错误(#687)
## v3.2.5
### fixed
- fix: 修复支付宝 subject 中存在 + 号回调验签不通过(#684)
## v3.2.4
### added
- feat: 银联支付(#662)
## v3.2.3
### added
- feat: 微信 Native 支付支持关联其它类型 appid(#680)
## v3.2.2
### refactor
- refactor: 优化支付宝 launch 插件代码(#678)
### deprecated
- deprecated: 支付宝 `RadarPlugin`, `SignPlugin` 已废弃,使用 `RadarSignPlugin` 代替(#678)
- deprecated: 微信 `SignPlugin` 已废弃,使用 `RadarSignPlugin` 代替(#678)
## v3.2.1
### fixed
- fix: `wechat_public_cert_path` 未配置时报错的问题(#674)
### refactor
- refactor: 优化 `wechat_public_cert_path` 配置(#674)
## v3.2.0
### changed
- change: Function 增加命名空间(#665)
- change: `get_alipay_config``get_wechat_config` 返回类型由 `Config` 改为 `array`(#667)
- change: 支付宝转账查询接口由老版本改为为新版本(#666)
### deleted
- delete: Function 中将 `get_wechat_authorization` 方法移除(#664)
### performance
- perf: 支付宝中支付宝根证书、应用证书序列号在常驻进程中缓存(#668)
## v3.1.12
### fixed
- fix: 微信代金券详情 url 不正确(#663)
### refactor
- refactor: 优化代码 (#661)
## v3.1.11
### added
- feat: 微信退款自动增加回调url(#649)
## v3.1.10
### added
- feat: 支付宝周期扣款签约接口(#644)
## v3.1.9
### fixed
- fix: 微信服务商模式预下单存在子商户appid时invoke 时也应该为子商户 appid (#638)
## v3.1.8
### fixed
- fix: 提前读取响应数据造成数据错误的问题(#633, #634)
## v3.1.7
### fixed
- fix: 微信内网页支付供应商模式 sub_appid 非必填(#628)
## v3.1.6
### fixed
- fix: 微信注释中返回类型错误(#630)
## v3.1.5
### added
- feat: 微信服务商退款及查询退款支持自动 sub_mchid 参数(#619)
## v3.1.4
### added
- feat: 支持微信投诉API (#614)
## v3.1.3
### added
- feat: 配置文件增加第三方应用授权token的支持 (#602)
## v3.1.2
### fixed
- fix: alipay 中 event dispatch provider 是 wechat 的问题 #595
## v3.1.1
### fixed
- fix: 设置 container强制更新 config 后 container 不是设置的 container 的问题 #591
## v3.1.0
兼容 v3.0 版本,推荐升级(#579)
### dependency
- delete: 移除 `php-di/php-di` 依赖。如果您使用的框架非 `hyperf`, `laravel` 或 没有指定 `ContainerInterface`,仍需手动安装 `composer require php-di/php-di`
- delete: 移除 `guzzlehttp/guzzle` 依赖。如果没有指定 `\Yansongda\Pay\Contract\HttpClientInterface` 仍需手动安装 `composer require guzzlehttp/guzzle`
- upgrade: 升级 `yansongda/supports``~v3.2.0`
- upgrade: 升级 `php` 最低版本到 `7.4.0`
### fixed
- fix: 解决 php8.1 下 deprecated 的提示
### kernel
- refactor: 自动识别 `hyperf`, `laravel` 框架,使用相应的 `container` 减少内存占用
- refactor: 完全支持 `psr11`,可手动传入 `ContainerInterface` 使用
- changed: `Pay::config(array $config = [], $container = null)` 方法第二个参数增加为 $container可手动传入 `ContainerInterface`/`Closure`。注意 `Closure` 需最终返回一个 `ContainerInterface` 的实例。
## v3.0.27
### fixed
- fix: 添加分账接受人姓名加密字段错误 (#566)
## v3.0.26
### added
- feat: 支持 psr/log 2.x and 3.x (#562)
## v3.0.25
### fixed
- fix: 支持分账传递姓名 (#559)
## v3.0.24
### added
- feat: 支持使用小程序等其他类型转账 (#552)
## v3.0.23
### fixed
- fix: 未设置微信公钥证书时,加密不生效的问题 (#549)
## v3.0.22
### fixed
- fix: 微信分账传递姓名时未加密的问题 (#547)
## v3.0.21
### added
- feat: 微信转账快捷方式与加密方式支持 (#542)
## v3.0.20
### updated
- chore: 完善支付宝响应错误时的异常信息 (#530)
## v3.0.19
### fixed
- fix: 支付宝 system.oauth.token 请求参数错误 (#528)
## v3.0.18
### added
- feat: 电商收付通的退款使用 _type 增加多类型 appid (#518)
## v3.0.17
### added
- feat: 增加电商收付通的退款相关插件 (#513)
## v3.0.16
### fixed
- fixed: app 支付调起签名问题 (#1389476)
## v3.0.15
### fixed
- fixed: 下载对账单时响应解析 (#df27f95)
## v3.0.14
### fixed
- fixed: app 支付调起签名中参数大小写问题 (#7916fdd)
## v3.0.13
### fixed
- fixed: app 支付调起签名中时间戳参数大小写问题 (#510)
## v3.0.12
### fixed
- fixed: 微信小程序支付供应商模式 sub_appid 非必填 (#509)
## v3.0.11
### added
- feat: 微信 h5 支付支持关联 mini_app_id (#506)
## v3.0.10
### added
- feat: 服务商批量转账到零钱 (#503)
## v3.0.9
### added
- feat: 支持直连商户批量转账到零钱 (#501)
## v3.0.8
### fixed
- fix: 设置 bcscale 时支付宝根证书计算错误的问题 (#492, #494)
## v3.0.7
### fixed
- fix: 支付宝 wap/web 支付 get 方法时url拼接问题 (#488)
## v3.0.6
### optimized
- chore: 优化服务商模式小程序下单场景 (#487)
## v3.0.5
### fixed
- fix: 服务商模式交易查询 (#483)
## v3.0.4
### added
- feat: 支持服务商模式 (#479)
- feat: 支持微信服务商分账功能 (#480)
## v3.0.3
### added
- feat: 公钥证书增加 cer 后缀支持 (#d22e29a)
## v3.0.2
### fixed
- 修复微信支付关闭订单时报错问题 (#475)
## v3.0.1
### fixed
- 修复微信支付关闭订单时报错问题 (#475)