4yousee/adyen-lib-with-mock

一个用于访问 Adyen API 的 PHP 客户端库,包含模拟功能以供集成测试


README

Build Status

Adyen API 库让 PHP 用户轻松地使用 Adyen 的 API。

集成

该库支持以下服务的所有 API

  • 结账
  • 结账工具
  • 支付
  • 修改
  • 付款
  • 周期性
  • 市场支付
  • 终端 API(基于云)
  • 推荐 API

要求

PHP >= 5.6(生产环境)PHP >= 7.3(开发环境)

支持旧版本

如果您正在使用较旧的 PHP 版本(5.3、5.4 或 5.5),您可以下载之前的库版本 6,该版本可在发布页面找到。如果有商家请求或用于我们的插件,我们将升级或修补版本 6。

安装

您可以使用 Composer 或直接下载发行版

Composer

首选方法是使用 composer。如果您还没有安装 composer,请遵循安装说明

安装 composer 后,在您的项目根目录中执行以下命令以安装此库

composer require adyen/php-api-library

使用

要使自动测试用例为您的工作账户工作,请更改 config/test.ini 文件中的凭据。

示例

在测试中创建支付请求

$client = new \Adyen\Client();
$client->setApplicationName("Adyen PHP Api Library Example");
$client->setUsername("YOUR USERNAME");
$client->setPassword("YOUR PASSWORD");
$client->setXApiKey("YOUR API KEY");
$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);

对于 CSE 使用

{
  "amount": {
    "value": 1499,
    "currency": "GBP"
  },
  "reference": "payment-test",
  "merchantAccount": "YOUR MERCHANT ACCOUNT",
  "additionalData": {
    "card.encrypted.json": "THE ENCRYPTED DATA"
  }
}

退款示例

$client = new \Adyen\Client();
$client->setApplicationName("Adyen PHP Api Library Example");
$client->setUsername("YOUR USERNAME");
$client->setPassword("YOUR PASSWORD");
$client->setXApiKey("YOUR API KEY");
$client->setEnvironment(\Adyen\Environment::TEST);
$client->setTimeout(30);

// intialize modification service
$service = new \Adyen\Service\Modification($client);

// set the amount you want to refund
$modificationAmount = array('currency' => 'CURRENCY', 'value' => 'VALUE');

// required are merchantAccount, ModificationAmount(currency,value), reference and originalReference
$params = array(
    "merchantAccount" => 'YOUR MERCHANT ACCOUNT',
    "modificationAmount" => $modificationAmount,
    "reference" => 'YOUR OWN REFERENCE',
    "originalReference" => 'PSPREFERENCE OF THE PAYMENT YOU WANT TO REFUND'
);

$result = $service->refund($params);

// $result['response'] = [refund-received]

文档

测试

对于测试用例,您需要在您的账户中启用 PCI 许可证。由于信用卡数据通过我们的 JavaScript 库加密,因此没有针对 CSE 的测试用例。默认情况下,测试将被跳过。如果您有这些权限,请在 config/test.ini 文件中填写您的账户详细信息以使测试工作。

支持

如果您有功能请求、发现错误或技术问题,请在 GitHub 上创建问题。对于其他问题,请联系我们的 支持团队

贡献

我们强烈鼓励您加入我们,为此存储库做出贡献,以便每个人都能从以下方面受益

  • 新功能和功能
  • 已解决的错误修复和问题
  • 任何一般改进

阅读我们的 贡献指南 了解如何操作。

许可证

MIT 许可证。有关更多信息,请参阅 LICENSE 文件。