Skip to content

Commit 3f66ca7

Browse files
committed
Updates
- Allow put and delete in client - Added more docs - Added subaccounts - Added payment plans
1 parent 082547c commit 3f66ca7

68 files changed

Lines changed: 998 additions & 133 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/main/java/com/flutterwave/bean/Authorization.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,4 +53,8 @@ public Authorization avsAuthorization(String city, String address, String state,
5353
return this;
5454
}
5555

56+
public AuthorizationModes getMode(){
57+
return AuthorizationModes.valueOf(this.mode.toUpperCase());
58+
}
59+
5660
}

src/main/java/com/flutterwave/bean/BillRequest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,13 @@ public class BillRequest extends Shared {
1919

2020

2121
public BillRequest(String country, String customer, BigDecimal amount,
22-
Optional<Recurrence> recurrence, Optional<String> ghanaAirtimeBills) {
22+
Optional<Recurrence> recurrence, Optional<GhanaAirtimeBills> ghanaAirtimeBills) {
2323

2424
this.country = country;
2525
this.customer = customer;
2626
this.setAmount(amount);
2727
recurrence.ifPresent(value -> this.recurrence = String.valueOf(value));
28-
ghanaAirtimeBills.ifPresent(s -> this.biller_name = s);
28+
ghanaAirtimeBills.ifPresent(s -> this.biller_name = s.name());
2929
}
3030

3131
}

src/main/java/com/flutterwave/bean/SubAccountRequest.java renamed to src/main/java/com/flutterwave/bean/CollectionsSubAccountRequest.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import lombok.Setter;
66

77
import java.math.BigDecimal;
8+
import java.util.List;
89
import java.util.Optional;
910

1011
/**
@@ -13,7 +14,7 @@
1314
@Getter
1415
@Setter
1516
@NoArgsConstructor
16-
public class SubAccountRequest extends Shared{
17+
public class CollectionsSubAccountRequest extends Shared{
1718

1819
private String split_type;
1920
private BigDecimal split_value;
@@ -23,10 +24,12 @@ public class SubAccountRequest extends Shared{
2324
private String business_contact_mobile;
2425
private String business_mobile;
2526
private String country;
27+
// @Override
28+
// private List<Meta> meta;
2629

27-
public SubAccountRequest(String account_bank, String account_number, String business_name,
28-
String business_email, String business_contact, String business_contact_mobile, String business_mobile,
29-
String country, Optional<Meta> meta, String split_type, BigDecimal split_value){
30+
public CollectionsSubAccountRequest(String account_bank, String account_number, String business_name,
31+
String business_email, String business_contact, String business_contact_mobile, String business_mobile,
32+
String country, Optional<List<Meta>> metaList, String split_type, BigDecimal split_value){
3033
this.setAccount_bank(account_bank);
3134
this.setAccount_number(account_number);
3235
this.business_contact = business_contact;
@@ -37,6 +40,6 @@ public SubAccountRequest(String account_bank, String account_number, String busi
3740
this.business_email = business_email;
3841
this.business_mobile = business_mobile;
3942
this.business_contact_mobile = business_contact_mobile;
40-
meta.ifPresent(this::setMeta);
43+
metaList.ifPresent(metas -> this.setMeta((Meta) metas));
4144
}
4245
}

src/main/java/com/flutterwave/bean/PaymentPlanRequest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@ public class PaymentPlanRequest extends Shared{
1818
private int duration;
1919
private String name;
2020

21-
public PaymentPlanRequest(BigDecimal amount, String name, String interval, int duration){
21+
public PaymentPlanRequest(BigDecimal amount, String name, Recurrence interval, int duration){
2222
this.setAmount(amount);
2323
this.name = name;
24-
this.interval = interval;
24+
this.interval = interval.name();
2525
this.duration = duration;
2626
}
2727
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package com.flutterwave.bean;
2+
3+
import lombok.Getter;
4+
import lombok.NoArgsConstructor;
5+
import lombok.Setter;
6+
7+
import java.math.BigDecimal;
8+
import java.util.Optional;
9+
10+
/**
11+
* @author Cleopatra Douglas
12+
*/
13+
@Getter
14+
@Setter
15+
@NoArgsConstructor
16+
public class PayoutSubAccountRequest extends Shared{
17+
18+
private String mobilenumber;
19+
private String country;
20+
21+
public PayoutSubAccountRequest(String email, String mobilenumber, String country, Optional<String> account_name){
22+
23+
this.setEmail(email);
24+
this.mobilenumber = mobilenumber;
25+
this.country = country;
26+
account_name.ifPresent(this::setAccount_name);
27+
28+
29+
}
30+
}

src/main/java/com/flutterwave/bean/Shared.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ public abstract class Shared {
3232
private String billing_state;
3333
private String billing_country;
3434
private String account_bank;
35+
private String account_name;
3536
private String account_number;
3637
private Meta meta;
3738

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package com.flutterwave.bean;
2+
3+
/**
4+
* @author Cleopatra Douglas
5+
*/
6+
public enum SubAccountTypes {
7+
COLLECTION,
8+
PAYOUT
9+
}

src/main/java/com/flutterwave/bean/UpdateSubAccountRequest.java renamed to src/main/java/com/flutterwave/bean/UpdateCollectionSubAccountRequest.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,15 @@
1313
@Getter
1414
@Setter
1515
@NoArgsConstructor
16-
public class UpdateSubAccountRequest extends Shared{
16+
public class UpdateCollectionSubAccountRequest extends Shared{
1717

18-
private int id;
1918
private BigDecimal split_value;
2019
private String business_name;
2120
private String business_email;
2221
private String split_type;
2322

24-
public UpdateSubAccountRequest(int id, BigDecimal split_value, Optional<String> business_name,
25-
Optional<String> business_email, Optional<String> split_type,Optional<String> account_number ){
26-
this.id = id;
23+
public UpdateCollectionSubAccountRequest(BigDecimal split_value, Optional<String> business_name,
24+
Optional<String> business_email, Optional<String> split_type, Optional<String> account_number ){
2725
split_type.ifPresent(s -> this.split_type = s);
2826
this.split_value = split_value;
2927
business_name.ifPresent(s -> this.business_name = s);
Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,24 @@
11
package com.flutterwave.bean;
22

3+
import lombok.Getter;
4+
import lombok.NoArgsConstructor;
5+
import lombok.Setter;
6+
37
import java.math.BigDecimal;
48

59
/**
610
* @author Cleopatra Douglas
711
*/
12+
@Getter
13+
@Setter
14+
@NoArgsConstructor
815
public class UpdatePaymentPlanRequest extends Shared{
916

1017
private String status;
18+
private String name;
1119

12-
public UpdatePaymentPlanRequest(String status, BigDecimal amount){
13-
this.setAmount(amount);
20+
public UpdatePaymentPlanRequest(String status, String name){
21+
this.name = name;
1422
this.status = status;
1523
}
1624
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package com.flutterwave.bean;
2+
3+
import lombok.Getter;
4+
import lombok.NoArgsConstructor;
5+
import lombok.Setter;
6+
7+
import java.math.BigDecimal;
8+
import java.util.Optional;
9+
10+
/**
11+
* @author Cleopatra Douglas
12+
*/
13+
@Getter
14+
@Setter
15+
@NoArgsConstructor
16+
public class UpdatePayoutSubAccountRequest extends PayoutSubAccountRequest{
17+
18+
public UpdatePayoutSubAccountRequest(Optional<String> email, Optional<String> mobilenumber, Optional<String> account_name){
19+
20+
account_name.ifPresent(this::setAccount_name);
21+
mobilenumber.ifPresent(this::setMobilenumber);
22+
email.ifPresent(this::setEmail);
23+
24+
25+
}
26+
27+
}

0 commit comments

Comments
 (0)