PHPackages                             abbotton/alipay-sdk - 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. abbotton/alipay-sdk

ActiveLibrary[Payment Processing](/categories/payments)

abbotton/alipay-sdk
===================

支付宝（蚂蚁金服）开放平台第三方 PHP SDK，基于官方最新版本。

v2.0.3(4y ago)2094.1k↓33.3%50[2 issues](https://github.com/Abbotton/alipay-sdk-php/issues)[1 PRs](https://github.com/Abbotton/alipay-sdk-php/pulls)MITPHPPHP &gt;=5.4

Since Jul 25Pushed 3y ago9 watchersCompare

[ Source](https://github.com/Abbotton/alipay-sdk-php)[ Packagist](https://packagist.org/packages/abbotton/alipay-sdk)[ RSS](/packages/abbotton-alipay-sdk/feed)WikiDiscussions v2.0 Synced 1mo ago

READMEChangelog (10)Dependencies (2)Versions (27)Used By (0)

[![](https://camo.githubusercontent.com/8a25149490ce2c4f42fa1e458be14dfece8417e4658ca5e493abbf33d843cd36/68747470733a2f2f692e6c6f6c692e6e65742f323031382f30372f32342f356235366539383062313535652e706e67)](https://camo.githubusercontent.com/8a25149490ce2c4f42fa1e458be14dfece8417e4658ca5e493abbf33d843cd36/68747470733a2f2f692e6c6f6c692e6e65742f323031382f30372f32342f356235366539383062313535652e706e67) Alipay SDK for PHP
================================================================================================================================================================================================================================================================================================================================================================================================================================

[](#-alipay-sdk-for-php)

🐜 支付宝开放平台（又称：蚂蚁金服开放平台）**第三方** PHP SDK，基于[官方](https://docs.open.alipay.com/54/103419/)最新版本。

- **目录**
    - [为什么不用官方](#%E4%B8%BA%E4%BB%80%E4%B9%88%E4%B8%8D%E7%94%A8%E5%AE%98%E6%96%B9)
    - [主要目的](#%E4%B8%BB%E8%A6%81%E7%9B%AE%E7%9A%84)
    - [小试牛刀](#%E5%B0%8F%E8%AF%95%E7%89%9B%E5%88%80)
    - [如何使用](#%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8)
    - [注意事项](#%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9)
    - [实用工具](#%E5%AE%9E%E7%94%A8%E5%B7%A5%E5%85%B7)
    - [其它资源](#%E5%85%B6%E5%AE%83%E8%B5%84%E6%BA%90)
    - [已知 Issue](#%E5%B7%B2%E7%9F%A5-issue)
    - [感谢](#%E6%84%9F%E8%B0%A2)

为什么不用官方
-------

[](#为什么不用官方)

官方 SDK本 SDK链接无 Composer 集成，自动加载依赖第三方 PHP 框架 `lotusphp`集成[![Packagist](https://camo.githubusercontent.com/39cf422d23d548198e759ccdc68548a718098c375fb10ecb326d02585fc04b29/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6162626f74746f6e2f616c697061792d73646b2e737667)](https://packagist.org/packages/abbotton/alipay-sdk)代码不严谨，各种 Warning持续构建，Notice 也不放过零单元测试99% 测试覆盖率代码风格、命名风格鱼龙混杂PSR1 + PSR2几乎零 PHPDoc持续补充中[对比图](https://i.loli.net/2018/08/01/5b611dc917bea.png)异常和错误处理不统一所有错误都将以异常的形式抛出，确保返回数据可靠[Exceptions](aop/Exception)需手动根据接口名拼接请求类名请求类工厂，根据 API 名直接创建请求类[AlipayRequestFactory](aop/AlipayRequestFactory.php)耦合度高，难以升级或替换几乎完全解耦，任意替换签名 / 密钥 / 响应 甚至 HTTP 客户端[AopClient](aop/AopClient.php)主要目的
----

[](#主要目的)

- 集成 Composer。
- 降低 PHP 依赖至 5.4。
- 整理代码风格使其符合 `PSR-1`、`PSR-2`。
- 增加单元测试。
- 兼容 PHP 7.x。
- 移除官方 API 文档内 `已弃用` 特性。
- 移除难以拓展的调试、日志等特性，以便于集成第三方框架和扩展包。
- 移除编码转换特性，统一使用 `UTF-8`。
- 其它优化，持续进行中 ...

小试牛刀
----

[](#小试牛刀)

- [获取小程序用户信息](examples/alipay.system.oauth.token.md)

如何使用
----

[](#如何使用)

1. Composer 安装。

    ```
    composer require abbotton/alipay-sdk
    ```
2. 创建 `AlipayKeyPair` 实例。

    ```
    // 通过密钥文件创建(推荐)
    $keyPair = \Alipay\Key\AlipayKeyPair::create(
        __DIR__ . '/private.pem',
        __DIR__ . '/public.pem'
    );

    // 通过密钥字符串创建
    $privateKey = '-----BEGIN RSA PRIVATE KEY-----
    // ......
    kXTZhB4nQqZXWFu8R+RdqC6gTh9k2dDz0NlibYSW9xApWRN572M9/n737110Yxa2
    JZX27eBHLqR8aCZcXkADRpe9+yAL9SqErEOMh26nWFtwP5ZugHRf
    -----END RSA PRIVATE KEY-----';
    $publicKey = '-----BEGIN PUBLIC KEY-----
    // ......
    C9ykBV6BfujeeVQ2wUdpxFtI4gW8A4rgqecMvbL/KngU+aChG+W6SGXD8QY0fC4d
    4QIDAQAB
    -----END PUBLIC KEY-----';
    $keyPair = \Alipay\Key\AlipayKeyPair::create($privateKey, $publicKey);
    ```

    `AlipayKeyPair` 用于存储应用私钥、支付宝公钥；两份密钥将分别用于与支付宝服务器通信时，生成请求签名、验证响应签名等。
3. 创建 `AopClient` 实例。

    ```
    $aop = new \Alipay\AopClient('APP_ID', $keyPair);
    ```

    `AopClient` 通常情况会贯穿整条业务，除非你须要在同一套代码内处理多个商户号/小程序，否则只需在初始化阶段创建一次即可。
4. 根据业务需要，创建 `AlipayRequest` 实例。

    ```
    $bizContent = [
        'start_time' => '2021-08-01 00:00:00',
        'end_time' => '2021-08-31 23:59:59',
        'type' => 'TRANSFER',
        'page_no' => 1
    ];

    // 通过工厂类创建
    $request = (new \Alipay\AlipayRequestFactory)->create('alipay.data.bill.transfer.query', [
        'biz_content' => $bizContent,
        // ...
    ]);

    // 直接创建
    $request = (new \Alipay\Request\AlipayRequest())
        ->setApiMethodName('alipay.data.bill.transfer.query')
        ->setBizContent($bizContent);
    ```
5. 发送请求，获得响应数据。

    ```
    $result = $aop->execute($request)->getData();
    ```

    所有错误（包括但不限于网络通信异常、数据格式异常、支付宝服务器返回的错误）都会被转换为异常，请注意捕捉。
6. 更多实例，请移步 [`examples`](examples/) 目录。

    最后，官方 SDK 内 `AopClient::pageExecute()` 被分离为 `pageExecuteUrl` 和 `pageExecuteForm`。 `AopClient::sdkExecute()` 和 `AopClient::execute()` 方法名保持不变，参数和返回值有所改动。

注意事项
----

[](#注意事项)

- 请不要依赖任何在官方 SDK 内被标注为 `private` 的属性，它们可能已在迭代中被修改或废弃。
- 请不要依赖任何在官方 API 文档内被标注为 `已废弃` 的特性，它们可能已在迭代中被废弃或移除。
- 本 SDK 已移除所有编码转换特性；请确保执行上传文件请求时，文件编码为 `UTF-8` 而非 `GBK`。

实用工具
----

[](#实用工具)

可执行文件位于 [`bin`](bin/) 目录下，点此查看 [详细说明](bin/README.md)。

其它资源
----

[](#其它资源)

- [支付宝开放平台 - API 文档](https://docs.open.alipay.com/api/)
- [支付宝开放平台 - 开发者社区](https://openclub.alipay.com/index.php)

已知 Issue
--------

[](#已知-issue)

OpenSSL 在 Win32 平台需要配置 `openssl.cnf` 路径，参见 [OpenSSL 安装 - PHP 手册](http://php.net/manual/zh/openssl.installation.php)。

在本 SDK 内，也可通过自定义 `$configargs` 参数来自定义此文件路径，而不需要配置环境变量；参见 [examples/keys/generate.php](examples/keys/generate.php)。

目前已知以下方法依赖于此配置文件：

- 生成密钥对：`AlipayKeyPair::generate()`
- 将私钥资源转换为字符串：`AlipayPrivateKey::toString()`

感谢
--

[](#感谢)

- [支付宝开放平台 SDK](https://docs.open.alipay.com/54/103419/)
- [第一作者Wi1dcard](https://github.com/wi1dcard)

###  Health Score

40

—

FairBetter than 87% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity39

Limited adoption so far

Community21

Small or concentrated contributor base

Maturity67

Established project with proven stability

 Bus Factor1

Top contributor holds 92.2% 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 ~47 days

Recently: every ~10 days

Total

26

Last Release

1670d ago

Major Versions

v0.3.5 → v1.0.02018-09-07

v1.3.1 → v2.0.02021-09-01

### Community

Maintainers

![](https://www.gravatar.com/avatar/86a6e2d0b2e056685ea89c1a17ce909f11392e28b19bc85de4bc3c1b1c1ac6b6?d=identicon)[Abbotton](/maintainers/Abbotton)

---

Top Contributors

[![wi1dcard](https://avatars.githubusercontent.com/u/25447002?v=4)](https://github.com/wi1dcard "wi1dcard (425 commits)")[![Abbotton](https://avatars.githubusercontent.com/u/16308633?v=4)](https://github.com/Abbotton "Abbotton (34 commits)")[![xiashaung](https://avatars.githubusercontent.com/u/19299786?v=4)](https://github.com/xiashaung "xiashaung (1 commits)")[![yifanes](https://avatars.githubusercontent.com/u/1917346?v=4)](https://github.com/yifanes "yifanes (1 commits)")

---

Tags

alipayaopmini-appmini-program

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/abbotton-alipay-sdk/health.svg)

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

###  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/braintree

Braintree gateway for Omnipay payment processing library

35558.0k3](/packages/omnipay-braintree)

PHPackages © 2026

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