diff --git a/pom.xml b/pom.xml
index 53fdf588..8fb5e242 100644
--- a/pom.xml
+++ b/pom.xml
@@ -48,7 +48,7 @@
dev.vality
magista-proto
- 1.55-bbdee33
+ 1.60-6cafe01
dev.vality
@@ -67,6 +67,7 @@
dev.vality
damsel
+ 1.685-5c25c2e
diff --git a/src/main/java/dev/vality/anapi/v2/converter/magista/request/ParamsToPaymentSearchQueryConverter.java b/src/main/java/dev/vality/anapi/v2/converter/magista/request/ParamsToPaymentSearchQueryConverter.java
index f934c25a..e1f22718 100644
--- a/src/main/java/dev/vality/anapi/v2/converter/magista/request/ParamsToPaymentSearchQueryConverter.java
+++ b/src/main/java/dev/vality/anapi/v2/converter/magista/request/ParamsToPaymentSearchQueryConverter.java
@@ -45,6 +45,9 @@ public PaymentSearchQuery convert(String partyID,
Long paymentAmountTo,
List excludedShops,
String continuationToken) {
+ if (customerID != null) {
+ throw new BadRequestException("Customer ID payment search is not supported by current magista protocol");
+ }
List invoiceIds = ConverterUtil.merge(invoiceID, invoiceIDs);
PaymentSearchQuery query = new PaymentSearchQuery()
.setCommonSearchQueryParams(
@@ -62,7 +65,6 @@ public PaymentSearchQuery convert(String partyID,
bankCardTokenProvider != null ? new BankCardTokenServiceRef(bankCardTokenProvider) : null)
.setPaymentEmail(payerEmail)
.setPaymentApprovalCode(approvalCode)
- .setPaymentCustomerId(customerID)
.setPaymentFingerprint(payerFingerprint)
.setPaymentFirst6(first6)
.setPaymentLast4(last4)
diff --git a/src/main/java/dev/vality/anapi/v2/converter/magista/response/StatPaymentToPaymentSearchResultConverter.java b/src/main/java/dev/vality/anapi/v2/converter/magista/response/StatPaymentToPaymentSearchResultConverter.java
index 4299902e..1bffcc1b 100644
--- a/src/main/java/dev/vality/anapi/v2/converter/magista/response/StatPaymentToPaymentSearchResultConverter.java
+++ b/src/main/java/dev/vality/anapi/v2/converter/magista/response/StatPaymentToPaymentSearchResultConverter.java
@@ -1,12 +1,12 @@
package dev.vality.anapi.v2.converter.magista.response;
+import dev.vality.anapi.v2.model.*;
import dev.vality.anapi.v2.model.ClientInfo;
import dev.vality.anapi.v2.model.ContactInfo;
import dev.vality.anapi.v2.model.Payer;
import dev.vality.anapi.v2.model.PaymentResourcePayer;
import dev.vality.anapi.v2.model.RecurrentPayer;
import dev.vality.anapi.v2.model.TransactionInfo;
-import dev.vality.anapi.v2.model.*;
import dev.vality.anapi.v2.util.MaskUtil;
import dev.vality.damsel.domain.*;
import dev.vality.geck.common.util.TypeUtil;
@@ -66,15 +66,6 @@ protected Payer mapPayer(dev.vality.magista.Payer payer) {
try {
var field = dev.vality.magista.Payer._Fields.findByName(payer.getSetField().getFieldName());
switch (field) {
- case CUSTOMER -> {
- var customer = payer.getCustomer();
- var paymentTool = customer.getPaymentTool();
- return new CustomerPayer()
- .customerID(customer.getCustomerId())
- .paymentToolDetails(mapPaymentToolDetails(paymentTool))
- .paymentToolToken(getPaymentToolToken(paymentTool))
- .payerType("CustomerPayer");
- }
case PAYMENT_RESOURCE -> {
var resource = payer.getPaymentResource();
var clientInfo = resource.getResource().getClientInfo();
diff --git a/src/test/java/dev/vality/anapi/v2/converter/magista/request/ParamsToPaymentSearchQueryConverterTest.java b/src/test/java/dev/vality/anapi/v2/converter/magista/request/ParamsToPaymentSearchQueryConverterTest.java
index e261b98a..be1f0955 100644
--- a/src/test/java/dev/vality/anapi/v2/converter/magista/request/ParamsToPaymentSearchQueryConverterTest.java
+++ b/src/test/java/dev/vality/anapi/v2/converter/magista/request/ParamsToPaymentSearchQueryConverterTest.java
@@ -34,7 +34,7 @@ void convert() {
"mail@mail.com",
"127.0.0.1",
"fingerprint",
- "1",
+ null,
"123456",
"7890",
"012345678",
@@ -48,6 +48,37 @@ void convert() {
assertNotNull(query);
}
+ @Test
+ void convertWithCustomerId() {
+ assertThrows(BadRequestException.class, () -> converter.convert("1",
+ OffsetDateTime.MIN,
+ OffsetDateTime.MAX,
+ 10,
+ List.of("1", "2", "3"),
+ List.of("1", "2", "3"),
+ "cancelled",
+ "hold",
+ "paymentTerminal",
+ "euroset",
+ "1",
+ "1",
+ "1",
+ "mail@mail.com",
+ "127.0.0.1",
+ "fingerprint",
+ "1",
+ "123456",
+ "7890",
+ "012345678",
+ "123456",
+ "applepay",
+ "mastercard",
+ 0L,
+ 1000L,
+ List.of("1", "2", "3"),
+ "test"));
+ }
+
@Test
void mapPaymentTool() {
assertEquals(PaymentToolType.bank_card, converter.mapPaymentTool("bankCard"));
@@ -70,4 +101,4 @@ void mapStatus() {
assertThrows(BadRequestException.class, () -> converter.mapStatus("unexpected"));
}
-}
\ No newline at end of file
+}
diff --git a/src/test/java/dev/vality/anapi/v2/converter/magista/response/StatPaymentToPaymentSearchResultConverterTest.java b/src/test/java/dev/vality/anapi/v2/converter/magista/response/StatPaymentToPaymentSearchResultConverterTest.java
index 4677edce..a02aa8b7 100644
--- a/src/test/java/dev/vality/anapi/v2/converter/magista/response/StatPaymentToPaymentSearchResultConverterTest.java
+++ b/src/test/java/dev/vality/anapi/v2/converter/magista/response/StatPaymentToPaymentSearchResultConverterTest.java
@@ -4,18 +4,17 @@
import dev.vality.anapi.v2.testutil.MagistaUtil;
import dev.vality.anapi.v2.testutil.RandomUtil;
import dev.vality.anapi.v2.util.MaskUtil;
+import dev.vality.damsel.domain.*;
import dev.vality.damsel.domain.ClientInfo;
import dev.vality.damsel.domain.ContactInfo;
import dev.vality.damsel.domain.InvoicePaymentStatus;
import dev.vality.damsel.domain.PaymentResourcePayer;
import dev.vality.damsel.domain.RecurrentPayer;
-import dev.vality.damsel.domain.*;
import dev.vality.geck.common.util.TypeUtil;
-import dev.vality.magista.CustomerPayer;
+import dev.vality.magista.*;
import dev.vality.magista.InvoicePaymentFlow;
import dev.vality.magista.InvoicePaymentFlowInstant;
import dev.vality.magista.Payer;
-import dev.vality.magista.*;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
@@ -60,9 +59,6 @@ void convert() {
@Test
void mapPayer() {
- Payer payer = new Payer();
- CustomerPayer customerPayer = new CustomerPayer();
- payer.setCustomer(customerPayer);
PaymentTool tool = new PaymentTool();
tool.setBankCard(new BankCard().setBin("1234")
.setLastDigits("5678")
@@ -70,22 +66,8 @@ void mapPayer() {
.setToken("1111")
.setPaymentSystem(new PaymentSystemRef("maestro"))
.setPaymentToken(new BankCardTokenServiceRef("applepay")));
- customerPayer.setPaymentTool(tool)
- .setCustomerId("1");
- var openapiCustomerPayer =
- (dev.vality.anapi.v2.model.CustomerPayer) converter.mapPayer(payer);
- var paymentToolDetails = (PaymentToolDetailsBankCard) openapiCustomerPayer.getPaymentToolDetails();
- assertAll(
- () -> assertEquals("1", openapiCustomerPayer.getCustomerID()),
- () -> assertEquals("1111", openapiCustomerPayer.getPaymentToolToken()),
- () -> assertEquals("1234", paymentToolDetails.getBin()),
- () -> assertEquals("5678", paymentToolDetails.getLastDigits()),
- () -> assertEquals("maestro", paymentToolDetails.getPaymentSystem()),
- () -> assertEquals("applepay", paymentToolDetails.getTokenProvider())
- );
-
- payer = new Payer();
+ Payer payer = new Payer();
var contactInfo = new ContactInfo()
.setEmail("mail@mail.com")
.setPhoneNumber("88005553535");
@@ -231,4 +213,4 @@ void mapPaymentToolDetails() {
assertEquals(expectedLegacyCryptoDetails,
actualLegacyCryptoDetails.getCryptoCurrency());
}
-}
\ No newline at end of file
+}
diff --git a/src/test/java/dev/vality/anapi/v2/testutil/MagistaUtil.java b/src/test/java/dev/vality/anapi/v2/testutil/MagistaUtil.java
index a5eb8029..49f0b3a8 100644
--- a/src/test/java/dev/vality/anapi/v2/testutil/MagistaUtil.java
+++ b/src/test/java/dev/vality/anapi/v2/testutil/MagistaUtil.java
@@ -5,15 +5,15 @@
import dev.vality.bouncer.decisions.Resolution;
import dev.vality.bouncer.decisions.ResolutionAllowed;
import dev.vality.damsel.base.Content;
+import dev.vality.damsel.domain.*;
import dev.vality.damsel.domain.InvoicePaymentRefundStatus;
import dev.vality.damsel.domain.InvoicePaymentStatus;
import dev.vality.damsel.domain.InvoiceStatus;
-import dev.vality.damsel.domain.*;
+import dev.vality.magista.*;
import dev.vality.magista.InvoicePaymentFlow;
import dev.vality.magista.InvoicePaymentFlowHold;
import dev.vality.magista.InvoicePaymentFlowInstant;
import dev.vality.magista.Payer;
-import dev.vality.magista.*;
import lombok.SneakyThrows;
import lombok.experimental.UtilityClass;
import org.apache.thrift.TSerializer;
@@ -34,9 +34,13 @@ public static StatChargebackResponse createSearchChargebackRequiredResponse() {
}
public static StatPaymentResponse createSearchPaymentAllResponse() {
- var payer = DamselUtil.fillRequiredTBaseObject(new CustomerPayer(), CustomerPayer.class);
- payer.setPaymentTool(createBankCardPaymentTool())
- .setCustomerId(RandomUtil.randomString(3));
+ var payer = DamselUtil.fillRequiredTBaseObject(
+ new PaymentResourcePayer(),
+ PaymentResourcePayer.class);
+ payer.setResource(new DisposablePaymentResource()
+ .setPaymentTool(createBankCardPaymentTool())
+ .setPaymentSessionId(RandomUtil.randomString(3)))
+ .setContactInfo(DamselUtil.fillRequiredTBaseObject(new ContactInfo(), ContactInfo.class));
var payment = DamselUtil.fillRequiredTBaseObject(new StatPayment(), StatPayment.class);
var status = new InvoicePaymentStatus();
status.setPending(new InvoicePaymentPending());
@@ -52,7 +56,7 @@ public static StatPaymentResponse createSearchPaymentAllResponse() {
.setCart(cart.setLines(List.of(line)))
.setFlow(InvoicePaymentFlow
.instant(instant))
- .setPayer(Payer.customer(payer))));
+ .setPayer(Payer.payment_resource(payer))));
}
public static StatChargebackResponse createSearchChargebackAllResponse() {