Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Add this dependency to your project's POM:
<dependency>
<groupId>com.adyen</groupId>
<artifactId>adyen-java-api-library</artifactId>
<version>1.5.2</version>
<version>1.5.3</version>
</dependency>
```

Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<groupId>com.adyen</groupId>
<artifactId>adyen-java-api-library</artifactId>
<packaging>jar</packaging>
<version>1.5.2</version>
<version>1.5.3</version>
<name>Adyen Java API Library</name>
<description>Adyen API Client Library for Java</description>
<url>https://github.com/adyen/adyen-java-api-library</url>
Expand Down
26 changes: 25 additions & 1 deletion src/main/java/com/adyen/Client.java
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ public class Client {
public static final String MARKETPAY_FUND_API_VERSION = "v3";
public static final String MARKETPAY_NOTIFICATION_API_VERSION = "v1";
public static final String USER_AGENT_SUFFIX = "adyen-java-api-library/";
public static final String LIB_VERSION = "1.5.2";
public static final String LIB_VERSION = "1.5.3";
public static final String CHECKOUT_ENDPOINT_TEST = "https://checkout-test.adyen.com";
public static final String CHECKOUT_ENDPOINT_LIVE = "https://checkout-live.adyen.com";
public static final String CHECKOUT_API_VERSION = "v32";
Expand All @@ -63,6 +63,30 @@ public Client(String username, String password, Environment environment, String
this.config.setApplicationName(applicationName);
}

public Client(String username, String password, Environment environment, int connectionTimeoutMillis) {

this.config = new Config();
this.config.setUsername(username);
this.config.setPassword(password);
this.setEnvironment(environment);
this.config.setConnectionTimeoutMillis(connectionTimeoutMillis);
}

public Client(String apiKey, Environment environment) {

this.config = new Config();
this.config.setApiKey(apiKey);
this.setEnvironment(environment);
}

public Client(String apiKey, Environment environment, int connectionTimeoutMillis) {

this.config = new Config();
this.config.setApiKey(apiKey);
this.setEnvironment(environment);
this.config.setConnectionTimeoutMillis(connectionTimeoutMillis);
}

public void setEnvironment(Environment environment) {

if (environment.equals(Environment.TEST)) {
Expand Down
9 changes: 9 additions & 0 deletions src/main/java/com/adyen/Config.java
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ public class Config {
protected String marketPayEndpoint;
protected String applicationName;
protected String apiKey;
protected int connectionTimeoutMillis;

//HPP specific
protected String hppEndpoint;
Expand Down Expand Up @@ -141,5 +142,13 @@ public void setCheckoutEndpoint(String checkoutEndpoint) {
this.checkoutEndpoint = checkoutEndpoint;
}

public int getConnectionTimeoutMillis() {
return connectionTimeoutMillis;
}

public void setConnectionTimeoutMillis(int connectionTimeoutMillis) {
this.connectionTimeoutMillis = connectionTimeoutMillis;
}


}
12 changes: 10 additions & 2 deletions src/main/java/com/adyen/Util/DateUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,13 @@ public final class DateUtil {
private DateUtil() {
}

public static Date parseYmdDate(String dateString) {
public static Date parseDateToFormat(String dateString, String format) {
if (dateString == null) {
return null;
}

Date date;
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat fmt = new SimpleDateFormat(format);
try {
date = fmt.parse(dateString);
} catch (ParseException e) {
Expand All @@ -43,4 +43,12 @@ public static Date parseYmdDate(String dateString) {

return date;
}

public static Date parseYmdDate(String dateString) {
return parseDateToFormat(dateString, "yyyy-MM-dd");
}

public static Date parseMYDate(String dateString) {
return parseDateToFormat(dateString, "M/yyyy");
}
}
22 changes: 22 additions & 0 deletions src/main/java/com/adyen/constants/ApiConstants.java
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ interface AdditionalData {
String PAYMENT_TOKEN = "payment.token";
String FRAUD_RESULT_TYPE = "fraudResultType";
String FRAUD_MANUAL_REVIEW = "fraudManualReview";
String AUTH_CODE = "authCode";

String BOLETO_BARCODE_REFERENCE = "boletobancario.barCodeReference";
String BOLETO_DATA = "boletobancario.data";
Expand All @@ -69,4 +70,25 @@ interface Encrypted {
interface SelectedBrand {
String BOLETO_SANTANDER = "boletobancario_santander";
}

interface PaymentMethod {
String ENCRYPTED_CARD_NUMBER = "encryptedCardNumber";
String ENCRYPTED_EXPIRY_MONTH = "encryptedExpiryMonth";
String ENCRYPTED_EXPIRY_YEAR = "encryptedExpiryYear";
String ENCRYPTED_SECURITY_CODE = "encryptedSecurityCode";
String METHOD_TYPE = "type";
String HOLDER_NAME = "holderName";
String RECURRING_DETAIL_REFERENCE = "recurringDetailReference";
}

interface Redirect {
interface Data {
String MD = "MD";
String PAREQ = "PaReq";
}
}

interface PaymentMethodType {
String TYPE_SCHEME = "scheme";
}
}
12 changes: 8 additions & 4 deletions src/main/java/com/adyen/httpclient/HttpURLConnectionClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -55,15 +55,19 @@ public String request(String requestUrl, String requestBody, Config config) thro
@Override
public String request(String requestUrl, String requestBody, Config config, boolean isApiKeyRequired) throws IOException, HTTPClientException {
HttpURLConnection httpConnection = createRequest(requestUrl, config.getApplicationName());
if (isApiKeyRequired) {
setApiKey(httpConnection, config.getApiKey());
String apiKey = config.getApiKey();
int connectionTimeoutMillis = config.getConnectionTimeoutMillis();
// Use Api key if required or if provided
if (isApiKeyRequired || (apiKey != null && !apiKey.isEmpty())) {
setApiKey(httpConnection, apiKey);
} else {
setBasicAuthentication(httpConnection, config.getUsername(), config.getPassword());
}

httpConnection.setConnectTimeout(connectionTimeoutMillis);
setContentType(httpConnection, "application/json");
String response = doPostRequest(httpConnection, requestBody);

return response;
return doPostRequest(httpConnection, requestBody);
}

private static String getResponseBody(InputStream responseStream) throws IOException {
Expand Down
14 changes: 1 addition & 13 deletions src/main/java/com/adyen/model/PaymentResult.java
Original file line number Diff line number Diff line change
Expand Up @@ -398,19 +398,7 @@ public String getAdditionalDataByKey(String key) {

public Date getExpiryDate() {
String expiryDate = getAdditionalDataByKey(EXPIRY_DATE);
if (expiryDate == null) {
return null;
}

Date date;
SimpleDateFormat monthYear = new SimpleDateFormat("M/yyyy");
try {
date = monthYear.parse(expiryDate);
} catch (ParseException e) {
return null;
}

return date;
return DateUtil.parseMYDate(expiryDate);
}

public String getCardBin() {
Expand Down
13 changes: 13 additions & 0 deletions src/main/java/com/adyen/model/checkout/PaymentsDetailsRequest.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@

import com.google.gson.annotations.SerializedName;

import java.util.HashMap;
import java.util.Map;
import java.util.Objects;

Expand Down Expand Up @@ -80,6 +81,18 @@ public void setPaymentData(String paymentData) {
this.paymentData = paymentData;
}

public PaymentsDetailsRequest set3DRequestData(String md, String paRes, String paymentData) {
if (this.details == null) {
this.details = new HashMap<>();
}

this.details.put("MD", md);
this.details.put("PaRes", paRes);

this.paymentData(paymentData);
return this;
}

@Override
public boolean equals(Object o) {
if (this == o) {
Expand Down
Loading