Skip to content

Commit 1f93d27

Browse files
authored
Merge pull request #115 from Adyen/develop
Release 1.5.3
2 parents 678ae64 + 2d2a12e commit 1f93d27

File tree

13 files changed

+395
-106
lines changed

13 files changed

+395
-106
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ Add this dependency to your project's POM:
2323
<dependency>
2424
<groupId>com.adyen</groupId>
2525
<artifactId>adyen-java-api-library</artifactId>
26-
<version>1.5.2</version>
26+
<version>1.5.3</version>
2727
</dependency>
2828
```
2929

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<groupId>com.adyen</groupId>
55
<artifactId>adyen-java-api-library</artifactId>
66
<packaging>jar</packaging>
7-
<version>1.5.2</version>
7+
<version>1.5.3</version>
88
<name>Adyen Java API Library</name>
99
<description>Adyen API Client Library for Java</description>
1010
<url>https://github.com/adyen/adyen-java-api-library</url>

src/main/java/com/adyen/Client.java

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public class Client {
4040
public static final String MARKETPAY_FUND_API_VERSION = "v3";
4141
public static final String MARKETPAY_NOTIFICATION_API_VERSION = "v1";
4242
public static final String USER_AGENT_SUFFIX = "adyen-java-api-library/";
43-
public static final String LIB_VERSION = "1.5.2";
43+
public static final String LIB_VERSION = "1.5.3";
4444
public static final String CHECKOUT_ENDPOINT_TEST = "https://checkout-test.adyen.com";
4545
public static final String CHECKOUT_ENDPOINT_LIVE = "https://checkout-live.adyen.com";
4646
public static final String CHECKOUT_API_VERSION = "v32";
@@ -63,6 +63,30 @@ public Client(String username, String password, Environment environment, String
6363
this.config.setApplicationName(applicationName);
6464
}
6565

66+
public Client(String username, String password, Environment environment, int connectionTimeoutMillis) {
67+
68+
this.config = new Config();
69+
this.config.setUsername(username);
70+
this.config.setPassword(password);
71+
this.setEnvironment(environment);
72+
this.config.setConnectionTimeoutMillis(connectionTimeoutMillis);
73+
}
74+
75+
public Client(String apiKey, Environment environment) {
76+
77+
this.config = new Config();
78+
this.config.setApiKey(apiKey);
79+
this.setEnvironment(environment);
80+
}
81+
82+
public Client(String apiKey, Environment environment, int connectionTimeoutMillis) {
83+
84+
this.config = new Config();
85+
this.config.setApiKey(apiKey);
86+
this.setEnvironment(environment);
87+
this.config.setConnectionTimeoutMillis(connectionTimeoutMillis);
88+
}
89+
6690
public void setEnvironment(Environment environment) {
6791

6892
if (environment.equals(Environment.TEST)) {

src/main/java/com/adyen/Config.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ public class Config {
3131
protected String marketPayEndpoint;
3232
protected String applicationName;
3333
protected String apiKey;
34+
protected int connectionTimeoutMillis;
3435

3536
//HPP specific
3637
protected String hppEndpoint;
@@ -141,5 +142,13 @@ public void setCheckoutEndpoint(String checkoutEndpoint) {
141142
this.checkoutEndpoint = checkoutEndpoint;
142143
}
143144

145+
public int getConnectionTimeoutMillis() {
146+
return connectionTimeoutMillis;
147+
}
148+
149+
public void setConnectionTimeoutMillis(int connectionTimeoutMillis) {
150+
this.connectionTimeoutMillis = connectionTimeoutMillis;
151+
}
152+
144153

145154
}

src/main/java/com/adyen/Util/DateUtil.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,13 @@ public final class DateUtil {
2828
private DateUtil() {
2929
}
3030

31-
public static Date parseYmdDate(String dateString) {
31+
public static Date parseDateToFormat(String dateString, String format) {
3232
if (dateString == null) {
3333
return null;
3434
}
3535

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

4444
return date;
4545
}
46+
47+
public static Date parseYmdDate(String dateString) {
48+
return parseDateToFormat(dateString, "yyyy-MM-dd");
49+
}
50+
51+
public static Date parseMYDate(String dateString) {
52+
return parseDateToFormat(dateString, "M/yyyy");
53+
}
4654
}

src/main/java/com/adyen/constants/ApiConstants.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ interface AdditionalData {
4545
String PAYMENT_TOKEN = "payment.token";
4646
String FRAUD_RESULT_TYPE = "fraudResultType";
4747
String FRAUD_MANUAL_REVIEW = "fraudManualReview";
48+
String AUTH_CODE = "authCode";
4849

4950
String BOLETO_BARCODE_REFERENCE = "boletobancario.barCodeReference";
5051
String BOLETO_DATA = "boletobancario.data";
@@ -69,4 +70,25 @@ interface Encrypted {
6970
interface SelectedBrand {
7071
String BOLETO_SANTANDER = "boletobancario_santander";
7172
}
73+
74+
interface PaymentMethod {
75+
String ENCRYPTED_CARD_NUMBER = "encryptedCardNumber";
76+
String ENCRYPTED_EXPIRY_MONTH = "encryptedExpiryMonth";
77+
String ENCRYPTED_EXPIRY_YEAR = "encryptedExpiryYear";
78+
String ENCRYPTED_SECURITY_CODE = "encryptedSecurityCode";
79+
String METHOD_TYPE = "type";
80+
String HOLDER_NAME = "holderName";
81+
String RECURRING_DETAIL_REFERENCE = "recurringDetailReference";
82+
}
83+
84+
interface Redirect {
85+
interface Data {
86+
String MD = "MD";
87+
String PAREQ = "PaReq";
88+
}
89+
}
90+
91+
interface PaymentMethodType {
92+
String TYPE_SCHEME = "scheme";
93+
}
7294
}

src/main/java/com/adyen/httpclient/HttpURLConnectionClient.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,15 +55,19 @@ public String request(String requestUrl, String requestBody, Config config) thro
5555
@Override
5656
public String request(String requestUrl, String requestBody, Config config, boolean isApiKeyRequired) throws IOException, HTTPClientException {
5757
HttpURLConnection httpConnection = createRequest(requestUrl, config.getApplicationName());
58-
if (isApiKeyRequired) {
59-
setApiKey(httpConnection, config.getApiKey());
58+
String apiKey = config.getApiKey();
59+
int connectionTimeoutMillis = config.getConnectionTimeoutMillis();
60+
// Use Api key if required or if provided
61+
if (isApiKeyRequired || (apiKey != null && !apiKey.isEmpty())) {
62+
setApiKey(httpConnection, apiKey);
6063
} else {
6164
setBasicAuthentication(httpConnection, config.getUsername(), config.getPassword());
6265
}
66+
67+
httpConnection.setConnectTimeout(connectionTimeoutMillis);
6368
setContentType(httpConnection, "application/json");
64-
String response = doPostRequest(httpConnection, requestBody);
6569

66-
return response;
70+
return doPostRequest(httpConnection, requestBody);
6771
}
6872

6973
private static String getResponseBody(InputStream responseStream) throws IOException {

src/main/java/com/adyen/model/PaymentResult.java

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -398,19 +398,7 @@ public String getAdditionalDataByKey(String key) {
398398

399399
public Date getExpiryDate() {
400400
String expiryDate = getAdditionalDataByKey(EXPIRY_DATE);
401-
if (expiryDate == null) {
402-
return null;
403-
}
404-
405-
Date date;
406-
SimpleDateFormat monthYear = new SimpleDateFormat("M/yyyy");
407-
try {
408-
date = monthYear.parse(expiryDate);
409-
} catch (ParseException e) {
410-
return null;
411-
}
412-
413-
return date;
401+
return DateUtil.parseMYDate(expiryDate);
414402
}
415403

416404
public String getCardBin() {

src/main/java/com/adyen/model/checkout/PaymentsDetailsRequest.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323

2424
import com.google.gson.annotations.SerializedName;
2525

26+
import java.util.HashMap;
2627
import java.util.Map;
2728
import java.util.Objects;
2829

@@ -80,6 +81,18 @@ public void setPaymentData(String paymentData) {
8081
this.paymentData = paymentData;
8182
}
8283

84+
public PaymentsDetailsRequest set3DRequestData(String md, String paRes, String paymentData) {
85+
if (this.details == null) {
86+
this.details = new HashMap<>();
87+
}
88+
89+
this.details.put("MD", md);
90+
this.details.put("PaRes", paRes);
91+
92+
this.paymentData(paymentData);
93+
return this;
94+
}
95+
8396
@Override
8497
public boolean equals(Object o) {
8598
if (this == o) {

0 commit comments

Comments
 (0)