From 5c1212973fed681d3b251569dd6fed324a55a426 Mon Sep 17 00:00:00 2001 From: Kamil Binkowski Date: Tue, 9 Dec 2025 12:31:59 +0100 Subject: [PATCH 1/2] Revert "[COREP-4960] Clear interface of the endpoint cardWallet/authorize from passing params related to create a payment" This reverts commit 4febe993faaaa50ae77cee95bd61730905c232a7. --- .../com/pensio/api/PensioMerchantAPI.java | 10 ++-- .../request/CardWalletAuthorizeRequest.java | 48 +++++++++++++++---- 2 files changed, 44 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/pensio/api/PensioMerchantAPI.java b/src/main/java/com/pensio/api/PensioMerchantAPI.java index 0d554cf..570eaf0 100644 --- a/src/main/java/com/pensio/api/PensioMerchantAPI.java +++ b/src/main/java/com/pensio/api/PensioMerchantAPI.java @@ -687,11 +687,11 @@ public APIResponse cardWalletAuthorize(CardWalletAuthorizeRequest request) throw addParam(params, "provider_data", request.getProviderData()); addParam(params, "payment_id", request.getPaymentId()); - if (!request.getPaymentInfos().getAll().isEmpty()) { - for (PaymentInfo paymentInfo : request.getPaymentInfos().getAll()) { - addParam(params, "transaction_info[" + paymentInfo.getKey() + "]", paymentInfo.getValue()); - } - } + addParam(params, "sale_reconciliation_identifier", request.getSaleReconciliationIdentifier()); + addParam(params, "sale_invoice_number", request.getSaleInvoiceNumber()); + addParam(params, "sales_tax", request.getSalesTax()); + + setPaymentRequestParameters(request, params); return getAPIResponse("cardWallet/authorize", HttpMethod.POST, params); } diff --git a/src/main/java/com/pensio/api/request/CardWalletAuthorizeRequest.java b/src/main/java/com/pensio/api/request/CardWalletAuthorizeRequest.java index e815639..8f6a21c 100644 --- a/src/main/java/com/pensio/api/request/CardWalletAuthorizeRequest.java +++ b/src/main/java/com/pensio/api/request/CardWalletAuthorizeRequest.java @@ -1,18 +1,21 @@ package com.pensio.api.request; -public class CardWalletAuthorizeRequest { +import com.pensio.Amount; + +public class CardWalletAuthorizeRequest extends PaymentRequest { - private String paymentId; private String providerData; - private final PaymentInfos paymentInfos = new PaymentInfos(); + private String paymentId; - public PaymentInfos getPaymentInfos() { - return paymentInfos; - } + // Optional parameters -- deprecated as others payment request attributes (reusing existing payment by payment_id) + private String saleReconciliationIdentifier; + private String saleInvoiceNumber; + private String salesTax; - public CardWalletAuthorizeRequest addPaymentInfo(String key, String value) { - paymentInfos.add(key, value); - return this; + public CardWalletAuthorizeRequest(String providerData, String paymentId, String terminal, String shopOrderId, Amount amount) { + super(shopOrderId, terminal, amount); + this.providerData = providerData; + this.paymentId = paymentId; } public String getProviderData() { @@ -33,4 +36,31 @@ public CardWalletAuthorizeRequest setPaymentId(String paymentId) { return this; } + public String getSaleReconciliationIdentifier() { + return saleReconciliationIdentifier; + } + + public CardWalletAuthorizeRequest setSaleReconciliationIdentifier(String saleReconciliationIdentifier) { + this.saleReconciliationIdentifier = saleReconciliationIdentifier; + return this; + } + + public String getSaleInvoiceNumber() { + return saleInvoiceNumber; + } + + public CardWalletAuthorizeRequest setSaleInvoiceNumber(String saleInvoiceNumber) { + this.saleInvoiceNumber = saleInvoiceNumber; + return this; + } + + public String getSalesTax() { + return salesTax; + } + + public CardWalletAuthorizeRequest setSalesTax(String salesTax) { + this.salesTax = salesTax; + return this; + } + } From 5c3502f81ab1dc683498a61a2371e50109db64bb Mon Sep 17 00:00:00 2001 From: Kamil Binkowski Date: Wed, 10 Dec 2025 09:09:33 +0100 Subject: [PATCH 2/2] [COREP-5065] backward compatibility to the gateway version for cardWallet/session and cardWallet/authorize API --- CHANGELOG.md | 3 +++ build.gradle | 2 +- readme.md | 4 ++-- src/main/java/com/pensio/api/PensioMerchantAPI.java | 5 +++++ 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ce5c899..71d9e3a 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.5] +- Restore backward compatibility to the gateway version for cardWallet/session and cardWallet/authorize API methods + ## [3.1.4] - Added new method to Merchant API `authenticate` diff --git a/build.gradle b/build.gradle index f84860a..3e62dee 100644 --- a/build.gradle +++ b/build.gradle @@ -9,7 +9,7 @@ plugins { } group = 'com.altapay' -version = '3.1.4' +version = '3.1.5' repositories { mavenCentral() diff --git a/readme.md b/readme.md index 420ba1b..c1744ad 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.4 + 3.1.5 ### Gradle - implementation 'com.altapay:sdk-java:3.1.4' + implementation 'com.altapay:sdk-java:3.1.5' ## Changelog diff --git a/src/main/java/com/pensio/api/PensioMerchantAPI.java b/src/main/java/com/pensio/api/PensioMerchantAPI.java index 570eaf0..5727a6f 100644 --- a/src/main/java/com/pensio/api/PensioMerchantAPI.java +++ b/src/main/java/com/pensio/api/PensioMerchantAPI.java @@ -675,7 +675,12 @@ public APIResponse cardWalletSession(CardWalletSessionRequest request) throws Pe { addParam(params, "applePayRequestData[validationUrl]", request.getApplePayRequestData().getValidationUrl()); addParam(params, "applePayRequestData[domain]", request.getApplePayRequestData().getDomain()); + + // backward compatibility with legacy flow + addParam(params, "validationUrl", request.getApplePayRequestData().getValidationUrl()); + addParam(params, "domain", request.getApplePayRequestData().getDomain()); } + setPaymentRequestParameters(request, params); return getAPIResponse("cardWallet/session", HttpMethod.POST, params);