Skip to content

Commit 5f3b770

Browse files
committed
Add support for completing meal voucher card tokenization requests
1 parent 1791333 commit 5f3b770

5 files changed

Lines changed: 51 additions & 1 deletion

File tree

build.gradle

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,16 @@ test {
2424
exclude 'io/craftgate/sample/**'
2525
}
2626

27+
task fatJar(type: Jar) {
28+
archiveClassifier = 'all'
29+
from sourceSets.main.output
30+
dependsOn configurations.runtimeClasspath
31+
from {
32+
configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
33+
}
34+
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
35+
}
36+
2737
java {
2838
withJavadocJar()
2939
withSourcesJar()

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

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package io.craftgate.adapter;
22

33
import io.craftgate.net.HttpClient;
4+
import io.craftgate.request.MealVoucherCardTokenizationCompleteRequest;
5+
import io.craftgate.request.MealVoucherCardTokenizationCompleteResponse;
46
import io.craftgate.request.MealVoucherCardTokenizationInitRequest;
57
import io.craftgate.request.common.RequestContext;
68
import io.craftgate.request.common.RequestOptions;
@@ -21,4 +23,15 @@ public MealVoucherCardTokenizationInitResponse cardTokenizationInit(MealVoucherC
2123
return HttpClient.post(requestOptions.getBaseUrl() + path, createHeaders(mealVoucherCardTokenizationInitRequest, path, requestContext),
2224
mealVoucherCardTokenizationInitRequest, MealVoucherCardTokenizationInitResponse.class);
2325
}
26+
27+
28+
public MealVoucherCardTokenizationCompleteResponse cardTokenizationComplete(MealVoucherCardTokenizationCompleteRequest request) {
29+
return cardTokenizationComplete(request, null);
30+
}
31+
32+
public MealVoucherCardTokenizationCompleteResponse cardTokenizationComplete(MealVoucherCardTokenizationCompleteRequest request, RequestContext requestContext) {
33+
String path = "/payment/v1/meal-voucher/card-tokenizations/complete";
34+
return HttpClient.post(requestOptions.getBaseUrl() + path, createHeaders(request, path, requestContext),
35+
request, MealVoucherCardTokenizationCompleteResponse.class);
36+
}
2437
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package io.craftgate.request;
2+
3+
import lombok.Builder;
4+
import lombok.Data;
5+
6+
@Data
7+
@Builder
8+
public class MealVoucherCardTokenizationCompleteRequest {
9+
10+
private String sessionId;
11+
12+
private String validationCode;
13+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package io.craftgate.request;
2+
3+
import lombok.Data;
4+
5+
import java.math.BigDecimal;
6+
7+
@Data
8+
public class MealVoucherCardTokenizationCompleteResponse {
9+
10+
private String sessionId;
11+
private String maskedCardNumber;
12+
private BigDecimal balance;
13+
}

src/main/java/io/craftgate/request/dto/MealVoucherCardTokenizationData.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,11 @@ public static MealVoucherCardTokenizationData buildForSetcard(String callbackUrl
3131
.build();
3232
}
3333

34-
public static MealVoucherCardTokenizationData buildForMetropol(String userReferenceNumber, String cardNumber ){
34+
public static MealVoucherCardTokenizationData buildForMetropol(String userReferenceNumber, String cardNumber, String gsmNumber){
3535
return MealVoucherCardTokenizationData.builder()
3636
.userReferenceNumber(userReferenceNumber)
3737
.cardNumber(cardNumber)
38+
.gsmNumber(gsmNumber)
3839
.build();
3940
}
4041

0 commit comments

Comments
 (0)