Git Product home page Git Product logo

adyen-php-api-library's Introduction

Adyen APIs Library for PHP

This is the officially supported PHP library for using Adyen's APIs.

version

Integration

The library supports all APIs under the following services:

  • Checkout API: Our latest integration for accepting online payments. Current supported version: v69
  • Payments API: Our classic integration for online payments. Current supported version: v51
  • Recurring API: Endpoints for managing saved payment details. Current supported version: v49
  • Payouts API: Endpoints for sending funds to your customers. Current supported version: v51
  • Management API: Configure and manage your Adyen company and merchant accounts, stores, and payment terminals. Current supported version: v1
    • My API credentials: Returns your API credential details based on the API Key you used in the request.
    • Account - Merchant level: Returns the list of merchant accounts that your API credential has access to. The list is grouped into pages as defined by the query parameters.
    • API key - Merchant level: Returns a new API key for the API credential. You can use the new API key a few minutes after generating it. The old API key stops working 24 hours after generating a new one.
    • Account - Company level Returns the list of company accounts that your API credential has access to. The list is grouped into pages as defined by the query parameters.
    • Webhooks - Merchant level Returns an HMAC key for the webhook identified in the path. This key allows you to check the integrity and the origin of the notifications you receive.By creating an HMAC key, you start receiving HMAC-signed notifications from Adyen. Find out more about how to verify HMAC signatures.
  • Platforms APIs: Set of APIs when using Adyen for Platforms.
  • Cloud-based Terminal API: Our point-of-sale integration.
  • Referrals API: Endpoints to automate submitting referrals for Adyen risk rules.
  • Refunds API: Refunds a payment that has been captured, and returns a unique reference for this request. Current supported version: v68
  • Reversals API: Refunds a payment if it has already been captured, and cancels a payment if it has not yet been captured. Current supported version: v68

For more information, refer to our documentation or the API Explorer.

Prerequisites

Legacy version support

If using PHP versions 7.2 or lower, download our library version 6.3.0.

Installation

You can use Composer. Follow the installation instructions if you do not already have composer installed.

composer require adyen/php-api-library

In your PHP script, make sure you include the autoloader:

require __DIR__ . '/vendor/autoload.php';

Alternatively, you can download the release on GitHub.

Using the library

General use with API key

Set up the client as a singleton resource; you'll use it for the API calls that you make to Adyen:

$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);

General use with API key for live environment

$client = new \Adyen\Client();
$client->setXApiKey("YOUR API KEY");
$client->setEnvironment(\Adyen\Environment::LIVE, 'Your live URL prefix');
$client->setTimeout(30);
 
...

General use with basic auth

$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);

Example integration

For a closer look at how our PHP library works, clone our Laravel example integration. This includes commented code, highlighting key features and concepts, and examples of API calls that can be made using the library.

Running the tests

For the test cases you need the PCI permission enabled on you account. There are no test cases for CSE because credit card data is encrypted through our javascript library. By default the test will then be skipped. If you have these permissions fill in your account details in the config/test.ini file to let the test work. To make the automatic testing cases work for your account change the credentials in the config/test.ini file.

Contributing

We encourage you to contribute to this repository, so everyone can benefit from new features, bug fixes, and any other improvements. Have a look at our contributing guidelines to find out how to raise a pull request.

Support

If you have a feature request, or spotted a bug or a technical problem, create an issue here.

For other questions, contact our Support Team.

Licence

This repository is available under the MIT license.

See also

adyen-php-api-library's People

Contributors

acampos1916 avatar aleffio avatar alexandrosmor avatar aprasker avatar averias avatar candemiralp avatar cangelis avatar cyattilakiss avatar dependabot[bot] avatar fabricioblz avatar georgegg avatar jillingk avatar jocel1 avatar kadobot avatar lancergr avatar msilvagarcia avatar nursultanturdaliev avatar peterojo avatar renovate-bot avatar rikterbeek avatar rkewlani avatar rokpopov avatar rossmotley avatar rubenkruiswijk avatar rvanvelzen avatar rvitaliy avatar shagshag avatar svillette avatar szepeviktor avatar vadminn avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.