Skip to content

Commit 5108a05

Browse files
committed
Refactors Disbursement and Remittance
1 parent 77ba9a4 commit 5108a05

File tree

13 files changed

+150
-437
lines changed

13 files changed

+150
-437
lines changed

src/main/java/ci/bamba/regis/Collections.java

Lines changed: 5 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
package ci.bamba.regis;
22

3-
import ci.bamba.regis.exceptions.RequestException;
43
import ci.bamba.regis.models.AccountBalance;
54
import ci.bamba.regis.models.AccountStatus;
6-
import ci.bamba.regis.models.CollectionsRequestToPay;
7-
import ci.bamba.regis.models.CollectionsRequestToPayBodyRequest;
5+
import ci.bamba.regis.models.RequestToPay;
86
import ci.bamba.regis.models.Token;
97
import io.reactivex.Observable;
108

@@ -28,32 +26,15 @@ public Observable<String> requestToPay(float amount, String currency, String ext
2826

2927
public Observable<String> requestToPay(String token, float amount, String currency, String externalId,
3028
String payerPartyId, String payerMessage, String payeeNote) {
31-
CollectionsRequestToPayBodyRequest body = new CollectionsRequestToPayBodyRequest(String.format("%s", amount),
32-
currency, externalId, payerPartyId, payerMessage, payeeNote);
33-
String referenceId = getUUID();
34-
return RestClient.getService(getBaseUrl()).collectionsCreateRequestToPay(getAuthHeader(token),
35-
getSubscriptionKey(), referenceId, getEnvironment().getEnv(), body).map(response -> {
36-
if (response.code() == 202) {
37-
return referenceId;
38-
} else {
39-
throw new RequestException(response.code(), response.message());
40-
}
41-
});
29+
return super.requestToPay(TYPE, token, amount, currency, externalId, payerPartyId, payerMessage, payeeNote);
4230
}
4331

44-
public Observable<CollectionsRequestToPay> getRequestToPay(String referenceId) {
32+
public Observable<RequestToPay> getRequestToPay(String referenceId) {
4533
return createToken().flatMap(token -> getRequestToPay(token.getAccessToken(), referenceId));
4634
}
4735

48-
public Observable<CollectionsRequestToPay> getRequestToPay(String token, String referenceId) {
49-
return RestClient.getService(getBaseUrl()).collectionsGetRequestToPay(getAuthHeader(token),
50-
getSubscriptionKey(), getEnvironment().getEnv(), referenceId).map(response -> {
51-
if (response.code() == 200) {
52-
return response.body();
53-
} else {
54-
throw new RequestException(response.code(), response.message());
55-
}
56-
});
36+
public Observable<RequestToPay> getRequestToPay(String token, String referenceId) {
37+
return super.getRequestToPay(TYPE, token, referenceId);
5738
}
5839

5940
public Observable<AccountBalance> getAccountBalance() {

src/main/java/ci/bamba/regis/Disbursements.java

Lines changed: 12 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
package ci.bamba.regis;
22

3-
import ci.bamba.regis.exceptions.RequestException;
43
import ci.bamba.regis.models.AccountBalance;
54
import ci.bamba.regis.models.AccountStatus;
6-
import ci.bamba.regis.models.DisbursementsTransfer;
7-
import ci.bamba.regis.models.DisbursementsTransferBodyRequest;
85
import ci.bamba.regis.models.Token;
6+
import ci.bamba.regis.models.Transfer;
97
import io.reactivex.Observable;
108

119
public class Disbursements extends Product {
@@ -20,48 +18,31 @@ public Observable<Token> createToken() {
2018
return super.createToken(TYPE);
2119
}
2220

23-
public Observable<String> transfer(float amount, String currency, String externalId, String payeePartyId, String payerMessage, String payeeNote) {
24-
return createToken().flatMap(token -> transfer(token.getAccessToken(), amount, currency, externalId, payeePartyId, payerMessage, payeeNote));
21+
public Observable<String> transfer(float amount, String currency, String externalId, String payeePartyId,
22+
String payerMessage, String payeeNote) {
23+
return createToken().flatMap(token -> transfer(token.getAccessToken(), amount, currency, externalId,
24+
payeePartyId, payerMessage, payeeNote));
2525
}
2626

27-
public Observable<String> transfer(String token, float amount, String currency, String externalId, String payeePartyId, String payerMessage, String payeeNote) {
28-
DisbursementsTransferBodyRequest body = new DisbursementsTransferBodyRequest(String.format("%s", amount), currency, externalId, payeePartyId, payerMessage, payeeNote);
29-
String referenceId = getUUID();
30-
return RestClient
31-
.getService(getBaseUrl())
32-
.disbursementsCreateTransfer(getAuthHeader(token), getSubscriptionKey(), referenceId, getEnvironment().getEnv(), body)
33-
.map(response -> {
34-
if (response.code() == 202) {
35-
return referenceId;
36-
} else {
37-
throw new RequestException(response.code(), response.message());
38-
}
39-
});
27+
public Observable<String> transfer(String token, float amount, String currency, String externalId,
28+
String payeePartyId, String payerMessage, String payeeNote) {
29+
return super.transfer(TYPE, token, amount, currency, externalId, payeePartyId, payerMessage, payeeNote);
4030
}
4131

42-
public Observable<DisbursementsTransfer> getTransfer(String referenceId) {
32+
public Observable<Transfer> getTransfer(String referenceId) {
4333
return createToken().flatMap(token -> getTransfer(token.getAccessToken(), referenceId));
4434
}
4535

46-
public Observable<DisbursementsTransfer> getTransfer(String token, String referenceId) {
47-
return RestClient
48-
.getService(getBaseUrl())
49-
.disbursementsGetTransfer(getAuthHeader(token), getSubscriptionKey(), getEnvironment().getEnv(), referenceId)
50-
.map(response -> {
51-
if (response.code() == 200) {
52-
return response.body();
53-
} else {
54-
throw new RequestException(response.code(), response.message());
55-
}
56-
});
36+
public Observable<Transfer> getTransfer(String token, String referenceId) {
37+
return super.getTransfer(TYPE, token, referenceId);
5738
}
5839

5940
public Observable<AccountBalance> getAccountBalance() {
6041
return createToken().flatMap(token -> getAccountBalance(token.getAccessToken()));
6142
}
6243

6344
public Observable<AccountBalance> getAccountBalance(String token) {
64-
return super.getAccountBalance(TYPE, token);
45+
return super.getAccountBalance(TYPE, token);
6546
}
6647

6748
public Observable<AccountStatus> getAccountStatus(String msisdn) {

src/main/java/ci/bamba/regis/MoMo.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
public class MoMo {
44

55
private static final String BASE_URL_SANDBOX = "https://ericssonbasicapi2.azure-api.net/";
6-
private static final String BASE_URL_PRODUCTION = "https://ericssonbasicapi1.azure-api.net";
6+
private static final String BASE_URL_PRODUCTION = "https://ericssonbasicapi1.azure-api.net/";
77

88
private Environment environment;
99

src/main/java/ci/bamba/regis/Product.java

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,11 @@
77
import ci.bamba.regis.models.AccountBalance;
88
import ci.bamba.regis.models.AccountStatus;
99
import ci.bamba.regis.models.ApiCredentials;
10+
import ci.bamba.regis.models.RequestToPay;
11+
import ci.bamba.regis.models.RequestToPayBodyRequest;
1012
import ci.bamba.regis.models.Token;
13+
import ci.bamba.regis.models.Transfer;
14+
import ci.bamba.regis.models.TransferBodyRequest;
1115
import io.reactivex.Observable;
1216

1317
public class Product {
@@ -65,6 +69,59 @@ protected String getAuthHeader(String token) {
6569
return String.format("Bearer %s", token);
6670
}
6771

72+
public Observable<String> transfer(String type, String token, float amount, String currency,
73+
String externalId, String payeePartyId, String payerMessage, String payeeNote) {
74+
TransferBodyRequest body = new TransferBodyRequest(String.format("%s", amount), currency, externalId,
75+
payeePartyId, payerMessage, payeeNote);
76+
String referenceId = getUUID();
77+
return RestClient.getService(getBaseUrl()).createTransfer(type, getAuthHeader(token), getSubscriptionKey(),
78+
referenceId, getEnvironment().getEnv(), body).map(response -> {
79+
if (response.code() == 202) {
80+
return referenceId;
81+
} else {
82+
throw new RequestException(response.code(), response.message());
83+
}
84+
});
85+
}
86+
87+
public Observable<Transfer> getTransfer(String type, String token, String referenceId) {
88+
return RestClient.getService(getBaseUrl())
89+
.getTransfer(type, getAuthHeader(token), getSubscriptionKey(), getEnvironment().getEnv(), referenceId)
90+
.map(response -> {
91+
if (response.code() == 200) {
92+
return response.body();
93+
} else {
94+
throw new RequestException(response.code(), response.message());
95+
}
96+
});
97+
}
98+
99+
public Observable<String> requestToPay(String type, String token, float amount, String currency, String externalId,
100+
String payerPartyId, String payerMessage, String payeeNote) {
101+
RequestToPayBodyRequest body = new RequestToPayBodyRequest(String.format("%s", amount), currency, externalId,
102+
payerPartyId, payerMessage, payeeNote);
103+
String referenceId = getUUID();
104+
return RestClient.getService(getBaseUrl()).createRequestToPay(type, getAuthHeader(token), getSubscriptionKey(),
105+
referenceId, getEnvironment().getEnv(), body).map(response -> {
106+
if (response.code() == 202) {
107+
return referenceId;
108+
} else {
109+
throw new RequestException(response.code(), response.message());
110+
}
111+
});
112+
}
113+
114+
public Observable<RequestToPay> getRequestToPay(String type, String token, String referenceId) {
115+
return RestClient.getService(getBaseUrl()).getRequestToPay(type, getAuthHeader(token), getSubscriptionKey(),
116+
getEnvironment().getEnv(), referenceId).map(response -> {
117+
if (response.code() == 200) {
118+
return response.body();
119+
} else {
120+
throw new RequestException(response.code(), response.message());
121+
}
122+
});
123+
}
124+
68125
protected Observable<AccountBalance> getAccountBalance(String type, String token) {
69126
return RestClient.getService(getBaseUrl())
70127
.getAccountBalance(type, getAuthHeader(token), getSubscriptionKey(), getEnvironment().getEnv())

src/main/java/ci/bamba/regis/Remittances.java

Lines changed: 5 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
package ci.bamba.regis;
22

3-
import ci.bamba.regis.exceptions.RequestException;
43
import ci.bamba.regis.models.AccountBalance;
54
import ci.bamba.regis.models.AccountStatus;
6-
import ci.bamba.regis.models.RemittancesTransfer;
7-
import ci.bamba.regis.models.RemittancesTransferBodyRequest;
85
import ci.bamba.regis.models.Token;
6+
import ci.bamba.regis.models.Transfer;
97
import io.reactivex.Observable;
108

119
public class Remittances extends Product {
@@ -28,32 +26,15 @@ public Observable<String> transfer(float amount, String currency, String externa
2826

2927
public Observable<String> transfer(String token, float amount, String currency, String externalId,
3028
String payeePartyId, String payerMessage, String payeeNote) {
31-
RemittancesTransferBodyRequest body = new RemittancesTransferBodyRequest(String.format("%s", amount), currency,
32-
externalId, payeePartyId, payerMessage, payeeNote);
33-
String referenceId = getUUID();
34-
return RestClient.getService(getBaseUrl()).remittancesCreateTransfer(getAuthHeader(token), getSubscriptionKey(),
35-
referenceId, getEnvironment().getEnv(), body).map(response -> {
36-
if (response.code() == 202) {
37-
return referenceId;
38-
} else {
39-
throw new RequestException(response.code(), response.message());
40-
}
41-
});
29+
return super.transfer(TYPE, token, amount, currency, externalId, payeePartyId, payerMessage, payeeNote);
4230
}
4331

44-
public Observable<RemittancesTransfer> getTransfer(String referenceId) {
32+
public Observable<Transfer> getTransfer(String referenceId) {
4533
return createToken().flatMap(token -> getTransfer(token.getAccessToken(), referenceId));
4634
}
4735

48-
public Observable<RemittancesTransfer> getTransfer(String token, String referenceId) {
49-
return RestClient.getService(getBaseUrl()).remittancesGetTransfer(getAuthHeader(token), getSubscriptionKey(),
50-
getEnvironment().getEnv(), referenceId).map(response -> {
51-
if (response.code() == 200) {
52-
return response.body();
53-
} else {
54-
throw new RequestException(response.code(), response.message());
55-
}
56-
});
36+
public Observable<Transfer> getTransfer(String token, String referenceId) {
37+
return super.getTransfer(TYPE, token, referenceId);
5738
}
5839

5940
public Observable<AccountBalance> getAccountBalance() {

src/main/java/ci/bamba/regis/RestClient.java

Lines changed: 21 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,21 @@
11
package ci.bamba.regis;
22

3-
import com.google.gson.Gson;
4-
import com.google.gson.GsonBuilder;
5-
63
import java.util.HashMap;
74
import java.util.concurrent.TimeUnit;
85

6+
import com.google.gson.Gson;
7+
import com.google.gson.GsonBuilder;
8+
99
import ci.bamba.regis.models.AccountBalance;
1010
import ci.bamba.regis.models.AccountStatus;
1111
import ci.bamba.regis.models.ApiKey;
1212
import ci.bamba.regis.models.ApiUser;
13-
import ci.bamba.regis.models.CollectionsRequestToPay;
14-
import ci.bamba.regis.models.DisbursementsTransfer;
15-
import ci.bamba.regis.models.DisbursementsTransferBodyRequest;
16-
import ci.bamba.regis.models.RemittancesTransfer;
17-
import ci.bamba.regis.models.RemittancesTransferBodyRequest;
13+
import ci.bamba.regis.models.RequestToPay;
14+
import ci.bamba.regis.models.RequestToPayBodyRequest;
1815
import ci.bamba.regis.models.Token;
16+
import ci.bamba.regis.models.Transfer;
17+
import ci.bamba.regis.models.TransferBodyRequest;
1918
import io.reactivex.Observable;
20-
import ci.bamba.regis.models.CollectionsRequestToPayBodyRequest;
2119
import okhttp3.OkHttpClient;
2220
import okhttp3.Request;
2321
import okhttp3.logging.HttpLoggingInterceptor;
@@ -96,51 +94,38 @@ Observable<Response<Token>> createToken(
9694
@Path("type") String type
9795
);
9896

99-
@POST("collection/v1_0/requesttopay")
100-
Observable<Response<Void>> collectionsCreateRequestToPay(
101-
@Header("Authorization") String authorization,
102-
@Header("Ocp-Apim-Subscription-Key") String subscriptionKey,
103-
@Header("X-Reference-Id") String referenceId,
104-
@Header("X-Target-Environment") String targetEnvironment,
105-
@Body CollectionsRequestToPayBodyRequest body
106-
);
107-
108-
@POST("disbursement/v1_0/transfer")
109-
Observable<Response<Void>> disbursementsCreateTransfer(
97+
@POST("{type}/v1_0/requesttopay")
98+
Observable<Response<Void>> createRequestToPay(
99+
@Path("type") String type,
110100
@Header("Authorization") String authorization,
111101
@Header("Ocp-Apim-Subscription-Key") String subscriptionKey,
112102
@Header("X-Reference-Id") String referenceId,
113103
@Header("X-Target-Environment") String targetEnvironment,
114-
@Body DisbursementsTransferBodyRequest body
104+
@Body RequestToPayBodyRequest body
115105
);
116106

117-
@POST("remittance/v1_0/transfer")
118-
Observable<Response<Void>> remittancesCreateTransfer(
107+
@POST("{type}/v1_0/transfer")
108+
Observable<Response<Void>> createTransfer(
109+
@Path("type") String type,
119110
@Header("Authorization") String authorization,
120111
@Header("Ocp-Apim-Subscription-Key") String subscriptionKey,
121112
@Header("X-Reference-Id") String referenceId,
122113
@Header("X-Target-Environment") String targetEnvironment,
123-
@Body RemittancesTransferBodyRequest body
114+
@Body TransferBodyRequest body
124115
);
125116

126-
@GET("collection/v1_0/requesttopay/{referenceId}")
127-
Observable<Response<CollectionsRequestToPay>> collectionsGetRequestToPay(
128-
@Header("Authorization") String authorization,
129-
@Header("Ocp-Apim-Subscription-Key") String subscriptionKey,
130-
@Header("X-Target-Environment") String targetEnvironment,
131-
@Path("referenceId") String referenceId
132-
);
133-
134-
@GET("disbursement/v1_0/transfer/{referenceId}")
135-
Observable<Response<DisbursementsTransfer>> disbursementsGetTransfer(
117+
@GET("{type}/v1_0/requesttopay/{referenceId}")
118+
Observable<Response<RequestToPay>> getRequestToPay(
119+
@Path("type") String type,
136120
@Header("Authorization") String authorization,
137121
@Header("Ocp-Apim-Subscription-Key") String subscriptionKey,
138122
@Header("X-Target-Environment") String targetEnvironment,
139123
@Path("referenceId") String referenceId
140124
);
141125

142-
@GET("remittance/v1_0/transfer/{referenceId}")
143-
Observable<Response<RemittancesTransfer>> remittancesGetTransfer(
126+
@GET("{type}/v1_0/transfer/{referenceId}")
127+
Observable<Response<Transfer>> getTransfer(
128+
@Path("type") String type,
144129
@Header("Authorization") String authorization,
145130
@Header("Ocp-Apim-Subscription-Key") String subscriptionKey,
146131
@Header("X-Target-Environment") String targetEnvironment,

0 commit comments

Comments
 (0)