adyen / php-api-library
用于访问 Adyen API 的 PHP 客户端库
Requires
- php: >=7.3
- ext-ctype: *
- ext-curl: *
- ext-json: *
- ext-mbstring: *
- ext-openssl: *
Requires (Dev)
- dms/phpunit-arraysubset-asserts: 0.5.0
- friendsofphp/php-cs-fixer: *
- php-coveralls/php-coveralls: 2.7.0
- phpunit/phpunit: 9.6.19
- squizlabs/php_codesniffer: 3.10.2
- dev-main
- dev-develop
- v20.3.0
- v20.2.0
- v20.1.0
- v20.0.0
- v19.1.0
- v19.0.0
- v18.2.1
- v18.2.0
- v18.1.0
- v18.0.0
- v17.5.0
- v17.4.0
- v17.3.0
- v17.2.0
- v17.1.1
- v17.1.0
- v17.0.0
- v16.1.0
- v16.0.0
- v16.0.0-beta
- v15.5.1
- v15.5.0
- v15.4.0
- v15.3.0
- v15.2.0
- v15.1.0
- v15.0.0
- 15.0.0-beta
- 14.0.1
- 14.0.0
- 13.0.5
- 13.0.4
- 13.0.3
- 13.0.2
- 13.0.1
- 13.0.0
- 12.2.0
- 12.1.0
- 12.0.0
- 11.0.0
- 10.1.0
- 10.0.0
- 9.0.0
- 8.1.1
- 8.1.0
- 8.0.0
- 7.1.0
- 7.0.0
- 6.3.0
- 6.2.0
- 6.1.0
- 6.0.1
- 6.0.0
- 5.0.1
- 5.0.0
- 4.2.0
- 4.1.0
- 4.0.0
- 3.1.0
- 3.0.0
- 2.1.0
- 2.0.0
- 1.6.1
- 1.6.0
- 1.5.4
- 1.5.3
- 1.5.2
- 1.5.1
- 1.5.0
- 1.4.2
- 1.4.1
- 1.4.0
- 1.3.0
- 1.2.0
- 1.1.0
- 1.0.1
- 1.0.0
- dev-sdk-automation/models
- dev-renovate/phpunit-phpunit-11.x
- dev-renovate/phpunit-phpunit-9.x
- dev-renovate/squizlabs-php_codesniffer-3.x
- dev-automation/services
- dev-fix-delete-version
- dev-automation/models
- dev-AlexandrosMor-patch-3
- dev-AlexandrosMor-patch-2
- dev-AlexandrosMor-patch-1
- dev-releases/v15
- dev-fix-empty-response
This package is auto-updated.
Last update: 2024-09-23 10:47:37 UTC
README
Adyen PHP API 库
这是官方支持的用于使用 Adyen API 的 PHP 库。
支持的 API 版本
该库支持以下服务下的所有 API
支持的 Webhook 版本
该库支持以下模型目录下的所有 Webhook
先决条件
- Adyen 测试账户
- API 密钥。为了测试,您的 API 凭证需要具有 API PCI Payments 角色。
- PHP 7.3 或更高版本
- 带有 SSL 支持的 cURL。
- PHP 扩展:ctype、curl、json、mbstring 和 openssl。
- 有关依赖项的完整列表,请参阅 composer require 列表。
支持旧版本
如果使用 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\PaymentsApi($client); // Create PaymentMethod object $paymentMethod = new \Adyen\Model\Checkout\CheckoutPaymentMethod(); $paymentMethod ->setType("scheme") ->setEncryptedBankAccountNumber("test_4111111111111111") ->setEncryptedExpiryMonth("test_03") ->setEncryptedExpiryYear("test_2030") ->setEncryptedSecurityCode("test_737"); // Creating Amount Object $amount = new \Adyen\Model\Checkout\Amount(); $amount ->setValue(1500) ->setCurrency("EUR"); // Create the actual Payments Request $paymentRequest = new \Adyen\Model\Checkout\PaymentRequest(); $paymentRequest ->setMerchantAccount("YOUR MERCHANT ACCOUNT") ->setPaymentMethod($paymentMethod) ->setAmount($amount) ->setReference("payment-test") ->setReturnUrl("https://your-company.com/..."); $result = $service->payments($paymentRequest);
使用 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\Checkout\PaymentLinksApi($client); $params = array( 'merchantAccount' => "YourMerchantAccount", 'reference' => '12345', 'amount' => array('currency' => "BRL", 'value' => 1250), 'countryCode' => "BR", 'shopperReference' => "YourUniqueShopperId", 'shopperEmail' => "test@email.com", 'shopperLocale' => "pt_BR", 'billingAddress' => array(...), 'deliveryAddress' => array(...), ); $createPaymentLinkRequest = new \Adyen\Model\Checkout\PaymentLinkRequest($params); $result = $service->paymentLinks($createPaymentLinkRequest); $paymentLink = $result->getUrl(); // or use $result['url'] if you want to use arrayAccess
使用银行 Webhook
... $jsonString = 'webhook_payload'; $isValid = $hmac->validateHMAC("YOUR_HMAC_KEY", "YOUR_HMAC_SIGN", $jsonString); if ($isValid) { $webhookParser = new \Adyen\Service\BankingWebhookParser($jsonString); $result = $webhookParser->getGenericWebhook(); }
使用管理 Webhook
... $jsonString = 'webhook_payload'; $isValid = $hmac->validateHMAC("YOUR_HMAC_KEY", "YOUR_HMAC_SIGN", $jsonString); if ($isValid) { $webhookParser = new \Adyen\Service\ManagementWebhookParser($jsonString); $result = $webhookParser->getGenericWebhook(); }
示例集成
要更详细了解我们的 PHP 库如何工作,请克隆我们的 Laravel 示例集成。这包括带注释的代码,突出显示关键功能和概念,以及使用库可以执行的 API 调用的示例。
运行测试
对于测试案例,您需要在您的账户上启用 PCI 许可。由于信用卡数据通过我们的 JavaScript 库加密,因此没有 CSE 的测试案例。默认情况下,测试将被跳过。如果您有这些权限,请在 config/test.ini 文件中填写您的账户详细信息,以便测试工作。要使自动测试案例适用于您的账户,请在 config/test.ini 文件中更改凭证。
反馈
我们重视您的反馈!通过填写 我们的反馈表 来提供您的反馈,帮助我们在 API 库中做出改进并提高集成体验。
贡献
我们鼓励您为这个仓库做出贡献,这样每个人都可以从新功能、错误修复以及其他改进中受益。请查看我们的贡献指南,了解如何提出拉取请求。
支持
如果您有功能请求,或发现了错误或技术问题,请在这里创建一个问题。
对于其他问题,请联系我们的支持团队。
许可证
此仓库遵循MIT许可证。