{"id":19001707,"url":"https://github.com/ledccn/ledc-easywechat","last_synced_at":"2025-04-22T17:49:00.442Z","repository":{"id":257813349,"uuid":"868783830","full_name":"ledccn/ledc-easywechat","owner":"ledccn","description":"基于EasyWechat的webman支付插件","archived":false,"fork":false,"pushed_at":"2025-03-28T14:58:47.000Z","size":106,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-17T08:59:24.716Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ledccn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-10-07T07:18:02.000Z","updated_at":"2025-04-02T07:12:59.000Z","dependencies_parsed_at":null,"dependency_job_id":"3c90f79d-4fb5-404f-9823-27fc687ca4d4","html_url":"https://github.com/ledccn/ledc-easywechat","commit_stats":null,"previous_names":["ledccn/ledc-easywechat"],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ledccn%2Fledc-easywechat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ledccn%2Fledc-easywechat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ledccn%2Fledc-easywechat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ledccn%2Fledc-easywechat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ledccn","download_url":"https://codeload.github.com/ledccn/ledc-easywechat/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250290692,"owners_count":21406228,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-08T18:12:23.795Z","updated_at":"2025-04-22T17:49:00.395Z","avatar_url":"https://github.com/ledccn.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 基于EasyWechat的webman支付插件\n\n## 安装\n`composer require ledc/easywechat`\n\n## 使用\n\n开箱即用，只需要传入一个配置即可：\n\n```php\nuse Ledc\\EasyWechat\\PayConfigManager;\nuse Ledc\\EasyWechat\\Enums\\TerminalEnum;\n\n// 可在Bootstrap，全局注入配置\nPayConfigManager::set(function (TerminalEnum $terminalEnum) {\n    // TODO... 从数据库读取配置，然后返回\n    return [];\n});\n```\n\n在创建实例后，所有的方法都可以有IDE自动补全；例如：\n\n```php\nuse Ledc\\EasyWechat\\Enums\\TerminalEnum;\nuse Ledc\\EasyWechat\\PayService;\n\n// 用户支付终端\n$terminal = $request-\u003epost('terminal');\n$terminalEnum = TerminalEnum::from((int)$terminal);\n\n$payService = new PayService($terminalEnum);\n\n$attach = '业务附加数据（微信支付成功后，原样返回）';\n// 待支付的订单数据（可以看微信官方文档或跟踪进pay方法查看参数，按实际需要的传）\n$order = [\n    'description' =\u003e '购买会员',\n    'out_trade_no' =\u003e uniqid(),\n    'amount' =\u003e 1,\n];\n\n// 统一支付\n$result = $payService-\u003epay($attach, $order);\n```\n\n## 微信支付回调URL\n\n`https://您的域名/wechat/pay/callback`\n\n具体处理逻辑在：\n\n`\\Ledc\\EasyWechat\\PayNotifyService::handle`\n\n### 处理支付回调的最佳实践：\n\n注册webman事件，监听 `\\Ledc\\EasyWechat\\Enums\\EventEnum` 的三个事件即可；\n\n修改 `config/event.php` ，加入：\n\n```php\nuse Ledc\\EasyWechat\\Enums\\EventEnum;\n\nreturn [\n    // 微信支付回调通知：所有事件消息\n    EventEnum::wechat_pay_any-\u003evalue =\u003e [],\n    // 微信支付回调通知：支付成功事件\n    EventEnum::wechat_pay_success-\u003evalue =\u003e [\n        [WechatPaySuccessListener::class, 'handle'],\n    ],\n    // 微信支付回调通知：退款成功事件\n    EventEnum::wechat_pay_refunded-\u003evalue =\u003e [],\n];\n```\n\n## 微信公众号消息回调URL\n\n`https://您的域名/wechat/account/callback`\n\n具体处理逻辑在：\n\n`\\Ledc\\EasyWechat\\WechatService::handle`\n\n## 微信公众号网页授权登录授权完成后，重定向URL\n\n`https://您的域名/wechat/account/oauth/redirect`\n\n具体处理逻辑在：\n\n`\\Ledc\\EasyWechat\\OfficialAccount\\OauthMiddleware::redirect`\n\n注：使用微信公众号网页授权时，请在中间件配置中，添加此中间件\n\n`\\Ledc\\EasyWechat\\OfficialAccount\\OauthMiddleware::class`\n\n## 二次开发\n\n\n## 捐赠\n\n![reward](reward.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fledccn%2Fledc-easywechat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fledccn%2Fledc-easywechat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fledccn%2Fledc-easywechat/lists"}