diff --git a/CHANGELOG.md b/CHANGELOG.md
index ae8b703..088e74c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,9 @@
# Changelog
All notable changes to this project will be documented in this file.
+## [3.1.18]
+- Added possibility to pass client browser data in `MerchantApi` to support 3DS processing for wallet nontokenized flow (eg. GooglePay from desktop browser).
+
## [3.1.17]
- Added optional `Type` element (`CardType`: `CREDIT`, `DEBIT`, `CHARGE_CARD`) to `CardInformation` in API responses, exposing the card type derived from the BIN interchange group.
diff --git a/build.gradle b/build.gradle
index d73b3a8..7840c3e 100644
--- a/build.gradle
+++ b/build.gradle
@@ -9,7 +9,7 @@ plugins {
}
group = 'com.altapay'
-version = '3.1.17'
+version = '3.1.18'
repositories {
mavenCentral()
diff --git a/readme.md b/readme.md
index 205ad8d..7e7435a 100644
--- a/readme.md
+++ b/readme.md
@@ -49,12 +49,12 @@ For integrating Java projects with the AltaPay gateway.
com.altapay
sdk-java
- 3.1.17
+ 3.1.18
### Gradle
- implementation 'com.altapay:sdk-java:3.1.17'
+ implementation 'com.altapay:sdk-java:3.1.18'
## Changelog
diff --git a/src/main/java/com/pensio/api/PensioMerchantAPI.java b/src/main/java/com/pensio/api/PensioMerchantAPI.java
index bea059f..f8012ca 100644
--- a/src/main/java/com/pensio/api/PensioMerchantAPI.java
+++ b/src/main/java/com/pensio/api/PensioMerchantAPI.java
@@ -614,6 +614,19 @@ private void setCustomerInfo(HashMap params, CustomerInfo custom
addParam(params, String.format("%s[shipping_region]",groupTag), customerInfo.getShippingAddress().getRegion());
}
addParam(params, String.format("%s[device_id]", groupTag), customerInfo.getDeviceId());
+ if(customerInfo.getBrowserData() != null)
+ {
+ addParam(params, String.format("%s[client_time_zone]",groupTag), customerInfo.getBrowserData().getTimeZone());
+ addParam(params, String.format("%s[client_javascript_enabled]",groupTag), customerInfo.getBrowserData().getJavascriptEnabled());
+ addParam(params, String.format("%s[client_screen_width]",groupTag), customerInfo.getBrowserData().getScreenWidth());
+ addParam(params, String.format("%s[client_screen_height]",groupTag), customerInfo.getBrowserData().getScreenHeight());
+ addParam(params, String.format("%s[client_color_depth]",groupTag), customerInfo.getBrowserData().getColorDepth());
+ addParam(params, String.format("%s[client_java_enabled]",groupTag), customerInfo.getBrowserData().getJavaEnabled());
+ addParam(params, String.format("%s[client_forwarded_ip]",groupTag), customerInfo.getBrowserData().getForwardedIp());
+ addParam(params, String.format("%s[client_user_agent]",groupTag), customerInfo.getBrowserData().getUserAgent());
+ addParam(params, String.format("%s[client_accept]",groupTag), customerInfo.getBrowserData().getAccept());
+ addParam(params, String.format("%s[client_accept_language]",groupTag), customerInfo.getBrowserData().getAcceptLanguage());
+ }
}
private void addOrderLines(String prepend, HashMap params, List orderLines)