PHPackages                             clown/wechat - 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. clown/wechat

ActiveLibrary[API Development](/categories/api)

clown/wechat
============

微信接口

1.0.1(2y ago)062MITPHP

Since Dec 26Pushed 1y ago1 watchersCompare

[ Source](https://github.com/Clownsushu/clownwechat)[ Packagist](https://packagist.org/packages/clown/wechat)[ RSS](/packages/clown-wechat/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (2)Dependencies (2)Versions (3)Used By (0)

##### 支付目录文件说明

[](#支付目录文件说明)

1. 支付目录结构说明

    ```
    ├─src
    │  ├─gzh 		公众号接口目录
    │  │	├─xml         公众号消息回复模板目录
    │  ├─pay 		微信支付接口目录
    │  │	├─wxpay         微信各个支付类型文件目录
    │  │	│	├─H5Pay.php         H5支付文件
    │  │	│	├─JsapiPay.php         JSAPI支付文件
    │  │	│	├─NativePay.php         NATIVE支付文件
    │  │	├─Pay.php         支付接口定义文件
    │  │	├─WxPayBase.php         微信支付继承类文件, wxpay目录下的文件均继承此文件
    │  ├─xcx 		小程序接口目录

    ```

##### 公众号接口使用(需要开启redis拓展)

[](#公众号接口使用需要开启redis拓展)

1. 需要在.env文件下配置如下参数

    ```
    WECHAT_GZH_APPID = 公众号APPID
    WECHAT_GZH_APPSECRET = 公众号秘钥

    ```

##### 小程序接口使用(需要开启redis拓展)

[](#小程序接口使用需要开启redis拓展)

##### 小程序接口使用(需要开启redis拓展)

[](#小程序接口使用需要开启redis拓展-1)

1. 需要在.env文件下配置如下参数

    ```
    WECHAT_XCX_APPID = 小程序APPID
    WECHAT_XCX_APPSECRET = 小程序秘钥

    ```

##### 微信支付V3使用 (目前仅支持, JSAPI支付和NATIVE支付, JSAPI支付也可以用在小程序上)

[](#微信支付v3使用-目前仅支持-jsapi支付和native支付-jsapi支付也可以用在小程序上)

1. 需要在.env文件下配置如下参数

    ```
    WECHAT_PAY_APPID = appid
    WECHAT_PAY_MCH_ID = 商户号
    WECHAT_PAY_MCH_KEY = 商户号秘钥
    WECHAT_PAY_NOTIFY_URL = 支付通知地址
    WECHAT_PAY_SERIAL_NUMBER = 支付证书序列号
    WECHAT_PAY_APICLIENT_KEY_PATH = apiclient_key.pem文件的相对路径如: ./../cert/apiclient_key.pem
    WECHAT_PAY_WECHATPAY_PATH = wechatpay.pem文件的相对路径如: ./../cert/wechatpay.pem
    ```
2. 其中除WECHAT\_PAY\_WECHATPAY\_PATH参数外,其他参数都可以在商户号根据操作得到, 下面是WECHAT\_PAY\_WECHATPAY\_PATH参数的生成过程

    ```
    1. 打开命令行工具, 输入以下命令
    -k 商户号秘钥
    -m 商户号
    -f apiclient_key.pem文件的相对路径
    -s 支付证书序列号
    -o 生成文件的目录
    composer exec CertificateDownloader.php -- -k 商户号秘钥 -m 商户号id -f apiclient_key.pem文件的相对路径 -s 支付证书序列号 -o ./cert/
    ```
3. 如何使用微信支付

    ```
    // 1. 实例化支付类型, 以下以jsapi支付为例, 如果在第一步没有配置.env的配置项,那么就挨个传参
    $pay = new JsapiPay();

    // 2. 使用统一下单
    $params = [
        'out_trade_no' => md5(microtime()),
        'description' => '测试商品',
        'total' => 1,
        'create_time' => time(),
        'openid' => $xcx_openid
    ];

    $result = $pay->getPrePay($params);

    // 3. 订单通知
    $inBody = file_get_contents('php://input');//返回的数据流

    $result = $pay->notify($inBody); // $inBody此参数可传可不传
    //为数组, 就返回支付的内容, 验证失败是false
    if($result){
        $pay->result(); //通知微信, 不传参数代表success
    }else{
        $pay->result('ERROR'); // 失败通知
    }

    // 4. 订单查询  , 支持第二个参数, 默认是微信订单号 transaction_id, 可以传平台订单号 out_trade_no
    $result = $pay->orderQuery('78d73823a8929ea06a8110039f459fa0');

    // 5. 订单关闭 , 参数: 平台订单号, 正常返回null
    $result = $pay->closeOrder('78d73823a8929ea06a8110039f459fa0');

    // 6. 订单退款
    $out_trade_no = '78d73823a8929ea06a8110039f459fa0'; // 平台支付订单号
    $out_refund_no = md5(time()); // 退款订单号
    $refund = [
        'out_trade_no' => $out_trade_no,
        'out_refund_no' => $out_refund_no,
        'total' => 1, // 支付总金额, 单位: 分
        'refund' => 1, // 退款金额, 单位: 分
        'reason' => '测试退款',
        'notify_url' => 'https://xxx/index/refundNotify', // 退款回调地址, 可选参数
    ];

    $result = $pay->refunds($refund);

    // 7. 退款查询
    $result = $pay->refundQuery('平台订单号');

    // 8. 退款通知
    $inBody = file_get_contents('php://input'); //返回的是json

    $result = $pay->refundNotify($inBody);// $inBody此参数可传可不传
    //为数组, 就返回支付的内容, 验证失败是false
    if($result){
        $pay->result(); //通知微信, 不传参数代表success
    }else{
        $pay->result('ERROR'); // 失败通知
    }
    ```

​

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance28

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity43

Maturing project, gaining track record

 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 ~0 days

Total

2

Last Release

871d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/7ed56b77070b98e1525eb4597c246c10d9db00d9ee9ce8a91ae2fd121a23b043?d=identicon)[Clownsushu](/maintainers/Clownsushu)

---

Top Contributors

[![Clownsushu](https://avatars.githubusercontent.com/u/45623867?v=4)](https://github.com/Clownsushu "Clownsushu (16 commits)")

### Embed Badge

![Health badge](/badges/clown-wechat/health.svg)

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

###  Alternatives

[twilio/sdk

A PHP wrapper for Twilio's API

1.6k92.9M272](/packages/twilio-sdk)[knplabs/github-api

GitHub API v3 client

2.2k15.8M187](/packages/knplabs-github-api)[facebook/php-business-sdk

PHP SDK for Facebook Business

90121.9M34](/packages/facebook-php-business-sdk)[meilisearch/meilisearch-php

PHP wrapper for the Meilisearch API

73813.7M114](/packages/meilisearch-meilisearch-php)[google/gax

Google API Core for PHP

263103.1M454](/packages/google-gax)[google/common-protos

Google API Common Protos for PHP

173103.7M50](/packages/google-common-protos)

PHPackages © 2026

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