Skip to content

Commit 3d21a98

Browse files
authored
Refactor meal voucher card tokenization to use MealVoucherCardTokenizationData class (#311)
1 parent 5e5109e commit 3d21a98

4 files changed

Lines changed: 56 additions & 15 deletions

File tree

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package io.craftgate.request;
22

33
import io.craftgate.model.ApmType;
4+
import io.craftgate.request.dto.MealVoucherCardTokenizationData;
45
import lombok.Builder;
56
import lombok.Data;
67

@@ -9,6 +10,5 @@
910
public class MealVoucherCardTokenizationInitRequest {
1011

1112
private ApmType apmType;
12-
private String mealVoucherIdentifier;
13-
private String callbackUrl;
13+
private MealVoucherCardTokenizationData mealVoucherCardTokenizationData;
1414
}
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
package io.craftgate.request.dto;
2+
3+
import lombok.AllArgsConstructor;
4+
import lombok.Builder;
5+
import lombok.Getter;
6+
7+
@Getter
8+
@Builder
9+
@AllArgsConstructor
10+
public class MealVoucherCardTokenizationData {
11+
12+
private String cardNumber;
13+
14+
private String userReferenceNumber;
15+
16+
private String gsmNumber;
17+
18+
private String callbackUrl;
19+
20+
21+
public static MealVoucherCardTokenizationData buildForMultinet(String userReferenceNumber, String callbackUrl){
22+
return MealVoucherCardTokenizationData.builder()
23+
.userReferenceNumber(userReferenceNumber)
24+
.callbackUrl(callbackUrl)
25+
.build();
26+
}
27+
28+
public static MealVoucherCardTokenizationData buildForSetcard(String callbackUrl){
29+
return MealVoucherCardTokenizationData.builder()
30+
.callbackUrl(callbackUrl)
31+
.build();
32+
}
33+
34+
public static MealVoucherCardTokenizationData buildForMetropol(String userReferenceNumber, String cardNumber ){
35+
return MealVoucherCardTokenizationData.builder()
36+
.userReferenceNumber(userReferenceNumber)
37+
.cardNumber(cardNumber)
38+
.build();
39+
}
40+
41+
public static MealVoucherCardTokenizationData buildForPluxee(String callbackUrl){
42+
return MealVoucherCardTokenizationData.builder()
43+
.callbackUrl(callbackUrl)
44+
.build();
45+
}
46+
}

src/main/java/io/craftgate/response/MealVoucherCardTokenizationInitResponse.java

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
11
package io.craftgate.response;
22

3-
import io.craftgate.model.AdditionalAction;
4-
import lombok.AllArgsConstructor;
5-
import lombok.Builder;
6-
import lombok.Getter;
7-
import lombok.NoArgsConstructor;
8-
import lombok.Setter;
3+
import io.craftgate.model.ApmAdditionalAction;
4+
import lombok.*;
95

106
@Getter
117
@Setter
@@ -14,7 +10,7 @@
1410
@Builder
1511
public class MealVoucherCardTokenizationInitResponse {
1612

17-
private AdditionalAction additionalAction;
13+
private ApmAdditionalAction additionalAction;
1814
private String sessionId;
1915
private String htmlContent;
2016
private String redirectUrl;
Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
package io.craftgate.sample;
22

33
import io.craftgate.Craftgate;
4+
import io.craftgate.model.ApmAdditionalAction;
45
import io.craftgate.model.ApmType;
56
import io.craftgate.request.MealVoucherCardTokenizationInitRequest;
7+
import io.craftgate.request.dto.MealVoucherCardTokenizationData;
68
import io.craftgate.response.MealVoucherCardTokenizationInitResponse;
79
import org.junit.jupiter.api.Test;
810

9-
import java.util.UUID;
10-
11+
import static org.junit.jupiter.api.Assertions.assertEquals;
1112
import static org.junit.jupiter.api.Assertions.assertNotNull;
1213

1314
public class MealVoucherCardTokenizationSample {
@@ -18,15 +19,13 @@ public class MealVoucherCardTokenizationSample {
1819
void init_meal_voucher_card_tokenization() {
1920
MealVoucherCardTokenizationInitRequest request = MealVoucherCardTokenizationInitRequest.builder()
2021
.apmType(ApmType.SETCARD)
21-
.mealVoucherIdentifier(UUID.randomUUID().toString())
22-
.callbackUrl("https://www.your-website.com/craftgate-mealvoucher-card-tokenization-callback")
22+
.mealVoucherCardTokenizationData(MealVoucherCardTokenizationData.buildForSetcard("https://www.your-website.com/craftgate-mealvoucher-card-tokenization-callback"))
2323
.build();
2424

2525
MealVoucherCardTokenizationInitResponse response = craftgate.mealVoucherCardTokenizationAdapter().cardTokenizationInit(request);
2626

2727
assertNotNull(response.getHtmlContent());
2828
assertNotNull(response.getSessionId());
29-
assertNotNull(response.getRedirectUrl());
30-
assertNotNull(response.getAdditionalAction());
29+
assertEquals(ApmAdditionalAction.SHOW_HTML_CONTENT, response.getAdditionalAction());
3130
}
3231
}

0 commit comments

Comments
 (0)