PHPackages                             techleeone/alipay-php - 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. techleeone/alipay-php

ActiveLibrary[Payment Processing](/categories/payments)

techleeone/alipay-php
=====================

alipay for php

v1.0.11(8y ago)68072PHPPHP ~5.5|~7.0

Since Jan 24Pushed 8y agoCompare

[ Source](https://github.com/leeqvip/alipay-php)[ Packagist](https://packagist.org/packages/techleeone/alipay-php)[ RSS](/packages/techleeone-alipay-php/feed)WikiDiscussions master Synced 2mo ago

READMEChangelogDependenciesVersions (12)Used By (0)

alipay-php 支付宝支付sdk
===================

[](#alipay-php-支付宝支付sdk)

### 安装

[](#安装)

```
composer require techleeone/alipay-php

```

### 使用

[](#使用)

```
// 如果是使用支持composer自动加载的框架（比如thinkphp，laravel），则无需require。
require_once dirname(__FILE__) . '/vendor/autoload.php';

use TechOne\Alipay\Pay;
// 配置参数
// 强烈建议：将配置存放你的应用配置文件中，再这里读取配置。
$configs = [
    //  支付宝网关
    'gateway_url'          => 'https://openapi.alipay.com/gateway.do',
    // APPID 即创建应用后生成
    'app_id'               => '2016091300500827',
    // 开发者私钥，由开发者自己生成 ， https://docs.open.alipay.com/200/105310
    'rsa_private_key'      => '请填写开发者私钥去头去尾去回车，一行字符串',
    // 支付宝公钥，由支付宝生成，https://docs.open.alipay.com/200/105310
    'alipayrsa_public_key' => '请填写支付宝公钥，一行字符串',
    // 参数返回格式，只支持json
    'format'               => 'json',
    // 编码集，支持GBK/UTF-8
    'post_charset'         => 'UTF-8',
    // 商户生成签名字符串所使用的签名算法类型，目前支持RSA2和RSA，推荐使用RSA2
    'sign_type'            => 'RSA2',
    //该笔订单允许的最晚付款时间，逾期将关闭交易。取值范围：1m～15d。m-分钟，h-小时，d-天，1c-当天（1c-当天的情况下，无论交易何时创建，都在0点关闭）。 该参数数值不接受小数点， 如 1.5h，可转换为 90m。注：若为空，则默认为15d。
    'timeout_express'      => '30m',
    'notify_url'           => '商户外网可以访问的异步地址',
    'return_url'           => "同步返回地址",
];

```

### 获取实例

[](#获取实例)

```
// 支付实例类型，page|电脑网站支付，wap|手机网站支付，app|App支付，更多敬请期待
$handler = 'wap';
$pay = Pay::init($handler, $configs);

```

### 下单

[](#下单)

```
// 业务请求参数
$bizcontent = [
    // [可选]对一笔交易的具体描述信息。如果是多种商品，请将商品描述字符串累加传给body
    // 'body'            => '我是测试数据',
    // [必填]商品的标题/交易标题/订单标题/订单关键字等。
    'subject'      => 'App支付测试',
    // [必填]商户网站唯一订单号
    'out_trade_no' => '20170125test011',
    // [必填]订单总金额，单位为元，精确到小数点后两位，取值范围[0.01,100000000]
    'total_amount' => '0.01',
    // [可选]该笔订单允许的最晚付款时间，逾期将关闭交易。默认为配置中的timeout_express值
    // 'timeout_express' => '30m',
];
// 如果是电脑网站支付、手机网站支付，执行execute方法后页面将自动跳转至支付宝支付页面，用户支付完成后，返回至return_url地址，并异步通知notify_url地址。
// 如果是app支付，执行execute方法后会返回一串app请求所用的orderstring，例如：alipay_sdk=alipay-sdk-php-20161101&app_id=2016091300500827&biz_conten……
$result = $pay->biz($bizcontent)->execute();

// 可选用法
// 1、是否自动跳转至支付宝支付页面，
$jumpAuto = false; // 如果为false，将返回一个html表单字符串
$result   = $pay->biz($bizcontent)->execute($jumpAuto);
echo $result;
// 2、针对每笔订单独立设置异步通知地址或返回地址
$pay->setNotifyUrl('异步地址');
$pay->setReturnUrl('同步地址');

```

### 查询订单

[](#查询订单)

```
// 查询订单
// $type     订单号类型，out_trade_no|商户订单号(默认)，trade_no|支付宝交易号
$result = $pay->query('20170125test01', $type);
// 订单是否成功
$result = $pay->isSuccess('20170125test01', $type);

```

### 退款

[](#退款)

```
$bizcontent = [
    'out_trade_no'  => '20170125test01', // 订单支付时传入的商户订单号,不能和 trade_no同时为空。
    // 'trade_no'      => '2014112611001004680073956707', // 支付宝交易号，和商户订单号不能同时为空
    'refund_amount' => '0.01', // 需要退款的金额，该金额不能大于订单金额,单位为元，支持两位小数
    'refund_reason' => '正常退款', // 退款的原因说明
];
$result = $pay->biz($bizcontent)->refund();
if ($result->code == 10000) {
    // 成功
}

```

### 交易关闭

[](#交易关闭)

```
// $type     订单号类型，out_trade_no|商户订单号(默认)，trade_no|支付宝交易号
$result = $pay->close('20170125test01', $type);
if ($result->code == 10000) {
    // 成功
}

```

### 同步/异步通知 验证签名

[](#同步异步通知-验证签名)

特别提醒：在服务端接收同步或异步通知是，一定要先验证签名，验证通过后，再进行订单处理

```
// 验证签名
$data = $_GET | $_POST参数。; // 异步通知为post（ $_POST）参数。
$flag = $pay->check($data);
// 特别提醒：
/* 实际验证过程建议商户添加以下校验。
1、商户需要验证该通知数据中的out_trade_no是否为商户系统中创建的订单号，
2、判断total_amount是否确实为该订单的实际金额（即商户订单创建时的金额），
3、校验通知中的seller_id（或者seller_email) 是否为out_trade_no这笔单据的对应的操作方（有的时候，一个商户可能有多个seller_id/seller_email）
4、验证app_id是否为该商户本身。
 */
if ($flag) {
//验证成功
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    //请在这里加上商户的业务逻辑程序代
    //——请根据您的业务逻辑来编写程序（以下代码仅作参考）——
    //获取支付宝的通知返回参数，可参考技术文档中服务器异步通知参数列表
    //商户订单号
    $out_trade_no = $data['out_trade_no'];
    //支付宝交易号
    $trade_no = $data['trade_no'];
    //交易状态
    $trade_status = $data['trade_status'];
    if ($data['trade_status'] == 'TRADE_FINISHED') {
        //判断该笔订单是否在商户网站中已经做过处理
        //如果没有做过处理，根据订单号（out_trade_no）在商户网站的订单系统中查到该笔订单的详细，并执行商户的业务程序
        //请务必判断请求时的total_amount与通知时获取的total_fee为一致的
        //如果有做过处理，不执行商户的业务程序
        //注意：
        //退款日期超过可退款期限后（如三个月可退款），支付宝系统发送该交易状态通知
    } elseif ($data['trade_status'] == 'TRADE_SUCCESS') {
        //判断该笔订单是否在商户网站中已经做过处理
        //如果没有做过处理，根据订单号（out_trade_no）在商户网站的订单系统中查到该笔订单的详细，并执行商户的业务程序
        //请务必判断请求时的total_amount与通知时获取的total_fee为一致的
        //如果有做过处理，不执行商户的业务程序
        //注意：
        //付款完成后，支付宝系统发送该交易状态通知
    }
    //——请根据您的业务逻辑来编写程序（以上代码仅作参考）——
    exit("success"); //请不要修改或删除
} else {
    //验证失败
    exit("fail"); //请不要修改或删除
}

```

###  Health Score

32

—

LowBetter than 72% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity22

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity65

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

Total

11

Last Release

3022d ago

PHP version history (2 changes)v1.0.0PHP ~5.3|~7.0

v1.0.9PHP ~5.5|~7.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/f32cb7625515c0969fec15915be4a137f057c3484420bb7abf025c8e975dd3a5?d=identicon)[leeqvip](/maintainers/leeqvip)

---

Top Contributors

[![leeqvip](https://avatars.githubusercontent.com/u/35752209?v=4)](https://github.com/leeqvip "leeqvip (5 commits)")

---

Tags

alipay-phpalipay-sdkalipay

### Embed Badge

![Health badge](/badges/techleeone-alipay-php/health.svg)

```
[![Health](https://phpackages.com/badges/techleeone-alipay-php/health.svg)](https://phpackages.com/packages/techleeone-alipay-php)
```

###  Alternatives

[yansongda/pay

可能是我用过的最优雅的 Alipay 和 WeChat 的支付 SDK 扩展包了

5.3k1.2M53](/packages/yansongda-pay)[yansongda/laravel-pay

专注 Alipay/WeChat/Unipay 的 laravel 支付扩展包

1.1k353.2k9](/packages/yansongda-laravel-pay)[lokielse/omnipay-alipay

Alipay gateway for Omnipay payment processing library

587421.0k11](/packages/lokielse-omnipay-alipay)[latrell/alipay

支付宝SDK在Laravel5封装包。

40349.2k](/packages/latrell-alipay)[yansongda/hyperf-pay

可能是基于 hyperf 的最优雅的支付宝、微信、银联支付 SDK 了

8959.8k1](/packages/yansongda-hyperf-pay)[lokielse/omnipay-global-alipay

Alipay global gateway for Omnipay payment processing library

3048.9k](/packages/lokielse-omnipay-global-alipay)

PHPackages © 2026

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