PHPackages                             iqianfang/yii2alipay - 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. [Payment Processing](/categories/payments)
4. /
5. iqianfang/yii2alipay

ActiveLibrary[Payment Processing](/categories/payments)

iqianfang/yii2alipay
====================

yii2 支付宝(alipay)即时到帐接口扩展组件

v1.0.0(9y ago)0261nullPHP

Since Dec 7Pushed 9y agoCompare

[ Source](https://github.com/iqianfang/yii2alipay)[ Packagist](https://packagist.org/packages/iqianfang/yii2alipay)[ RSS](/packages/iqianfang-yii2alipay/feed)WikiDiscussions master Synced yesterday

READMEChangelog (2)DependenciesVersions (3)Used By (0)

Yii2支付宝即时到帐接口组件
===============

[](#yii2支付宝即时到帐接口组件)

适用于支付宝即时到帐接口，具体使用方法如下：

安装
--

[](#安装)

通过composer安装，在项目目录下运行如下代码：

```
composer require "iqianfang/yii2alipay:1.0.0"
```

或者修改composer.json的require部分，添加

```
"iqianfang/yii2alipay": "1.0.0",
```

配置使用
----

[](#配置使用)

### 一、配置Yii2组件

[](#一配置yii2组件)

在common下的全局配置文件main.php中添加组件配置，请参考如下alipay的配置：

```
'components' => [
        'alipay' => [
            'class' => 'iqianfang\yii2alipay\Alipay',
            'config' => [
                //↓↓↓↓↓↓↓↓↓↓请在这里配置您的基本信息↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
                //合作身份者ID，签约账号，以2088开头由16位纯数字组成的字符串，查看地址：https://b.alipay.com/order/pidAndKey.htm
                'partner' => '2088*****',
                //收款支付宝账号，以2088开头由16位纯数字组成的字符串，一般情况下收款账号就是签约账号
                'seller_id' => '2088*****',
                // MD5密钥，安全检验码，由数字和字母组成的32位字符串，查看地址：https://b.alipay.com/order/pidAndKey.htm
                'key' => '',
                // 服务器异步通知页面路径  需http://格式的完整路径，不能加?id=>123这类自定义参数，必须外网可以正常访问
                'notify_url' => 'payment/alipay-asy-notify',
                // 页面跳转同步通知页面路径 需http://格式的完整路径，不能加?id=>123这类自定义参数，必须外网可以正常访问
                'return_url' => "payment/alipay-sy-notify",
                //签名方式
                'sign_type' => strtoupper('MD5'),
                //字符编码格式 目前支持 gbk 或 utf-8
                'input_charset' => strtolower('utf-8'),
                //ca证书路径地址，用于curl中ssl校验
                //'cacert' => getcwd() . '\\cacert.pem',
                //访问模式,根据自己的服务器是否支持ssl访问，若支持请选择https；若不支持请选择http
                'transport' => 'http',
                // 支付类型 ，无需修改
                //'payment_type' => "1",
                // 产品类型，无需修改
                //'service' => "create_direct_pay_by_user",
                //↑↑↑↑↑↑↑↑↑↑请在这里配置您的基本信息↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
                //↓↓↓↓↓↓↓↓↓↓ 请在这里配置防钓鱼信息，如果没开通防钓鱼功能，为空即可 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
                // 防钓鱼时间戳  若要使用请调用类文件submit中的query_timestamp函数
                'anti_phishing_key' => "",
                // 客户端的IP地址 非局域网的外网IP地址，如：221.0.0.1
                'exter_invoke_ip' => "",
                //↑↑↑↑↑↑↑↑↑↑请在这里配置防钓鱼信息，如果没开通防钓鱼功能，为空即可 ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
            ],
        ],
    ],

```

注意：一些固定配置/不常用配置放到组件类的init里了，有用到的可以去那里改。

### 二、逻辑处理

[](#二逻辑处理)

#### 1、支付请求提交

[](#1支付请求提交)

在需要发起支付请求的地方调用

```
Yii::$app->alipay->submit($order);
```

其中order是你的订单实例，通过它可以获取到`订单号`、`支付总价`等，如果你的逻辑用不到或者与此不同，请自行修改

#### 2、支付结果通知

[](#2支付结果通知)

根据`配置`里设置的控制器及action编写代码。以上面我的配置为例，创建控制器Payment，该控制器用于接受支付宝同步/异步通知，下面两个action分别对应配置中设定的action（我的逻辑比较简单所以处理都放组件了，你的视情况自己看着办）：

```
class PaymentController extends Controller
{
    /**
     * 关闭csrf，以便异步通知可访问
     * @param \yii\base\Action $action
     * @return bool
     * @author WangTao
     */
    public function beforeAction($action)
    {
        $this->enableCsrfValidation = false;
        return parent::beforeAction($action); // TODO: Change the autogenerated stub
    }

    /**
     * 响应异步通知请求
     * @author WangTao
     */
    public function actionAlipayAsyNotify()
    {
        Yii::$app->alipay->asyNotify();
    }

    /**
     * 响应同步通知请求
     * @return string
     * @author WangTao
     */
    public function actionAlipaySyNotify()
    {
        $rs = Yii::$app->alipay->syNotify();

        return $this->render('alipay-notify', [
            'rs' => $rs
        ]);
    }
}
```

其他
--

[](#其他)

没用curl，直接用了官方demo的现成代码，如果有需要请参考支付宝官方文档再进一步处理即可。 别忘了配置urlManager，开启url美化，否则通知url会有参数，通知会失败

###  Health Score

27

—

LowBetter than 47% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity64

Established project with proven stability

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

Total

2

Last Release

3489d ago

### Community

Maintainers

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

---

Top Contributors

[![sdqianfang](https://avatars.githubusercontent.com/u/24370327?v=4)](https://github.com/sdqianfang "sdqianfang (10 commits)")

### Embed Badge

![Health badge](/badges/iqianfang-yii2alipay/health.svg)

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

###  Alternatives

[omnipay/coinbase

Coinbase driver for the Omnipay payment processing library

18579.5k1](/packages/omnipay-coinbase)

PHPackages © 2026

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