Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Pay Laravel Package

yansongda/pay

A popular PHP payment library for Laravel and other frameworks, integrating Alipay and WeChat Pay with a clean API. Supports common payment flows, refunds, queries, callbacks/notifications, and flexible configuration for multi-app and sandbox use.

View on GitHub
Deep Wiki
Context7
v3.8.0-beta.2

v3.8.0-beta.2 - 2026-07-01

Added

  • 新增微信小程序虚拟支付支持 (#1172)
    • 新增 WechatConfigVirtualPay 配置类(appKey、sandboxAppKey、offerId、encodingAesKey、callbackToken)
    • 新增虚拟支付插件:PayPlugin、CallbackPlugin、AddPayloadSignaturePlugin、VerifySignaturePlugin
    • 新增业务插件:Currency(代币)、Goods(商品)、Order(订单)、Subscribe(订阅)、Withdraw(提现)
    • 新增 VirtualShortcut 用于客户端签名场景
    • 新增 WechatTrait::getWechatVirtualPaySignature()getWechatVirtualSessionSignature() 方法
    • Wechat::success() 支持 ['_action' => 'virtual'] 参数返回虚拟支付成功响应
    • 新增 Wechat::URL_VIRTUAL 常量(https://api.weixin.qq.com)

Changed

  • 移除所有 Provider 中未使用的 mergeCommonPlugins 方法 (#1173)

Fixed

  • 修复 VirtualShortcut 插件数组包含非 PluginInterface 实现的问题
  • 修复虚拟支付测试用例缺少 access_token 参数的问题
  • 移除测试文件中不必要的 [@internal](https://github.com/internal)[@coversNothing](https://github.com/coversNothing) 注解
v3.8.0-beta.0

v3.8.0-beta.0 - 2026-05-08

Added

  • 增加 PHP 8.5 支持 (#1139)
  • 新增 Yansongda\Pay\Service\AbstractServiceProvider 基类 (#1142)
  • 新增 Yansongda\Pay\CertManager 类用于证书缓存管理 (#1142)
  • 新增 Trait 系统替代 Functions.php (#1142, #1143, #1144)
    • AlipayTrait - 支付宝相关方法
    • WechatTrait - 微信相关方法
    • UnipayTrait - 银联相关方法
    • DouyinTrait - 抖音相关方法
    • PaypalTrait - PayPal 相关方法
    • JsbTrait - 江苏银行相关方法
    • StripeTrait - Stripe 相关方法
    • ProviderConfigTrait - Provider 配置方法
    • SupportServiceProviderTrait - ServiceProvider 支持方法
  • 新增空中云汇 (Airwallex) 支付支持 (#1140)
  • 新增 AirwallexConfig 类型化配置 (#1140, #1155)
  • 新增 EdgeCase 边界测试覆盖 (#1157)

Changed

  • 最低 PHP 版本要求从 8.0 升级到 8.2 (#1139)
  • Yansongda\Pay\Plugin\Wechat\V3\Marketing\MchTransfer\* 重命名为 Yansongda\Pay\Plugin\Wechat\V3\Marketing\Transfer\* (#1139)
  • 所有 Plugin 已迁移使用 Trait 方法代替 Functions.php 函数调用 (#1142, #1143, #1144)
  • 所有 ServiceProvider 继承 AbstractServiceProvider 基类 (#1145)
  • 所有 Provider 完成 typed config runtime migration (#1153, #1155)
  • 证书逻辑集中到 CertManager (#1163)
  • 规范化 CertManager 方法命名和错误码 (#1160)
  • 代码质量优化 - PHPStan 清理、异常扩展、CertManager 重构 (#1157)
  • 提取开发规范到 dev-guide Skill (#1164)
  • 修正 Config.php 错误码误用 & Pay::config() 去重 (#1162)
  • 修复 Trait 静态方法调用的 deprecation warnings (#1147)
  • 更新 Scrutinizer 镜像以支持 PHP 8.2 (#1158)
  • 升级 dev 依赖到 PHPUnit 11 / Mockery 1.6 / Monolog 3 / Symfony 6.4 并修复 PHPStan 错误
  • 更新依赖到最新版本 (#1148)
  • 新增 pr-review-provider skill 用于 Provider PR 代码审查 (#1149)

Removed

  • src/Functions.php,所有辅助函数已迁移到对应的 Trait (#1142, #1143, #1144, #1145)
  • tests/FunctionTest.php,测试已迁移到 Trait 测试 (#1142, #1143, #1144, #1145)
  • src/Plugin/Wechat/StartPlugin.php,请使用 Yansongda\Artful\Plugin\StartPlugin 代替 (#1139)
  • src/Plugin/Wechat/V3/Marketing/Transfer/ 目录(因微信支付 API 变更)(#1139)
  • get_alipay_config()get_wechat_config()get_unipay_config() 函数,请使用 get_provider_config() 代替 (#1139)
  • WechatConfig 中未使用的证书相关方法 (#1159)
v3.7.20

added

  • feat: 新增 PayPal 支付 (#1127)
  • feat: 新增 Stripe 支付 (#1130)

fixed

  • fix: 修复 localhost 签名验证绕过漏洞 (GHSA-q938-ghwv-8gvc) (#1131)

Full Changelog: https://github.com/yansongda/pay/compare/v3.7.19...v3.7.20

v3.7.19

added

  • feat: 增加支付宝商品文件上传插件 (#1120)

New Contributors

Full Changelog: https://github.com/yansongda/pay/compare/v3.7.18...v3.7.19

v3.7.18

fixed

  • fix: 微信分账参数可能丢失的问题 (#1108)

Full Changelog: https://github.com/yansongda/pay/compare/v3.7.17...v3.7.18

v3.7.17

fixed

  • fix: 事件缺失与不生效的问题 (#1106)

Full Changelog: https://github.com/yansongda/pay/compare/v3.7.16...v3.7.17

v3.7.16

added

  • feat: 新增微信商户转账查询接口 Shortcut (#1099)
  • feat: 微信商家转账支持内置异步通知参数(#1100)

New Contributors

Full Changelog: https://github.com/yansongda/pay/compare/v3.7.15...v3.7.16

v3.7.15

added

  • feat: 新增最新版微信商户转账撤销接口(#1096)

Full Changelog: https://github.com/yansongda/pay/compare/v3.7.14...v3.7.15

v3.7.14

added

  • optimize: 优化私钥证书的字符串读取方式(#1081)
v3.7.13

added

  • feat: 新增支付宝APP同步回调验签 (#1061, #1064)

New Contributors

Full Changelog: https://github.com/yansongda/pay/compare/v3.7.12...v3.7.13

v3.7.12

added

  • feat: 支持最新版微信商户转账 (#1058)

Full Changelog: https://github.com/yansongda/pay/compare/v3.7.11...v3.7.12

v3.7.11

added

  • feat: 新增微信分账申请分账账单插件 (#1041)
v3.7.10

fixed

  • fix: 未配置微信证书时,自动获取证书后仍然使用之前的微信配置(#1026)

Full Changelog: https://github.com/yansongda/pay/compare/v3.7.9...v3.7.10

v3.7.9

added

  • feat: 新增抖音支付(#1014)

New Contributors

Full Changelog: https://github.com/yansongda/pay/compare/v3.7.8...v3.7.9

v3.7.8

added

  • feat: 新增 v3 付款码服务商模式(#1010)

New Contributors

Full Changelog: https://github.com/yansongda/pay/compare/v3.7.7...v3.7.8

v3.7.7

added

  • feat: 新增江苏银行e融支付(#1002)

New Contributors

Full Changelog: https://github.com/yansongda/pay/compare/v3.7.6...v3.7.7

v3.7.6

fixed

  • fix: 微信关闭订单报解包错误的问题(#1000, #1001)

Full Changelog: https://github.com/yansongda/pay/compare/v3.7.5...v3.7.6

v3.7.5

fixed

  • fix: 支付宝响应空签名时签名验证逻辑错误的问题(#998)

optimized

  • optimize: 优化微信 ResponsePlugin 插件去除不必要的返回参数(#996)

deprecated

  • deprecate: 微信 StartPlugin 改为使用 yansongda/artful 中的插件(#993)
  • deprecate: get_wechat_config, get_alipay_config, get_unipay_config 方法已废弃,使用 get_provider_config 方法代替(#994)

New Contributors

Full Changelog: https://github.com/yansongda/pay/compare/v3.7.4...v3.7.5

v3.7.4

optimized

  • optimize: 使用 is_file 代替字符串结尾判断(#982)

New Contributors

Full Changelog: https://github.com/yansongda/pay/compare/v3.7.3...v3.7.4

v3.7.3

fixed

  • fix: 修复商家转账参数缺失的问题(#977)

New Contributors

Full Changelog: https://github.com/yansongda/pay/compare/v3.7.2...v3.7.3

v3.7.2

added

  • feat: 微信V2版本支持普通红包(#973)

chore

  • chore: 升级 yansongda/artful 到最新版解决 http 配置不生效的问题(#974)

New Contributors

Full Changelog: https://github.com/yansongda/pay/compare/v3.7.1...v3.7.2

v3.7.1

fixed

  • fix: 修复微信付款码 shortcut 支付插件执行顺序错误(#972)

New Contributors

Full Changelog: https://github.com/yansongda/pay/compare/v3.7.0...v3.7.1

v3.7.0

added

  • feat: 支持微信 v3 版付款码支付(#969)

changed

  • changed: 微信付款码支付更改为 v3 版(#969)

Full Changelog: https://github.com/yansongda/pay/compare/v3.6.5...v3.7.0

v3.6.5

added

  • feat: 支付宝根证书配置支持直接配置内容(#959)

New Contributors

Full Changelog: https://github.com/yansongda/pay/compare/v3.6.4...v3.6.5

v3.6.4

fixed

  • fix: 修复支付宝授权访问令牌插件参数问题(#954)

Full Changelog: https://github.com/yansongda/pay/compare/v3.6.3...v3.6.4

v3.6.3

optimized

  • optimize: 优化微信错误响应时的处理逻辑(#944)

Full Changelog: https://github.com/yansongda/pay/compare/v3.6.2...v3.6.3

v3.6.2

fixed

  • fix: 修复微信 App 支付参数异常问题(#941)

Full Changelog: https://github.com/yansongda/pay/compare/v3.6.1...v3.6.2

v3.6.1

chore

  • chore: 升级 yansongda/artful 到 v1.0.9 修复 JsonPacker 为空时 packer 错误的问题(#937)

Full Changelog: https://github.com/yansongda/pay/compare/v3.6.0...v3.6.1

v3.6.0

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, #934)
  • 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)

Full Changelog: https://github.com/yansongda/pay/compare/v3.5.3...v3.6.0

v3.6.0-beta.1

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, #934)
  • 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)

Full Changelog: https://github.com/yansongda/pay/compare/v3.6.0-beta.0...v3.6.0-beta.1

v3.6.0-beta.0

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)
  • 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)v

Full Changelog: https://github.com/yansongda/pay/compare/v3.5.3...v3.6.0-beta.0

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
graham-campbell/flysystem
capell-app/block-library
axium/identity
cetria/laravel-dummy-models
cetria/reflection-helper
agropredict/sso-auth-bundle
evolvestudio/spam-protection
directorytree/opensearch-client
directorytree/opensearch-adapter
datacore/hub-sdk
develia/commons
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony
develia/geo-bundle
dreamzy/livewire-charts
touchestate-sdk/php-sdk
22h/doctrine-garbage-collection-bundle
agtp/agtp-php
agtp/mod-php
splash/sonata-admin