Skip to content

Commit 00c57d1

Browse files
committed
Refactor HTTP header creation methods and update meal voucher tokenization logic for Edenred cards
1 parent 2d3f85c commit 00c57d1

3 files changed

Lines changed: 30 additions & 39 deletions

File tree

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

Lines changed: 5 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -27,49 +27,30 @@ protected BaseAdapter(RequestOptions requestOptions) {
2727
this.requestOptions = requestOptions;
2828
}
2929

30-
protected Map<String, String> createHeaders(Object request, String path, RequestOptions requestOptions) {
31-
return createHttpHeaders(request, path, requestOptions);
30+
protected Map<String, String> createHeaders(Object request, String path) {
31+
return createHttpHeaders(request, path, null);
3232
}
3333

3434
protected Map<String, String> createHeaders(Object request, String path, RequestContext requestContext) {
3535
return createHttpHeaders(request, path, requestContext);
3636
}
3737

38-
protected Map<String, String> createHeaders(String path, RequestOptions requestOptions) {
39-
return createHttpHeaders(null, path, requestOptions);
38+
protected Map<String, String> createHeaders(String path) {
39+
return createHttpHeaders(null, path, null);
4040
}
4141

4242
protected Map<String, String> createHeaders(String path, RequestContext requestContext) {
4343
return createHttpHeaders(null, path, requestContext);
4444
}
4545

46-
private static Map<String, String> createHttpHeaders(Object request, String path, RequestOptions options) {
47-
Map<String, String> headers = new HashMap<>();
48-
49-
String randomString = UUID.randomUUID().toString();
50-
headers.put(API_KEY_HEADER_NAME, options.getApiKey());
51-
headers.put(RANDOM_HEADER_NAME, randomString);
52-
headers.put(AUTH_VERSION_HEADER_NAME, API_VERSION_HEADER_VALUE);
53-
headers.put(CLIENT_VERSION_HEADER_NAME, CLIENT_VERSION_HEADER_VALUE + ":1.0.81");
54-
headers.put(SIGNATURE_HEADER_NAME, prepareAuthorizationString(request, path, randomString, options));
55-
if (Objects.nonNull(options.getLanguage())) {
56-
headers.put(LANGUAGE_HEADER_NAME, options.getLanguage());
57-
}
58-
return headers;
59-
}
60-
61-
private static String prepareAuthorizationString(Object request, String path, String randomString, RequestOptions options) {
62-
return HashGenerator.generateHash(options.getBaseUrl(), options.getApiKey(), options.getSecretKey(), randomString, request, path);
63-
}
64-
6546
private Map<String, String> createHttpHeaders(Object request, String path, RequestContext requestContext) {
6647
Map<String, String> headers = new HashMap<>();
6748

6849
String randomString = UUID.randomUUID().toString();
6950
headers.put(API_KEY_HEADER_NAME, requestOptions.getApiKey());
7051
headers.put(RANDOM_HEADER_NAME, randomString);
7152
headers.put(AUTH_VERSION_HEADER_NAME, API_VERSION_HEADER_VALUE);
72-
headers.put(CLIENT_VERSION_HEADER_NAME, CLIENT_VERSION_HEADER_VALUE + ":1.0.79");
53+
headers.put(CLIENT_VERSION_HEADER_NAME, CLIENT_VERSION_HEADER_VALUE + ":1.0.81");
7354
headers.put(SIGNATURE_HEADER_NAME, prepareAuthorizationString(request, path, randomString));
7455
if (Objects.nonNull(requestOptions.getLanguage())) {
7556
headers.put(LANGUAGE_HEADER_NAME, requestOptions.getLanguage());

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -458,7 +458,7 @@ public StoredCardListResponse retrieveProviderCards(RetrieveProviderCardRequest
458458
public IVRCardTokenizationResponse retrieveCardFromIvr(RetrieveCardFromIvrRequest retrieveCardFromIvrRequest) {
459459
String query = RequestQueryParamsBuilder.buildQueryParam(retrieveCardFromIvrRequest);
460460
String path = "/payment/v1/ivr-cards" + query;
461-
return HttpClient.get(requestOptions.getBaseUrl() + path, createHeaders(path, requestOptions), IVRCardTokenizationResponse.class);
461+
return HttpClient.get(requestOptions.getBaseUrl() + path, createHeaders(path), IVRCardTokenizationResponse.class);
462462
}
463463

464464
public CreateDepositToCardPaymentResponse depositToCard(CreateDepositToCardRequest createDepositToCardRequest) {

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

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -10,54 +10,64 @@
1010
public class MealVoucherCardTokenizationData {
1111

1212
private String cardNumber;
13-
1413
private String userReferenceNumber;
15-
1614
private String gsmNumber;
17-
1815
private String callbackUrl;
1916

17+
public static MealVoucherCardTokenizationData buildForMultinet(String userReferenceNumber, String callbackUrl) {
18+
return MealVoucherCardTokenizationData.builder()
19+
.userReferenceNumber(userReferenceNumber)
20+
.callbackUrl(callbackUrl)
21+
.build();
22+
}
23+
24+
public static MealVoucherCardTokenizationData buildForMultinet(String callbackUrl) {
25+
return MealVoucherCardTokenizationData.builder()
26+
.callbackUrl(callbackUrl)
27+
.build();
28+
}
2029

21-
public static MealVoucherCardTokenizationData buildForMultinet(String userReferenceNumber, String callbackUrl){
22-
return MealVoucherCardTokenizationData.builder()
23-
.userReferenceNumber(userReferenceNumber)
24-
.callbackUrl(callbackUrl)
25-
.build();
30+
public static MealVoucherCardTokenizationData buildForEdenred(String userReferenceNumber, String callbackUrl) {
31+
return MealVoucherCardTokenizationData.builder()
32+
.userReferenceNumber(userReferenceNumber)
33+
.callbackUrl(callbackUrl)
34+
.build();
2635
}
27-
public static MealVoucherCardTokenizationData buildForMultinet(String callbackUrl){
36+
37+
public static MealVoucherCardTokenizationData buildForEdenred(String callbackUrl) {
2838
return MealVoucherCardTokenizationData.builder()
2939
.callbackUrl(callbackUrl)
3040
.build();
3141
}
3242

33-
public static MealVoucherCardTokenizationData buildForSetcard(String callbackUrl){
43+
public static MealVoucherCardTokenizationData buildForSetcard(String callbackUrl) {
3444
return MealVoucherCardTokenizationData.builder()
3545
.callbackUrl(callbackUrl)
3646
.build();
3747
}
3848

39-
public static MealVoucherCardTokenizationData buildForMetropol(String userReferenceNumber, String cardNumber, String gsmNumber){
49+
public static MealVoucherCardTokenizationData buildForMetropol(String userReferenceNumber, String cardNumber, String gsmNumber) {
4050
return MealVoucherCardTokenizationData.builder()
4151
.userReferenceNumber(userReferenceNumber)
4252
.cardNumber(cardNumber)
4353
.gsmNumber(gsmNumber)
4454
.build();
4555
}
4656

47-
public static MealVoucherCardTokenizationData buildForMetropol(String cardNumber, String gsmNumber){
57+
public static MealVoucherCardTokenizationData buildForMetropol(String cardNumber, String gsmNumber) {
4858
return MealVoucherCardTokenizationData.builder()
4959
.cardNumber(cardNumber)
5060
.gsmNumber(gsmNumber)
5161
.build();
5262
}
5363

54-
public static MealVoucherCardTokenizationData buildForPluxee(String callbackUrl){
64+
public static MealVoucherCardTokenizationData buildForPluxee(String callbackUrl) {
5565
return MealVoucherCardTokenizationData.builder()
5666
.callbackUrl(callbackUrl)
5767
.build();
5868
}
5969

60-
public static MealVoucherCardTokenizationData buildForTokenflex(String callbackUrl){
70+
public static MealVoucherCardTokenizationData buildForTokenflex(String callbackUrl) {
6171
return MealVoucherCardTokenizationData.builder()
6272
.callbackUrl(callbackUrl)
6373
.build();

0 commit comments

Comments
 (0)