sevenlab / adyen-php-api-library
用于访问Adyen API的PHP客户端库
13.1.0
2023-03-07 08:57 UTC
Requires
- php: >=8.1
- ext-ctype: *
- ext-curl: *
- ext-json: *
- ext-mbstring: *
- ext-openssl: *
- monolog/monolog: ^1.16 || ^2.0 | ^3.0
Requires (Dev)
- dms/phpunit-arraysubset-asserts: 0.4.0
- friendsofphp/php-cs-fixer: *
- php-coveralls/php-coveralls: 2.5.3
- phpunit/phpunit: 9.5.24
- squizlabs/php_codesniffer: 3.7.1
This package is not auto-updated.
Last update: 2024-09-18 16:03:03 UTC
README
这是官方支持的用于使用Adyen API的PHP库。
集成
该库支持以下服务下的所有API
- 结账API:我们接受在线支付的最新集成。当前支持的版本:v69
- 支付API:我们经典的在线支付集成。当前支持的版本:v51
- 定期API:管理已保存支付详情的端点。当前支持的版本:v49
- 支付API:向您的客户发送资金的端点。当前支持的版本:v51
- 管理API:配置和管理您的Adyen公司和企业账户、商店和支付终端。当前支持的版本:v1
- 我的API凭证:根据您在请求中使用的API密钥返回您的API凭证详情。
- 账户 - 商户级别:返回您的API凭证可以访问的商户账户列表。列表根据查询参数分组。
- API密钥 - 商户级别:返回API凭证的新API密钥。您可以在生成后几分钟内使用新API密钥。旧API密钥在生成新密钥后24小时停止工作。
- 账户 - 公司级别:返回您的API凭证可以访问的公司账户列表。列表根据查询参数分组。
- Webhooks - 商户级别:返回路径中指定的webhook的HMAC密钥。此密钥允许您检查您收到的通知的完整性和来源。通过创建HMAC密钥,您开始接收Adyen的HMAC签名通知。了解有关如何验证HMAC签名更多。
- 平台API:使用Adyen for Platforms时的API集合。
- 云终端API:我们的销售点集成。
- 推荐API:为Adyen风险规则自动化提交推荐的端点。
- 退款API:退款已捕获的支付,并为此请求返回一个唯一的参考号。当前支持的版本:v68
- 撤销API:如果支付已被捕获,则退款支付,如果支付尚未被捕获,则取消支付。当前支持的版本:v68
先决条件
- Adyen测试账户
- API密钥。对于测试,您的API凭证需要具有API PCI Payments角色。
- PHP 7.3或更高版本
- 带有SSL支持的cURL。
- JSON PHP扩展。
- 查看composer要求列表以获取依赖项的完整列表。
旧版本支持
如果您使用的是PHP版本7.2或更低版本,请下载我们的库版本6.3.0。
安装
您可以使用Composer。如果您尚未安装Composer,请按照安装说明进行操作。
composer require adyen/php-api-library
在您的PHP脚本中,确保包含自动加载器
require __DIR__ . '/vendor/autoload.php';
或者,您可以从GitHub上的发布版下载。
使用库
使用API密钥的一般用途
将客户端设置为单例资源;您将使用它来调用Adyen的API
$client = new \Adyen\Client(); $client->setXApiKey("YOUR API KEY"); $client->setEnvironment(\Adyen\Environment::TEST); $client->setTimeout(30); $service = new \Adyen\Service\Checkout($client); $json = '{ "card": { "encryptedCardNumber": "test_4111111111111111", "encryptedExpiryMonth": "test_03", "encryptedExpiryYear": "test_2030", "encryptedSecurityCode": "test_737", "holderName": "John Smith" }, "amount": { "value": 1500, "currency": "EUR" }, "reference": "payment-test", "merchantAccount": "YOUR MERCHANT ACCOUNT" }'; $params = json_decode($json, true); $result = $service->payments($params);
使用API密钥对实时环境的一般用途
$client = new \Adyen\Client(); $client->setXApiKey("YOUR API KEY"); $client->setEnvironment(\Adyen\Environment::LIVE, 'Your live URL prefix'); $client->setTimeout(30); ...
使用基本认证的一般用途
$client = new \Adyen\Client(); $client->setUsername("YOUR USERNAME"); $client->setPassword("YOUR PASSWORD"); $client->setEnvironment(\Adyen\Environment::TEST); $client->setTimeout(30); $service = new \Adyen\Service\Payment($client); $json = '{ "card": { "number": "4111111111111111", "expiryMonth": "10", "expiryYear": "2020", "cvc": "737", "holderName": "John Smith" }, "amount": { "value": 1500, "currency": "EUR" }, "reference": "payment-test", "merchantAccount": "YOUR MERCHANT ACCOUNT" }'; $params = json_decode($json, true); $result = $service->authorise($params);
示例集成
要更详细地了解我们的PHP库如何工作,请克隆我们的Laravel示例集成。这包括带注释的代码、突出显示关键功能和概念,以及使用库可以执行的API调用示例。
运行测试
对于测试案例,您需要在您的账户上启用PCI权限。由于信用卡数据通过我们的JavaScript库进行加密,因此没有CSE的测试案例。默认情况下,测试将跳过。如果您有这些权限,请在config/test.ini文件中填写您的账户详细信息,以便测试工作。要使自动测试案例对您的账户工作,请更改config/test.ini文件中的凭据。
贡献
我们鼓励您为此存储库做出贡献,这样每个人都可以从新功能、错误修复和任何其他改进中受益。查看我们的贡献指南以了解如何提出拉取请求。
支持
如果您有功能请求,或发现了错误或技术问题,请在此处创建问题。
对于其他问题,请联系我们的支持团队。
许可
此仓库遵循 MIT 许可协议。