PHPackages                             mangdin/thinkphp5.1-alipay2 - 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. mangdin/thinkphp5.1-alipay2

ActiveLibrary[Payment Processing](/categories/payments)

mangdin/thinkphp5.1-alipay2
===========================

thinkphp5.1 支付宝 电脑网页支付

1.0(6y ago)2381Apache-2.0PHP

Since Jun 11Pushed 6y agoCompare

[ Source](https://github.com/mangdin/thinkphp5.1-alipay2)[ Packagist](https://packagist.org/packages/mangdin/thinkphp5.1-alipay2)[ RSS](/packages/mangdin-thinkphp51-alipay2/feed)WikiDiscussions master Synced yesterday

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

mangdin-thinkphp5.1-alipay2
===========================

[](#mangdin-thinkphp51-alipay2)

thinkphp5.1 PC端支付宝支付

将本插件根目录的alipay.php拷贝到项目目录config文件夹中，并修改该文件中的配置为您自己支付接口配置。 相关支付参数可以在[https://openhome.alipay.com/platform/appManage.htm#/apps地址中获取](https://openhome.alipay.com/platform/appManage.htm#/apps%E5%9C%B0%E5%9D%80%E4%B8%AD%E8%8E%B7%E5%8F%96)

调用支付控制器代码：

 ```
    public function pay(){
        $config = Config::get('alipay.'); //支付宝 手机浏览器支付 配置参数

        //商户订单号，商户网站订单系统中唯一订单号，必填
        $out_trade_no = time().rand(00000,99999);

        //订单名称，必填
        $subject = '测试订单';

        //付款金额，必填
        $total_amount = 0.01;

        //商品描述，可空
        $body = '商品藐视信息';

        //构造参数
        $payRequestBuilder = new \mangdin\alipay2\AlipayTradePagePayContentBuilder();
        $payRequestBuilder->setBody($body);
        $payRequestBuilder->setSubject($subject);
        $payRequestBuilder->setTotalAmount($total_amount);
        $payRequestBuilder->setOutTradeNo($out_trade_no);

        $aop = new \mangdin\alipay2\AlipayTradeService($config);

        /**
         * pagePay 电脑网站支付请求
         * @param $builder 业务参数，使用buildmodel中的对象生成。
         * @param $return_url 同步跳转地址，公网可以访问
         * @param $notify_url 异步通知地址，公网可以访问
         * @return $response 支付宝返回的信息
         */
        $response = $aop->pagePay($payRequestBuilder,$config['return_url'],$config['notify_url']);

//输出表单
        var_dump($response);
    }

```

支付回调控制器代码：

 ```
    /**
     * return_url接收页面
     */
    public function return_url(){
        $config = Config::get('alipay.'); //支付宝 手机浏览器支付 配置参数
        $arr=input('get.');
        $alipaySevice = new \mangdin\alipay2\AlipayTradeService($config);
        $result = $alipaySevice->check($arr);

        /* 实际验证过程建议商户添加以下校验。
        1、商户需要验证该通知数据中的out_trade_no是否为商户系统中创建的订单号，
        2、判断total_amount是否确实为该订单的实际金额（即商户订单创建时的金额），
        3、校验通知中的seller_id（或者seller_email) 是否为out_trade_no这笔单据的对应的操作方（有的时候，一个商户可能有多个seller_id/seller_email）
        4、验证app_id是否为该商户本身。
        */
        if($result) {//验证成功
            /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
            //请在这里加上商户的业务逻辑程序代码

            //——请根据您的业务逻辑来编写程序（以下代码仅作参考）——
            //获取支付宝的通知返回参数，可参考技术文档中页面跳转同步通知参数列表

            //商户订单号
            $out_trade_no = htmlspecialchars($arr['out_trade_no']);

            //支付宝交易号
            $trade_no = htmlspecialchars($arr['trade_no']);

            echo "验证成功支付宝交易号：".$trade_no;

            //——请根据您的业务逻辑来编写程序（以上代码仅作参考）——

            /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        }
        else {
            //验证失败
            echo "验证失败";
        }
    }

    /**
     * notify_url接收页面
     */
    public function notify_url(){
        $config = Config::get('alipay.'); //支付宝 手机浏览器支付 配置参数
        $arr=input('post.');
        $alipaySevice = new \mangdin\alipay2\AlipayTradeService($config);
        $alipaySevice->writeLog(var_export(input('post.'),true));
        $result = $alipaySevice->check($arr);

        /* 实际验证过程建议商户添加以下校验。
        1、商户需要验证该通知数据中的out_trade_no是否为商户系统中创建的订单号，
        2、判断total_amount是否确实为该订单的实际金额（即商户订单创建时的金额），
        3、校验通知中的seller_id（或者seller_email) 是否为out_trade_no这笔单据的对应的操作方（有的时候，一个商户可能有多个seller_id/seller_email）
        4、验证app_id是否为该商户本身。
        */
        if($result) {//验证成功
            /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
            //请在这里加上商户的业务逻辑程序代

            //——请根据您的业务逻辑来编写程序（以下代码仅作参考）——

            //获取支付宝的通知返回参数，可参考技术文档中服务器异步通知参数列表

            //商户订单号

            $out_trade_no = $arr['out_trade_no'];

            //支付宝交易号

            $trade_no = $arr['trade_no'];

            //交易状态
            $trade_status = $arr['trade_status'];

            if($arr['trade_status'] == 'TRADE_FINISHED') {

                //判断该笔订单是否在商户网站中已经做过处理
                //如果没有做过处理，根据订单号（out_trade_no）在商户网站的订单系统中查到该笔订单的详细，并执行商户的业务程序
                //请务必判断请求时的total_amount与通知时获取的total_fee为一致的
                //如果有做过处理，不执行商户的业务程序

                //注意：
                //退款日期超过可退款期限后（如三个月可退款），支付宝系统发送该交易状态通知
            }
            else if ($arr['trade_status'] == 'TRADE_SUCCESS') {
                //判断该笔订单是否在商户网站中已经做过处理
                //如果没有做过处理，根据订单号（out_trade_no）在商户网站的订单系统中查到该笔订单的详细，并执行商户的业务程序
                //请务必判断请求时的total_amount与通知时获取的total_fee为一致的
                //如果有做过处理，不执行商户的业务程序
                //注意：
                //付款完成后，支付宝系统发送该交易状态通知
            }
            //——请根据您的业务逻辑来编写程序（以上代码仅作参考）——
            echo "success";	//请不要修改或删除
        }else {
            //验证失败
            echo "fail";

        }
    }

```

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity59

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

Unknown

Total

1

Last Release

2528d ago

### Community

Maintainers

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

---

Top Contributors

[![mangdin](https://avatars.githubusercontent.com/u/41657311?v=4)](https://github.com/mangdin "mangdin (3 commits)")

### Embed Badge

![Health badge](/badges/mangdin-thinkphp51-alipay2/health.svg)

```
[![Health](https://phpackages.com/badges/mangdin-thinkphp51-alipay2/health.svg)](https://phpackages.com/packages/mangdin-thinkphp51-alipay2)
```

###  Alternatives

[omnipay/paypal

PayPal gateway for Omnipay payment processing library

3156.8M53](/packages/omnipay-paypal)[eduardokum/laravel-boleto

Biblioteca com boletos para o laravel

626351.9k2](/packages/eduardokum-laravel-boleto)[tbbc/money-bundle

This is a Symfony bundle that integrates moneyphp/money library (Fowler pattern): https://github.com/moneyphp/money.

1961.9M](/packages/tbbc-money-bundle)[2checkout/2checkout-php

2Checkout PHP Library

83740.3k2](/packages/2checkout-2checkout-php)[smhg/sepa-qr-data

Generate QR code data for SEPA payments

61717.2k5](/packages/smhg-sepa-qr-data)[omnipay/dummy

Dummy driver for the Omnipay payment processing library

271.2M33](/packages/omnipay-dummy)

PHPackages © 2026

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