Skip to content

Commit d2dc1ad

Browse files
authored
Merge branch 'master' into albaraka-bnpl
2 parents 5a126d7 + ae1e591 commit d2dc1ad

12 files changed

Lines changed: 194 additions & 9 deletions

src/main/java/io/craftgate/adapter/PaymentAdapter.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,16 @@ public BnplPaymentVerifyResponse verifyBnplPayment(Long paymentId) {
264264
return HttpClient.post(requestOptions.getBaseUrl() + path, createHeaders(path, requestOptions), BnplPaymentVerifyResponse.class);
265265
}
266266

267+
public BnplLimitInquiryResponse bnplLimitInquiryInit(BnplLimitInquiryRequest bnplLimitInquiryRequest) {
268+
String path = "/payment/v1/bnpl-payments/limit-inquiry/init";
269+
return HttpClient.post(requestOptions.getBaseUrl() + path, createHeaders(bnplLimitInquiryRequest, path, requestOptions), BnplLimitInquiryResponse.class);
270+
}
271+
272+
public BnplLimitInquiryResponse bnplLimitInquiry(BnplLimitInquiryRequest bnplLimitInquiryRequest) {
273+
String path = "/payment/v1/bnpl-payments/limit-inquiry";
274+
return HttpClient.post(requestOptions.getBaseUrl() + path, createHeaders(bnplLimitInquiryRequest, path, requestOptions), BnplLimitInquiryResponse.class);
275+
}
276+
267277
public InstantTransferBanksResponse retrieveActiveBanks() {
268278
String path = "/payment/v1/instant-transfer-banks";
269279
return HttpClient.get(requestOptions.getBaseUrl() + path, createHeaders(path, requestOptions),
@@ -287,6 +297,12 @@ public StoredCardListResponse retrieveProviderCards(RetrieveProviderCardRequest
287297
return HttpClient.get(requestOptions.getBaseUrl() + path, createHeaders(path, requestOptions), StoredCardListResponse.class);
288298
}
289299

300+
public CreateDepositToCardPaymentResponse depositToCard(CreateDepositToCardRequest createDepositToCardRequest) {
301+
String path = "/payment/v1/card-payments/deposit-to-card";
302+
return HttpClient.post(requestOptions.getBaseUrl() + path, createHeaders(createDepositToCardRequest, path, requestOptions),
303+
createDepositToCardRequest, CreateDepositToCardPaymentResponse.class);
304+
}
305+
290306
public boolean is3DSecureCallbackVerified(String threeDSecureCallbackKey, Map<String, String> params) {
291307
String hash = params.get("hash");
292308
String hashString = threeDSecureCallbackKey +
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package io.craftgate.request;
2+
3+
import io.craftgate.model.ApmType;
4+
import lombok.AllArgsConstructor;
5+
import lombok.Builder;
6+
import lombok.Data;
7+
import lombok.NoArgsConstructor;
8+
9+
import java.util.Map;
10+
11+
@Data
12+
@Builder
13+
@AllArgsConstructor
14+
@NoArgsConstructor
15+
public class BnplLimitInquiryRequest {
16+
17+
private ApmType apmType;
18+
private Long merchantApmId;
19+
private Map<String, Object> additionalParams;
20+
}

src/main/java/io/craftgate/request/CreateDepositPaymentRequest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import io.craftgate.model.Currency;
44
import io.craftgate.request.dto.Card;
5+
import io.craftgate.request.dto.RoutingOptions;
56
import lombok.Builder;
67
import lombok.Data;
78

@@ -19,4 +20,5 @@ public class CreateDepositPaymentRequest {
1920
private String posAlias;
2021
private String clientIp;
2122
private Card card;
23+
private RoutingOptions routingOptions;
2224
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package io.craftgate.request;
2+
3+
import io.craftgate.model.Currency;
4+
import io.craftgate.request.dto.Card;
5+
import io.craftgate.request.dto.DepositToCardPaymentIntegratorDto;
6+
import lombok.Builder;
7+
import lombok.Data;
8+
9+
import java.math.BigDecimal;
10+
11+
@Data
12+
@Builder
13+
public class CreateDepositToCardRequest {
14+
15+
private BigDecimal price;
16+
private Currency currency;
17+
private String description;
18+
private String orderId;
19+
private Card card;
20+
private DepositToCardPaymentIntegratorDto integrator;
21+
}

src/main/java/io/craftgate/request/CreatePaymentRequest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import io.craftgate.request.dto.Card;
77
import io.craftgate.request.dto.FraudCheckParameters;
88
import io.craftgate.request.dto.PaymentItem;
9+
import io.craftgate.request.dto.RoutingOptions;
910
import lombok.Builder;
1011
import lombok.Data;
1112
import lombok.experimental.SuperBuilder;
@@ -39,6 +40,7 @@ public class CreatePaymentRequest {
3940
protected Long buyerMemberId;
4041
protected String bankOrderId;
4142
protected Card card;
43+
protected RoutingOptions routingOptions;
4244
protected FraudCheckParameters fraudParams;
4345
protected List<PaymentItem> items;
4446
protected Map<String, Object> additionalParams;

src/main/java/io/craftgate/request/InitCheckoutPaymentRequest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import io.craftgate.request.dto.CustomInstallment;
88
import io.craftgate.request.dto.FraudCheckParameters;
99
import io.craftgate.request.dto.PaymentItem;
10+
import io.craftgate.request.dto.RoutingOptions;
1011
import lombok.Builder;
1112
import lombok.Data;
1213

@@ -53,6 +54,7 @@ public class InitCheckoutPaymentRequest {
5354
protected Long ttl;
5455
protected List<CustomInstallment> customInstallments;
5556
protected List<PaymentItem> items;
57+
protected RoutingOptions routingOptions;
5658
protected FraudCheckParameters fraudParams;
5759
protected Map<String, Object> additionalParams;
5860
protected Map<String, List<CustomInstallment>> cardBrandInstallments;
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package io.craftgate.request.dto;
2+
3+
import io.craftgate.model.PosIntegrator;
4+
import lombok.Builder;
5+
import lombok.Data;
6+
7+
import java.util.Map;
8+
9+
@Data
10+
@Builder
11+
public class DepositToCardPaymentIntegratorDto {
12+
13+
private PosIntegrator name;
14+
private Map<String, Object> data;
15+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package io.craftgate.request.dto;
2+
3+
import java.util.List;
4+
5+
public class RoutingOptions {
6+
7+
private OrderingRule orderingRule;
8+
private List<String> posAliases;
9+
10+
public enum OrderingRule {
11+
ON_US,
12+
LOW_COMMISSION_RATE,
13+
IN_ORDER
14+
}
15+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package io.craftgate.response;
2+
3+
import io.craftgate.model.ApmAdditionalAction;
4+
import io.craftgate.model.PaymentStatus;
5+
import lombok.Data;
6+
7+
import java.util.Map;
8+
9+
@Data
10+
public class BnplLimitInquiryResponse {
11+
12+
private PaymentStatus paymentStatus;
13+
private ApmAdditionalAction additionalAction;
14+
private Map<String, Object> additionalData;
15+
private String errorCode;
16+
private String errorMessage;
17+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package io.craftgate.response;
2+
3+
import io.craftgate.model.Currency;
4+
import io.craftgate.model.PaymentStatus;
5+
import lombok.Data;
6+
7+
import java.math.BigDecimal;
8+
import java.time.LocalDateTime;
9+
10+
@Data
11+
public class CreateDepositToCardPaymentResponse {
12+
13+
private Long id;
14+
private LocalDateTime createdDate;
15+
private BigDecimal price;
16+
private String referenceId;
17+
private PaymentStatus paymentStatus;
18+
private Currency currency;
19+
private String description;
20+
private String orderId;
21+
}

0 commit comments

Comments
 (0)