PHPackages                             phalapi/pay - 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. phalapi/pay

ActiveLibrary

phalapi/pay
===========

PhalApi 2.x 扩展类库：第三方支付扩展，含微信支付和支付宝支付

8521PHP

Since Apr 3Pushed 7y ago2 watchersCompare

[ Source](https://github.com/phalapi/pay)[ Packagist](https://packagist.org/packages/phalapi/pay)[ RSS](/packages/phalapi-pay/feed)WikiDiscussions master Synced 2d ago

READMEChangelogDependenciesVersions (1)Used By (0)

PhalApi 2.x 的第三方支付扩展
====================

[](#phalapi-2x-的第三方支付扩展)

安装和配置
-----

[](#安装和配置)

修改项目下的composer.json文件，并添加：

```
    "phalapi/pay":"dev-master"

```

然后执行`composer update`。

配置
--

[](#配置)

我们需要在 ./config/app.php 配置文件中追加以下配置：

### 第三方支付配置

[](#第三方支付配置)

```
   /**
     * 支付相关配置
     */
    'Pay' => array(
        //异步/同步地址 如果域名指向到Public，那么地址应该是 http://你的域名/pay/
        'notify_url' => 'http://www.xxx.com/phalapi/public/pay/',

        //支付宝wap端设置
        'aliwap' => array(
            //收款账号邮箱
            'email' => 'admin@admin.com',

            //加密key
            'key' => 'xxx',

            //合作者ID
            'partner' => '123456'
        ),

        //微信支付设置
        'wechat' => array(
            //公众号的唯一标识
            'appid' => 'xxx',

            //商户号
            'mchid' => '123456',

            //公众号的appsecret
            'appsecret' => 'xxx',

            //微信支付Key
            'key' => 'xxx'
        ),
    ),

```

支付宝私钥公钥的生成就不多说了，还是自己去看吧! 任意门：[https://cshall.alipay.com/enterprise/help\_detail.htm?help\_id=483847](https://cshall.alipay.com/enterprise/help_detail.htm?help_id=483847)生成后的文件放至Library/Pay/key目录下，文件名请按照对应的文件名设置

```
alipay_public_key.pem 为支付宝合作伙伴密钥的支付宝公钥
alipay_rsa_private_key.pem 为自己生成的rsa密钥

```

注册
--

[](#注册)

在 ./config/di.php文件中，追加注册：

```
//支付
$di->pay = new \PhalApi\Pay\Lite();
```

使用
--

[](#使用)

### 手动复制PHP示例和入口文件

[](#手动复制php示例和入口文件)

把 ./vendor/phalapi/pay/demo 目录下的代码，复制到到当前项目的src的app内。命令是：

```
$ cp ./vendor/phalapi/pay/demo/* ./src/app/ -R

```

同时，需要将支付入口PHP文件也复制到当前项目。把 ./vendor/phalapi/pay/public 目录下的代码，复制到到当前项目的public。命令是：

```
$ cp ./vendor/phalapi/pay/public/* ./public/ -R

```

### 使用接口进行支付

[](#使用接口进行支付)

访问链接 [http://你的域名/public/pay/项目/?s=App.Pay.Index&amp;type=wechat](http://%E4%BD%A0%E7%9A%84%E5%9F%9F%E5%90%8D/public/pay/%E9%A1%B9%E7%9B%AE/?s=App.Pay.Index&type=wechat)参数type为对应的支付引擎的名称。微信为wechat 支付宝wap端为aliwap

如果域名已经设置public目录，就不需要public目录了

如果需要测试微信JSAPI支付，需要在微信浏览器中测试，先将以上的访问链接生成为二维码，然后打开微信扫一扫就可以支付了

#### 异步回调接口说明

[](#异步回调接口说明)

```
//支付宝的异步回调接口
http:://你的域名/public/pay/aliwap/notify.php

//支付宝同步回调接口
http:://你的域名/public/pay/aliwap/return.php

//微信异步回调接口
http:://你的域名/public/pay/wechat/notify.php

```

支付宝同步回调不知道为什么进行验证时会验证失败，为了节约时间，也没有再修复了，毕竟如果是做接口大部分用不到。如果有同学把问题解决了，请AT我 [aer\_c@qq.com](mailto:aer_c@qq.com) QQ:7579476 或者添加PhalApi官方交流群：421032344 AT：Summer

### 4. 回调成功说明

[](#4-回调成功说明)

异步回调成功后会在日志中生成成功后的信息，失败也会生成

```
2015-12-18 10:43:36|PAYSUCCESS|Pay Success|{"Type":"aliwap","Method":"notify","Data":{"status":true,"money":"0.01","out_trade_no":"FC180660663677d","trade_no":"2015121800001000630003030428"}}

2015-12-18 10:43:59|PAYSUCCESS|Pay Success|{"Type":"wechat","Method":"notify","Data":{"status":true,"money":0.01,"out_trade_no":"FC180663422083d","trade_no":"1007480911201512182153438132"}}

```

```
返回的数据说明
Type 支付方法 aliwap/wechat
Method 回调方式 notify:异步回调 return: 同步回调
Data 订单信息 status: 支付状态 money: 支付的总金额 out_trade_no: 商户订单号 trade_no: 支付宝/微信订单号

```

\###5. 添加新的第三方支付 我相信同学们都看的懂，我都有注释，安装规定的格式添加即可，如果看不懂可以问我，联系方式上面有，就不说了！

PS：我们致力于代码开源，引用老大的一句话 PhalApi是一个PHP轻量级开源接口框架。我们致力于将PhalApi维护成像恒星一样：不断更新，保持生气；为接口负责，为开源负责！让后台接口开发更简单！

\###补充微信现金红包 @dogstar 2016-01-21 使用的示例代码如下：

```
        $params = array(
            're_openid' => $openId,
            'send_name' => '红包发送者名称',
            'total_amount' => 100,
            'total_num' => 1,
            'wishing' => '红包祝福语',
            'act_name' => '活动名称',
            'remark' => '备注',
        );

        $payLite = \PhalApi\DI()->get('payLite', 'Pay_Lite');
        $payLite->set('wechat');

        try {
            $sendRs = $payLite->sendredpack($params, $errorMsg);
        } catch (Pay_Exception $ex) {
            //异常失败处理
        }

```

更多信息，请参考：[【微信支付】现金红包开发者文档](https://pay.weixin.qq.com/wiki/doc/api/cash_coupon.php?chapter=13_5)

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity18

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity37

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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/35d70b1236f8f67d96ba3da4ba88889faf2837ff8f7ab62acc54fe6cb4992c87?d=identicon)[dogstarhuang](/maintainers/dogstarhuang)

---

Top Contributors

[![dogstarTest](https://avatars.githubusercontent.com/u/6116306?v=4)](https://github.com/dogstarTest "dogstarTest (2 commits)")

### Embed Badge

![Health badge](/badges/phalapi-pay/health.svg)

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

PHPackages © 2026

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