Skip to content

wboereboom/adyen-java-api-library

 
 

Repository files navigation

Coverage Status

Adyen Java API Library

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

The library supports all APIs under the following services:

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

Prerequisites

Installation

You can use Maven and add this dependency to your project's POM:

<dependency>
  <groupId>com.adyen</groupId>
  <artifactId>adyen-java-api-library</artifactId>
  <version>18.1.3</version>
</dependency>

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:

// Setup Client and Service
Client client = new Client("Your X-API-KEY", Environment.TEST);
Checkout checkout = new Checkout(client);

// Create PaymentsRequest 
PaymentsRequest paymentsRequest = new PaymentsRequest();
paymentsRequest.setMerchantAccount("YOUR_MERCHANT_ACCOUNT");
String encryptedCardNumber = "test_4111111111111111";
String encryptedExpiryMonth = "test_03";
String encryptedExpiryYear = "test_2030";
String encryptedSecurityCode = "test_737";
paymentsRequest.addEncryptedCardData(encryptedCardNumber,encryptedExpiryMonth, encryptedExpiryYear, encryptedSecurityCode);
Amount amount = new Amount();
amount.setCurrency("EUR");
amount.setValue(1000L);
paymentsRequest.setAmount(amount);
paymentsRequest.setReference("Your order number");
paymentsRequest.setReturnUrl("https://your-company.com/checkout?shopperOrder=12xy..");

// Make a call to the /payments endpoint
PaymentsResponse paymentsResponse = checkout.payments(paymentsRequest);

General use with API key for live environment

For requests on live environment, you need to pass the Live URL Prefix to the Client object:

// Setup Client and Service
Client client = new Client("Your X-API-KEY", Environment.LIVE, "Your live URL prefix");
Checkout checkout = new Checkout(client);

...

General use with basic auth

 // Setup Client and Service
 Client client = new Client("Your username", "Your password", Environment.LIVE, "Your live URL prefix", "Your application name");
 Checkout checkout = new Checkout(client);
 
 ...

Using notification webhooks parser

 String json = "The notification message sent to your webhook";
 NotificationHandler notificationHandler = new NotificationHandler();
 GenericNotification notificationMessage = notificationHandler.handleMarketpayNotificationJson(json);
 ...

Proxy configuration

You can configure a proxy connection by injecting your own AdyenHttpClient on your client instance.

Example:

...
AdyenHttpClient adyenHttpClientWithProxy = new AdyenHttpClient();

Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("PROXY_HOST", PROXY_PORT));
adyenHttpClientWithProxy.setProxy(proxy);

client.setHttpClient(adyenHttpClientWithProxy);

If your proxy requires authentication, set all the settings as system properties instead (don't mix with previous approach), for example:

System.setProperty("https.proxyHost", "127.0.0.1");
System.setProperty("https.proxyPort", "3128");
System.setProperty("https.proxyUser", "squid");
System.setProperty("https.proxyPassword", "ward");

Example integrations

For a closer look at how our Java library works, you can clone one of our example integrations:

These include commented code, highlighting key features and concepts, and examples of API calls that can be made using the library.

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

About

Adyen API Library for Java

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 99.4%
  • Other 0.6%