PHPackages                             godrealms/wechat-php-sdk - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. godrealms/wechat-php-sdk

ActiveLibrary[API Development](/categories/api)

godrealms/wechat-php-sdk
========================

A PHP SDK for WeChat Official Account and Mini Programs

v1.0.8(10mo ago)127MITPHPPHP &gt;=7.1

Since Feb 18Pushed 10mo ago1 watchersCompare

[ Source](https://github.com/godrealms/WeChat-PHP-SDK)[ Packagist](https://packagist.org/packages/godrealms/wechat-php-sdk)[ Docs](https://github.com/godrealms/WeChat-PHP-SDK)[ RSS](/packages/godrealms-wechat-php-sdk/feed)WikiDiscussions main Synced today

READMEChangelogDependencies (3)Versions (10)Used By (0)

WeChat PHP SDK
==============

[](#wechat-php-sdk)

一个用于集成微信公众平台和小程序的 PHP SDK。该库简化了与微信 API 的交互，包括 OAuth 授权、卡券管理、消息处理和支付功能。

功能特性
----

[](#功能特性)

- **OAuth 授权**：生成授权 URL，获取访问令牌，并获取用户信息。
- **卡券管理**：创建、分发和兑换卡券。
- **消息处理**：处理和响应来自微信公众平台的消息。
- **支付模块**：支持微信支付的基础功能，包括JSAPI支付。
- **工具类**：包括缓存、日志、签名生成和 XML 处理工具。

环境要求
----

[](#环境要求)

- PHP &gt;= 7.4
- `ext-curl` 和 `ext-json` 扩展
- 用于 HTTP 请求的 [Guzzle](https://github.com/guzzle/guzzle)
- [PSR-4 自动加载](https://www.php-fig.org/psr/psr-4/)

安装
--

[](#安装)

使用 Composer 安装 SDK：

```
composer require godrealms/wechat-php-sdk
```

项目结构
----

[](#项目结构)

```
├── examples/                      # 示例代码目录
│   ├── card-distribution.php      # 卡券分发示例
│   ├── card-manager.php           # 卡券管理示例
│   ├── card-redeem.php            # 卡券兑换示例
│   ├── gift-card-manager.php      # 礼品卡管理示例
│   ├── jsapi-payment.php          # JSAPI支付示例
│   ├── membership-card-manager.php# 会员卡管理示例
│   ├── special-ticket-manager.php # 特殊票券管理示例
│   └── third-party-card-manager.php # 第三方卡券管理示例
│
├── src/                           # SDK 核心代码
│   ├── Auth/
│   │   └── OAuth.php              # OAuth 授权模块
│   ├── Message/
│   │   └── MessageHandler.php     # 消息处理模块
│   ├── Offiaccount/               # 微信公众平台相关功能
│   │   ├── CardDistribution.php   # 卡券分发管理
│   │   ├── CardManager.php        # 卡券管理
│   │   ├── CardRedeem.php         # 卡券兑换
│   │   ├── GiftCardManager.php    # 礼品卡管理
│   │   ├── Material.php           # 素材管理
│   │   ├── MembershipCardManager.php # 会员卡管理
│   │   ├── SpecialTicketManager.php  # 特殊票券管理
│   │   └── ThirdPartyCardManager.php # 第三方卡券管理
│   ├── Payment/
│   │   └── Payment.php            # 支付模块
│   ├── Utils/
│   │   ├── Cache.php              # 缓存工具
│   │   ├── Logger.php             # 日志工具
│   │   ├── RandomString.php       # 随机字符串生成工具
│   │   ├── Signature.php          # 签名生成工具
│   │   ├── XmlHelper.php          # XML 工具
│   │   └── Config.php             # 配置管理
│
├── tests/                         # 单元测试
│   ├── CardDistributionTest.php   # 卡券分发测试
│   ├── CardManagerTest.php        # 卡券管理测试
│   ├── CardRedeemTest.php         # 卡券兑换测试
│   ├── GiftCardManagerTest.php    # 礼品卡管理测试
│   ├── MediaUploaderTest.php      # 素材上传测试
│   └── SpecialTicketManagerTest.php # 特殊票券测试
│
├── vendor/                        # Composer 依赖目录
├── .gitignore                     # Git 忽略文件
├── composer.json                  # Composer 配置文件
├── composer.lock                  # Composer 锁定文件
├── LICENSE                        # 开源协议
└── README.md                      # 项目文档

```

使用方法
----

[](#使用方法)

### 1. 初始化配置

[](#1-初始化配置)

```
use WeChatSDK\Config;

$config = new Config('your_app_id', 'your_app_secret');
```

### 2. OAuth 授权

[](#2-oauth-授权)

```
use WeChatSDK\Auth\OAuth;

$oauth = new OAuth($config);

// 生成授权 URL
$redirectUri = 'https://yourdomain.com/callback';
$scope = 'snsapi_userinfo'; // 或 'snsapi_base'
$state = 'custom_state';

$authUrl = $oauth->getAuthorizeUrl($redirectUri, $scope, $state);
echo $authUrl;

// 获取访问令牌
$code = 'authorization_code_from_wechat';
$accessToken = $oauth->getAccessToken($code);
print_r($accessToken);

// 获取用户信息
$userInfo = $oauth->getUserInfo($accessToken['access_token'], $accessToken['openid']);
print_r($userInfo);
```

### 3. 卡券管理

[](#3-卡券管理)

```
use WeChatSDK\Offiaccount\CardManager;

$cardManager = new CardManager($config);

// 创建卡券
$cardData = [
    'card_type' => 'GROUPON',
    'groupon' => [
        'base_info' => [
            'logo_url' => 'https://example.com/logo.png',
            'brand_name' => 'Brand',
            'title' => 'Groupon Title',
            'color' => 'Color010',
            'notice' => 'Use this card at checkout',
            'description' => 'Card description',
            // 其他参数...
        ],
        'deal_detail' => 'Groupon details...',
    ],
];
$response = $cardManager->createCard($cardData);
print_r($response);
```

### 4. JSAPI支付

[](#4-jsapi支付)

```
use WeChatSDK\Config;
use WeChatSDK\Payment\Payment;

// 初始化支付配置
$config = new Config(
    'your_app_id',      // AppID
    'your_app_secret',  // AppSecret
    '',                 // Token (支付用不到)
    '',                 // AES Key (支付用不到)
    'your_mch_id',      // MchID (商户ID)
    'your_api_key'      // API密钥
);

// 初始化支付类
$payment = new Payment($config);

// 调用统一下单接口
$unifiedOrderParams = [
    'body' => '测试商品',                            // 商品描述
    'out_trade_no' => date('YmdHis') . rand(1000, 9999), // 商户订单号
    'total_fee' => 1,                               // 总金额，单位为分
    'spbill_create_ip' => $_SERVER['REMOTE_ADDR'], // 终端IP
    'notify_url' => 'https://yourdomain.com/notify', // 异步通知地址
    'trade_type' => 'JSAPI',                        // 交易类型
    'openid' => 'user_openid',                      // 用户标识
];

$result = $payment->unifiedOrder($unifiedOrderParams);

if ($result['return_code'] === 'SUCCESS' && $result['result_code'] === 'SUCCESS') {
    // 获取JSAPI支付参数
    $prepayId = $result['prepay_id'];
    $jsApiParams = $payment->getJsApiParameters($prepayId);

    // 将$jsApiParams传递给前端页面，用于调起微信支付
    echo json_encode($jsApiParams);
}
```

在前端页面中使用JSAPI支付参数调起微信支付：

```

function onBridgeReady() {
  WeixinJSBridge.invoke('getBrandWCPayRequest', {
    'appId': '',
    'timeStamp': '',
    'nonceStr': '',
    'package': '',
    'signType': '',
    'paySign': ''
  }, function(res) {
    if (res.err_msg == "get_brand_wcpay_request:ok") {
      // 支付成功
      alert('支付成功');
    } else {
      // 支付失败
      alert('支付失败');
    }
  });
}

if (typeof WeixinJSBridge == "undefined") {
  if (document.addEventListener) {
    document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
  } else if (document.attachEvent) {
    document.attachEvent('WeixinJSBridgeReady', onBridgeReady);
    document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
  }
} else {
  onBridgeReady();
}

```

测试
--

[](#测试)

使用 PHPUnit 运行单元测试：

```
composer test
```

或直接运行：

```
phpunit --bootstrap vendor/autoload.php tests
```

贡献
--

[](#贡献)

欢迎提交 Issue 或 Pull Request 来改进本项目。请确保代码符合 PSR-12 规范。

开源协议
----

[](#开源协议)

本项目基于 [MIT License](./LICENSE) 开源。

作者
--

[](#作者)

由 [Endorphins](https://endorphins.cn) 开发。如有任何疑问，请通过  联系我们。

链接
--

[](#链接)

- GitHub: [godrealms/WeChat-PHP-SDK](https://github.com/godrealms/WeChat-PHP-SDK)
- 文档: [微信官方文档](https://developers.weixin.qq.com/)

###  Health Score

29

—

LowBetter than 57% of packages

Maintenance54

Moderate activity, may be stable

Popularity9

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity39

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~23 days

Recently: every ~0 days

Total

9

Last Release

313d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/21967620?v=4)[WuJie](/maintainers/godrealms)[@godrealms](https://github.com/godrealms)

---

Top Contributors

[![godrealms](https://avatars.githubusercontent.com/u/21967620?v=4)](https://github.com/godrealms "godrealms (28 commits)")

---

Tags

phpsdkwechatmini programofficial account

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/godrealms-wechat-php-sdk/health.svg)

```
[![Health](https://phpackages.com/badges/godrealms-wechat-php-sdk/health.svg)](https://phpackages.com/packages/godrealms-wechat-php-sdk)
```

###  Alternatives

[tempest/framework

The PHP framework that gets out of your way.

2.2k34.4k15](/packages/tempest-framework)[avalara/avataxclient

Client library for Avalara's AvaTax suite of business tax calculation and processing services. Uses the REST v2 API.

528.5M7](/packages/avalara-avataxclient)[theodo-group/llphant

LLPhant is a library to help you build Generative AI applications.

1.7k409.0k6](/packages/theodo-group-llphant)[resend/resend-php

Resend PHP library.

617.2M43](/packages/resend-resend-php)[checkout/checkout-sdk-php

Checkout.com SDK for PHP

563.6M13](/packages/checkout-checkout-sdk-php)[keboola/storage-api-client

Keboola Storage API PHP Client

10405.9k40](/packages/keboola-storage-api-client)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
