Building better applications with Adyen API Libraries
Tags: api, productivity, programming
Published: 2023-03-29 19:11:08

REST APIs are the de-facto standard of integrating platforms and third-party services. We know that very well at Adyen since our platform is designed around modular components that can be plugged into custom workflows, interact securely with business and consumer data and integrated using open standards.

However, with the large range of available products and the many advanced use cases, the increasing complexity cannot be overlooked. That’s where API Libraries play a critical role: they simplify the integration, reduce effort and unlock the full potential of the **Adyen single-platform** for developers that work with us.

### In this article..

> …read about the features of the Adyen API Libraries, the benefits they bring and why we implement an OpenAPI-driven approach to maximize the developer experience.

---

## Adyen API Libraries
Adyen Libraries are pre-built software components that simplify the process of accessing the Adyen REST APIs by providing a high-level abstraction. By using these libraries, developers can make API calls without having to write low-level code for the REST communication protocol, while also gaining access to functions and helpers for security, error management, and product-specific features.

The overall **developer experience is enhanced** significantly, making it easier and quicker to integrate with the Adyen platform.

For statically-typed programming languages (Java, .NET, Go, Typescript) the great advantage is the domain models (classes mapping the request and response payloads) that the libraries provide out-of-the-box.

The libraries, which evolve alongside the APIs, come with comprehensive documentation that explains basic setup as well as advanced settings. Additionally they include code snippets to help developers understand how to use them effectively.

Several popular programming languages and frameworks are supported.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/munay5m0bui17lrkq0j9.png)

## Benefits
Developers love libraries and we are investing significant effort to make sure they are simple, fast and comprehensive:

- **Simple**: A library provides a pre-built set of modules and functions that developers can leverage to quickly integrate the APIs. This ease of integration reduces effort by removing the need to manually build out the API integration code.
- **Fast**: libraries includes clear documentation, code samples, and other resources that help developers understand how to use the API effectively. Default settings are coded into the library, built-in validation finds inconsistencies earlier, and exception management makes sure that errors are caught and dealt with accordingly. All of that boosts productivity and reduces time to value.
- **Comprehensive**: A library is typically designed to work with a specific programming language and framework. Developers can therefore work with their preferred technology stack and tools, resulting in a better developer experience. Security features (HMAC validation, masking, SSL certificate management) are also part of the library to ensure that the API is used securely.

We have also chosen to open source the projects: libraries are best developed as open-source projects, with the active participation of a community that provides valuable feedback, reports issues and proposes solutions. The joint effort makes sure they deliver real value to its users.

## OpenAPI driven approach
The OpenAPI specification is a pillar of Adyen’s [API-first](https://www.adyen.com/blog/api-first-adyen) vision. We have adopted OpenAPI several years ago with the goal to create APIs that enable fast integration for developers and help businesses succeed.

Adyen’s OpenAPI specifications are generated internally and published to [Github](https://github.com/adyen/adyen-openapi) for both our users and the tools we offer. This pipeline benefits a range of applications.

The Adyen [API Explorer](https://docs.adyen.com/api-explorer): an interactive and comprehensive environment for working with all Adyen APIs, ensuring that developers have access to the most up-to-date documentation and functionality.

The [AdyenDev Postman](https://www.postman.com/adyendev) space: a dedicated workspace featuring the Postman collections of the latest API versions.

The Adyen [Open Source Libraries](https://github.com/adyen): a collection of libraries, components and plug-ins that streamline the API integration process.

The [Adyen Examples](https://github.com/adyen-examples): the repository of all example integrations for the various libraries and plugins.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4cx0cko93cpmekav8y4l.png)

Thanks to the OpenAPI standard and the [OpenAPI Generator](https://github.com/OpenAPITools/openapi-generator), we’ve established a development pipeline with **shorter release cycles** for our libraries.

## Automating libraries
Whenever a new API version is released, we publish the corresponding OpenAPI file on Github. The specifications are therefore available to the merchants and all developers who work with the Adyen platform.

The next step of our automated pipeline is to generate and update the libraries’ source code. From the OpenAPI specification files we create services, models, documentation and code snippets. The source code is reviewed, tested and merged into the existing libraries, and swiftly released.

This pipeline has allowed us to closely follow the API releases, making new features available sooner through our API libraries. It has also improved consistency and reduced mistakes by automating the code generation.

> _With the automation of the OpenAPI code generation we aim to have general availability across all API Libraries within 2 weeks of new releases and updates from the Adyen platform._
> **Vivienne Klaassens** — Product Manager

## Conclusion
In this article, we have discussed our approach to API Libraries and how they benefit you as a developer. By utilizing the OpenAPI standard and implementing an automated pipeline, we ensure that our libraries closely follow the API releases.

As a result, developers can **quickly and easily access the latest features** and capabilities of our platform, saving them valuable time and effort while they focus on their specific use cases.

We are always looking for contributors to our Open Source projects: we believe this is a great way to improve the libraries and build a stronger community. It can be code contributions, testing, documentation or even just logging an issue.

Go ahead and clone a library or a sample application, check out what works well and what else we can do to make your developer experience even better.

Reach us on our Github home or on Twitter.