Skip to content

Commit 2be9325

Browse files
author
Krzysztof Grzelak
committed
Added support for whole DbGenerateRequest
1 parent a7eeffa commit 2be9325

File tree

4 files changed

+31
-11
lines changed

4 files changed

+31
-11
lines changed

src/main/java/pl/simpay/api/model/db/requests/DbGenerateRequest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
@Data
77
public class DbGenerateRequest {
8-
private String service_id;
8+
private String serviceId;
99
private String control;
1010
private String complete;
1111
private String failure;

src/main/java/pl/simpay/api/payments/DirectBilling.java

+7-8
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,11 @@
1313
import pl.simpay.api.model.generic.IPResponse;
1414
import pl.simpay.api.utils.Hashing;
1515
import pl.simpay.api.utils.HttpService;
16+
import pl.simpay.api.utils.Reflections;
1617

1718
import java.text.DecimalFormat;
1819
import java.util.List;
20+
import java.util.Map;
1921

2022
@Data
2123
public class DirectBilling {
@@ -62,7 +64,7 @@ public DirectBilling(String apiKey) {
6264

6365
// https://docs.simpay.pl/#generowanie-transakcji
6466
public DbGenerateResponse generateTransaction(@NonNull DbGenerateRequest request) {
65-
if (request.getService_id() == null) request.setService_id(serviceId);
67+
if (request.getServiceId() == null) request.setServiceId(serviceId);
6668

6769
String amount = "";
6870

@@ -74,15 +76,12 @@ public DbGenerateResponse generateTransaction(@NonNull DbGenerateRequest request
7476

7577
FormBody.Builder builder = new FormBody.Builder();
7678

77-
builder.add("serviceId", request.getService_id());
78-
builder.add("amount", request.getAmount());
79-
builder.add("control", request.getControl());
80-
81-
System.out.println(decimalFormat.format(Double.valueOf(amount)));
82-
8379
request.setSign(Hashing.sha256hex(this.serviceId + "" + decimalFormat.format(Double.valueOf(amount)).replace(',', '.') + "" + request.getControl() + "" + this.apiKey));
8480

85-
builder.add("sign", request.getSign());
81+
for (Map.Entry<String, String> entry : Reflections.serializeObject(request).entrySet()) {
82+
System.out.println(entry);
83+
builder.add(entry.getKey(), entry.getValue());
84+
}
8685

8786
return service.sendPost(API_URL, builder.build(), DbGenerateResponse.class);
8887
}

src/main/java/pl/simpay/api/utils/HttpService.java

-2
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,6 @@ private Gson gson() {
3434

3535
String x = response.body().string();
3636

37-
System.out.println(x);
38-
3937
return x;
4038
}
4139
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package pl.simpay.api.utils;
2+
3+
import lombok.SneakyThrows;
4+
5+
import java.lang.reflect.Field;
6+
import java.util.Arrays;
7+
import java.util.HashMap;
8+
import java.util.Map;
9+
10+
public class Reflections {
11+
@SneakyThrows public static Map<String, String> serializeObject(Object o) {
12+
HashMap<String, String> map = new HashMap<>();
13+
14+
for (Field field : o.getClass().getDeclaredFields()) {
15+
field.setAccessible(true);
16+
Object val = field.get(o);
17+
if (val == null) continue;
18+
map.put(field.getName(), String.valueOf(val));
19+
}
20+
21+
return map;
22+
}
23+
}

0 commit comments

Comments
 (0)