Download the PHP package easyalipay/easyalipay without Composer
On this page you can find all versions of the php package easyalipay/easyalipay. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download easyalipay/easyalipay
More information about easyalipay/easyalipay
Files in easyalipay/easyalipay
Package easyalipay
Short Description [A]Sync Chainable Alipay OpenAPI SDK for PHP
License MIT
Informations about the package easyalipay
支付宝 Alipay OpenAPI SDK
[A]Sync Chainable Alipay OpenAPI SDK for PHP
概览
支付宝 OpenAPI 的Guzzle HttpClient封装组合,
内置 请求签名
和 应答验签
两个middlewares中间件,创新性地实现了链式面向对象同步/异步调用远程接口。
如果你是使用 Guzzle
的商户开发者,可以使用 EasyAlipay\Builder::factory
工厂方法直接创建一个 GuzzleHttp\Client
的链式调用封装器,
实例在执行请求时将自动携带身份认证信息,并检查应答的支付宝的返回签名。
环境要求
我们开发和测试使用的环境如下:
- PHP >=7.1.2
- guzzlehttp/guzzle ^6.5 || ^7.0
注:
- 兼容支持
Guzzle6
的PHP最低版本为7.1.2
,另PHP官方已于1 Dec 2019
停止维护PHP7.1
,详见附注链接; - 随
Guzzle7
支持的PHP最低版本为7.2.5
,另PHP官方已于30 Nov 2020
停止维护PHP7.2
,详见附注链接;
安装
推荐使用PHP包管理工具composer
引入SDK到项目中:
方式一
在项目目录中,通过composer命令行添加:
方式二
在项目的composer.json
中加入以下配置:
添加配置后,执行安装
约定
本类库是以 OpenAPI
公共请求参数
中的接入方法 method
以.
做切分,映射成attributes
,编码书写方式有如下约定:
- 请求 接入方法
method
切分后的每个attributes
,可直接以对象获取形式串接,例如alipay.trade.query
即串成alipay->trade->query
; - 每个 接入方法
method
所支持的HTTP METHOD
,即作为被串接对象的末尾执行方法,例如:alipay->trade->query->post(['content' => []])
; - 每个 接入方法
method
所支持的HTTP METHOD
,同时支持Async
语法糖,例如:alipay->trade->query->postAsync(['content' => []])
; - 每个 接入方法
method
可以使用PascalCase
风格书写,例如:alipay.trade.query
可写成AlipayTradeQuery
; - 在IDE集成环境下,也可以按照内置的
chain($method)
接口规范,直接以接入方法method
作为变量入参,来获取OpenAPI
当前接入方法的实例,驱动末尾执行方法(填入对应参数),发起请求,例如chain('alipay.trade.query')->post(['content' => []])
; - 末尾
get
/post
/getAsync
/postAsync
请求方法语法糖,型参$options
语法糖规则如下:content
字典,对应的是请求参数集合(biz_content)
字典,直接写原生PHP array
即可;query
字典,对应的是除请求参数集合(biz_content)
之外的,如部分特殊公共请求参数(system_params)
有通知地址(notify_url)
等,直接写原生PHP array
即可;- 一个入参时
$options
按需带入'content' => []
及/或'query' => []
结构即可; - 简写语法糖支持
[get|post][Async](array $content, array $options)
、[get|post][Async](array $content, array $query, array $options)
结构; - 本SDK所有
请求数据结构
遵循官方开发文档,该是蛇型即蛇形(如:service_code
),该是驼峰就驼峰(如:shopIds
),看到的数据结构,即请求数据结构
,原生PHP
语法即可;
- 内置
返回值验签
中间件在解构原始json
字符串后,直接返回*_response
对应的内容,有可能是json
,也可能是AesCbc
加密串,按需对返回串做处理;
以下示例用法,以异步(Async/PromiseA+)
或同步(Sync)
结合此种编码模式展开。
开始
首先,通过 EasyAlipay\Builder::factory
工厂方法构建一个实例,然后如上述约定
,链式同步
或异步
请求远端OpenAPI
接口。
初始化字典说明如下:
privateKey
为商户API私钥
,一般是通过官方证书生成工具生成字符串,支持PKCS#1
及PKCS#8
格式的私钥加载;publicKey
为平台API公钥
,一般是通过官方证书生成工具生成字符串,支持PKCS#8
及SPKI
格式的公钥加载;params
接口中的公共请求参数
配置项,已内置charset=UTF-8
,format=JSON
,sign_type=RSA2
及version=1.0
;params['app_id' => $appId]
为你的应用app_id
;params['app_auth_token' => $appAuthToken]
为你的ISV
模式的授权token
,按需配置;params['app_cert_sn' => $appCertSn]
为公钥证书模式
的商户证书相关信息SN
,按需配置;params['alipay_root_cert_sn' => $alipayRootCertSn]
为公钥证书模式
的平台证书相关信息SN
,按需配置;
注: OpenAPI
以及 GuzzleHttp\Client
的 array $config
初始化参数,均融合在一个型参上。
统一收单线下交易查询
统一收单交易支付接口
统一收单线下交易预创建
手机网站支付接口2.0
统一收单下单并支付页面接口
上传门店照片和视频接口
敏感信息加/解密
链接
- 变更历史
- 更多示例代码
- GuzzleHttp官方版本支持
- PHP官方版本支持
许可证
MIT
All versions of easyalipay with dependencies
ext-curl Version *
ext-libxml Version *
ext-simplexml Version *
ext-openssl Version *
guzzlehttp/guzzle Version ^6.5 || ^7.0