From b134a9be8ffd034b959f2bcdca4973fa04a049c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pierre=20Ori=C3=A1?= Date: Wed, 17 Sep 2025 09:38:51 -0300 Subject: [PATCH 1/2] feat: add bank account info parameter --- build.gradle | 2 +- .../java/com/incognia/api/IncogniaAPI.java | 2 ++ .../PostTransactionRequestBody.java | 3 +++ .../transaction/payment/BankAccountInfo.java | 22 +++++++++++++++++ .../incognia/transaction/payment/PixKey.java | 11 +++++++++ .../payment/RegisterPaymentRequest.java | 2 ++ .../com/incognia/api/IncogniaAPITest.java | 24 +++++++++++++++++++ 7 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/incognia/transaction/payment/BankAccountInfo.java create mode 100644 src/main/java/com/incognia/transaction/payment/PixKey.java diff --git a/build.gradle b/build.gradle index c1518dec..ffe2b71e 100644 --- a/build.gradle +++ b/build.gradle @@ -8,7 +8,7 @@ plugins { } group = "com.incognia" -version = "3.10.0" +version = "3.11.0" task createProjectVersionFile { def projectVersionDir = "$projectDir/src/main/java/com/incognia/api" diff --git a/src/main/java/com/incognia/api/IncogniaAPI.java b/src/main/java/com/incognia/api/IncogniaAPI.java index 593f96d6..5c7da46e 100644 --- a/src/main/java/com/incognia/api/IncogniaAPI.java +++ b/src/main/java/com/incognia/api/IncogniaAPI.java @@ -463,6 +463,8 @@ public TransactionAssessment registerPayment(RegisterPaymentRequest request) .customProperties(request.getCustomProperties()) .coupon(request.getCoupon()) .personId(request.getPersonId()) + .debtorAccount(request.getDebtorAccount()) + .creditorAccount(request.getCreditorAccount()) .build(); Map queryParameters = new HashMap<>(); diff --git a/src/main/java/com/incognia/transaction/PostTransactionRequestBody.java b/src/main/java/com/incognia/transaction/PostTransactionRequestBody.java index 57c42599..61c58cb8 100644 --- a/src/main/java/com/incognia/transaction/PostTransactionRequestBody.java +++ b/src/main/java/com/incognia/transaction/PostTransactionRequestBody.java @@ -3,6 +3,7 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.incognia.common.Location; import com.incognia.common.PersonID; +import com.incognia.transaction.payment.BankAccountInfo; import com.incognia.transaction.payment.Coupon; import com.incognia.transaction.payment.PaymentMethod; import com.incognia.transaction.payment.PaymentValue; @@ -29,6 +30,8 @@ public class PostTransactionRequestBody { Location location; Coupon coupon; PersonID personId; + BankAccountInfo debtorAccount; + BankAccountInfo creditorAccount; @JsonInclude(JsonInclude.Include.NON_EMPTY) @Builder.Default diff --git a/src/main/java/com/incognia/transaction/payment/BankAccountInfo.java b/src/main/java/com/incognia/transaction/payment/BankAccountInfo.java new file mode 100644 index 00000000..a83f923e --- /dev/null +++ b/src/main/java/com/incognia/transaction/payment/BankAccountInfo.java @@ -0,0 +1,22 @@ +package com.incognia.transaction.payment; + +import com.incognia.common.PersonID; +import java.util.Collections; +import java.util.List; +import lombok.Builder; +import lombok.Value; + +@Value +@Builder +public class BankAccountInfo { + String accountType; + String accountPurpose; + String holderType; + PersonID holderTaxId; + String country; + String ispbCode; + String branchCode; + String accountNumber; + String accountCheckDigit; + @Builder.Default List pixKeys = Collections.emptyList(); +} diff --git a/src/main/java/com/incognia/transaction/payment/PixKey.java b/src/main/java/com/incognia/transaction/payment/PixKey.java new file mode 100644 index 00000000..fe7d3946 --- /dev/null +++ b/src/main/java/com/incognia/transaction/payment/PixKey.java @@ -0,0 +1,11 @@ +package com.incognia.transaction.payment; + +import lombok.Builder; +import lombok.Value; + +@Value +@Builder +public class PixKey { + String type; + String value; +} diff --git a/src/main/java/com/incognia/transaction/payment/RegisterPaymentRequest.java b/src/main/java/com/incognia/transaction/payment/RegisterPaymentRequest.java index 0e9a3168..36b83f3e 100644 --- a/src/main/java/com/incognia/transaction/payment/RegisterPaymentRequest.java +++ b/src/main/java/com/incognia/transaction/payment/RegisterPaymentRequest.java @@ -32,6 +32,8 @@ public class RegisterPaymentRequest { Location location; Coupon coupon; PersonID personId; + BankAccountInfo debtorAccount; + BankAccountInfo creditorAccount; @Getter(AccessLevel.NONE) Boolean evaluateTransaction; diff --git a/src/test/java/com/incognia/api/IncogniaAPITest.java b/src/test/java/com/incognia/api/IncogniaAPITest.java index 9fcf0f16..b58dc79e 100644 --- a/src/test/java/com/incognia/api/IncogniaAPITest.java +++ b/src/test/java/com/incognia/api/IncogniaAPITest.java @@ -35,11 +35,13 @@ import com.incognia.transaction.TransactionAssessment; import com.incognia.transaction.login.RegisterLoginRequest; import com.incognia.transaction.login.RegisterWebLoginRequest; +import com.incognia.transaction.payment.BankAccountInfo; import com.incognia.transaction.payment.CardInfo; import com.incognia.transaction.payment.Coupon; import com.incognia.transaction.payment.PaymentMethod; import com.incognia.transaction.payment.PaymentType; import com.incognia.transaction.payment.PaymentValue; +import com.incognia.transaction.payment.PixKey; import com.incognia.transaction.payment.RegisterPaymentRequest; import java.io.IOException; import java.lang.reflect.Field; @@ -664,6 +666,24 @@ void testRegisterPayment_whenDataIsValid(Boolean eval) { Collections.singletonList( new TransactionAddress( "shipping", null, address.getStructuredAddress(), address.getCoordinates())); + + List pixKeys = new ArrayList<>(); + pixKeys.add(PixKey.builder().type("cpf").value("12345678901").build()); + + BankAccountInfo bankAccount = + BankAccountInfo.builder() + .accountType("checking") + .accountPurpose("general") + .holderType("individual") + .holderTaxId(PersonID.builder().type("cpf").value("12345678901").build()) + .country("BR") + .ispbCode("12345678") + .branchCode("0000") + .accountNumber("123456") + .accountCheckDigit("0") + .pixKeys(pixKeys) + .build(); + RegisterPaymentRequest paymentRequest = RegisterPaymentRequest.builder() .requestToken(requestToken) @@ -681,6 +701,8 @@ void testRegisterPayment_whenDataIsValid(Boolean eval) { .customProperties(customProperties) .location(location) .personId(personId) + .debtorAccount(bankAccount) + .creditorAccount(bankAccount) .build(); dispatcher.setExpectedTransactionRequestBody( PostTransactionRequestBody.builder() @@ -699,6 +721,8 @@ void testRegisterPayment_whenDataIsValid(Boolean eval) { .customProperties(customProperties) .location(location) .personId(personId) + .debtorAccount(bankAccount) + .creditorAccount(bankAccount) .build()); mockServer.setDispatcher(dispatcher); TransactionAssessment transactionAssessment = client.registerPayment(paymentRequest); From b28cc2c68723b1ad6d1f512a6806b8490c2dcd8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pierre=20Ori=C3=A1?= Date: Wed, 17 Sep 2025 15:58:38 -0300 Subject: [PATCH 2/2] chore: bump version in README --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 89c52502..c26df352 100644 --- a/README.md +++ b/README.md @@ -23,14 +23,14 @@ And then add the artifact `incognia-api-client` **or** `incognia-api-client-shad com.incognia incognia-api-client - 3.10.0 + 3.11.0 ``` ```xml com.incognia incognia-api-client-shaded - 3.10.0 + 3.11.0 ``` @@ -47,13 +47,13 @@ repositories { And then add the dependency ```gradle dependencies { - implementation 'com.incognia:incognia-api-client:3.8.0' + implementation 'com.incognia:incognia-api-client:3.11.0' } ``` OR ```gradle dependencies { - implementation 'com.incognia:incognia-api-client-shaded:3.8.0' + implementation 'com.incognia:incognia-api-client-shaded:3.11.0' } ```