diff --git a/src/main/java/io/craftgate/request/CreateMerchantPosRequest.java b/src/main/java/io/craftgate/request/CreateMerchantPosRequest.java index 7bdf538a..1e043b2d 100644 --- a/src/main/java/io/craftgate/request/CreateMerchantPosRequest.java +++ b/src/main/java/io/craftgate/request/CreateMerchantPosRequest.java @@ -27,6 +27,7 @@ public class CreateMerchantPosRequest { private Boolean enableForeignCard; private Boolean enableInstallment; private Boolean enablePaymentWithoutCvc; + private Boolean enableLoyalty; private Boolean newIntegration; private Integer orderNumber; private PosIntegrator posIntegrator; diff --git a/src/main/java/io/craftgate/request/UpdateMerchantPosRequest.java b/src/main/java/io/craftgate/request/UpdateMerchantPosRequest.java index 65e0ac8e..24ec0b59 100644 --- a/src/main/java/io/craftgate/request/UpdateMerchantPosRequest.java +++ b/src/main/java/io/craftgate/request/UpdateMerchantPosRequest.java @@ -26,6 +26,7 @@ public class UpdateMerchantPosRequest { private Boolean enableForeignCard; private Boolean enableInstallment; private Boolean enablePaymentWithoutCvc; + private Boolean enableLoyalty; private Boolean newIntegration; private Integer orderNumber; private List supportedCardAssociations; diff --git a/src/main/java/io/craftgate/response/MerchantPosResponse.java b/src/main/java/io/craftgate/response/MerchantPosResponse.java index 4c261d9a..8f67c2a9 100644 --- a/src/main/java/io/craftgate/response/MerchantPosResponse.java +++ b/src/main/java/io/craftgate/response/MerchantPosResponse.java @@ -29,6 +29,7 @@ public class MerchantPosResponse { private Boolean enableForeignCard; private Boolean enableInstallment; private Boolean enablePaymentWithoutCvc; + private Boolean enableLoyalty; private Boolean newIntegration; private Integer orderNumber; private AutopilotState autopilotState; diff --git a/src/test/java/io/craftgate/sample/MerchantSample.java b/src/test/java/io/craftgate/sample/MerchantSample.java index ee3aee61..df6472c4 100644 --- a/src/test/java/io/craftgate/sample/MerchantSample.java +++ b/src/test/java/io/craftgate/sample/MerchantSample.java @@ -60,6 +60,42 @@ void create_merchant_pos() { assertEquals(response.getPosIntegrator(), PosIntegrator.AKBANK); } + @Test + void create_merchant_pos_with_enable_loyalty_flag() { + CreateMerchantPosUser createMerchantPosUser = CreateMerchantPosUser.builder() + .posOperationType(PosOperationType.STANDARD) + .posUserType(PosUserType.API) + .posUsername("username") + .posPassword("password") + .build(); + + CreateMerchantPosRequest request = CreateMerchantPosRequest.builder() + .name("my test pos") + .clientId("client id") + .terminalId("terminal id") + .threedsKey("3d secure key") + .status(PosStatus.AUTOPILOT) + .currency(Currency.TRY) + .orderNumber(1) + .enableInstallment(true) + .enableForeignCard(true) + .enablePaymentWithoutCvc(true) + .enableLoyalty(true) + .posIntegrator(PosIntegrator.AKBANK_VPOS) + .enabledPaymentAuthenticationTypes(Arrays.asList(PaymentAuthenticationType.THREE_DS, PaymentAuthenticationType.NON_THREE_DS)) + .merchantPosUsers(Collections.singletonList(createMerchantPosUser)) + .build(); + + MerchantPosResponse response = craftgate.merchant().createMerchantPos(request); + assertNotNull(response.getId()); + assertNotNull(response.getHostname()); + assertNotNull(response.getAlias()); + assertNotNull(response.getPath()); + assertNotNull(response.getThreedsPath()); + assertEquals(response.getBankName(), "AKBANK T.A.Ş."); + assertEquals(response.getPosIntegrator(), PosIntegrator.AKBANK_VPOS); + } + @Test void update_merchant_pos() { Long merchantPosId = 10L;