Skip to content

Commit d252170

Browse files
committed
add payment plan feature
1 parent bc18787 commit d252170

File tree

5 files changed

+42
-3
lines changed

5 files changed

+42
-3
lines changed

raveandroid/src/main/java/com/flutterwave/raveandroid/Payload.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ public String getCardBIN() {
1717

1818
private String cardBIN;
1919

20+
private String payment_plan;
21+
2022
public Payload(List<Meta> meta, String narration,
2123
String expirymonth, String PBFPubKey, String IP, String lastname,
2224
String firstname, String currency, String country, String amount,
@@ -155,7 +157,13 @@ public void setPasscode(String passcode) {
155157

156158
private String passcode;
157159

160+
public String getPayment_plan() {
161+
return payment_plan;
162+
}
158163

164+
public void setPayment_plan(String payment_plan) {
165+
this.payment_plan = payment_plan;
166+
}
159167

160168
public void setToken(String token) {
161169
this.token = token;

raveandroid/src/main/java/com/flutterwave/raveandroid/PayloadBuilder.java

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ public class PayloadBuilder {
1616
private String cvv;
1717
private String device_fingerprint;
1818
private String cardno;
19+
private String payment_plan;
1920

2021
private String txRef;
2122
private String meta = "";
@@ -101,6 +102,11 @@ public PayloadBuilder setCvv(String cvv) {
101102
return this;
102103
}
103104

105+
public PayloadBuilder setPaymentPlan(String payment_plan) {
106+
this.payment_plan = payment_plan;
107+
return this;
108+
}
109+
104110
public PayloadBuilder setDevice_fingerprint(String device_fingerprint) {
105111
this.device_fingerprint = device_fingerprint;
106112
return this;
@@ -119,19 +125,26 @@ public PayloadBuilder setTxRef(String txRef) {
119125
public Payload createPayload() {
120126
List<Meta> metaObj = Utils.pojofyMetaString(meta);
121127

122-
return new Payload(metaObj, narration, expirymonth,
128+
Payload payload = new Payload(metaObj, narration, expirymonth,
123129
pbfPubKey, ip, lastname,
124130
firstname, currency, country,
125131
amount, email, expiryyear,
126132
cvv, device_fingerprint,
127133
cardno, txRef);
134+
135+
if (payment_plan != null) {
136+
payload.setPayment_plan(payment_plan);
137+
}
138+
139+
return payload;
128140
}
129141

130142
public Payload createBankPayload() {
131143
List<Meta> metaObj = Utils.pojofyMetaString(meta);
132144
Payload payload = new Payload(metaObj, narration, ip, accountnumber, accountbank, lastname,
133145
firstname, currency, country, amount, email, device_fingerprint, txRef, pbfPubKey);
134146
payload.setPayment_type("account");
147+
135148
return payload;
136149
}
137150

raveandroid/src/main/java/com/flutterwave/raveandroid/RavePayInitializer.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ public class RavePayInitializer {
2121
String fName;
2222
String lName;
2323
String meta;
24+
String payment_plan;
2425
boolean withCard = true;
2526
boolean withAccount = true;
2627
int theme;
@@ -32,7 +33,7 @@ public RavePayInitializer(String email, double amount, String publicKey,
3233
String currency, String country, String fName,
3334
String lName, boolean withCard,
3435
boolean withAccount, int theme,
35-
boolean staging, boolean allowSaveCard, String meta) {
36+
boolean staging, boolean allowSaveCard, String meta, String payment_plan) {
3637
this.email = email;
3738
this.amount = amount;
3839
this.publicKey = publicKey;
@@ -49,6 +50,7 @@ public RavePayInitializer(String email, double amount, String publicKey,
4950
this.staging = staging;
5051
this.allowSaveCard = allowSaveCard;
5152
this.meta = meta;
53+
this.payment_plan = payment_plan;
5254
}
5355

5456
public RavePayInitializer() {
@@ -182,5 +184,11 @@ public void setlName(String lName) {
182184
this.lName = lName;
183185
}
184186

187+
public String getPayment_plan() {
188+
return payment_plan;
189+
}
185190

191+
public void setPayment_plan(String payment_plan) {
192+
this.payment_plan = payment_plan;
193+
}
186194
}

raveandroid/src/main/java/com/flutterwave/raveandroid/RavePayManager.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ public class RavePayManager {
2525
private String fName = "";
2626
private String lName = "";
2727
private String meta = "";
28+
private String payment_plan;
2829
private Activity activity;
2930
boolean withCard = true;
3031
boolean withAccount = true;
@@ -119,6 +120,11 @@ public RavePayManager setlName(String lName) {
119120
return this;
120121
}
121122

123+
public RavePayManager setPaymentPlan(String payment_plan) {
124+
this.payment_plan = payment_plan;
125+
return this;
126+
}
127+
122128
public void initialize() {
123129
if (activity != null) {
124130

@@ -132,6 +138,6 @@ public void initialize() {
132138
}
133139

134140
public RavePayInitializer createRavePayInitializer() {
135-
return new RavePayInitializer(email, amount, publicKey, secretKey, txRef, narration, currency, country, fName, lName, withCard, withAccount, theme, staging, allowSaveCard, meta);
141+
return new RavePayInitializer(email, amount, publicKey, secretKey, txRef, narration, currency, country, fName, lName, withCard, withAccount, theme, staging, allowSaveCard, meta, payment_plan);
136142
}
137143
}

raveandroid/src/main/java/com/flutterwave/raveandroid/card/CardFragment.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -420,6 +420,10 @@ private void validateDetails() {
420420
.setMeta(ravePayInitializer.getMeta())
421421
.setPBFPubKey(ravePayInitializer.getPublicKey()).setDevice_fingerprint(Utils.getDeviceImei(getActivity()));
422422

423+
if (ravePayInitializer.getPayment_plan() != null) {
424+
builder.setPaymentPlan(ravePayInitializer.getPayment_plan());
425+
}
426+
423427
Payload body = builder.createPayload();
424428

425429
presenter.fetchFee(body, RaveConstants.MANUAL_CARD_CHARGE);

0 commit comments

Comments
 (0)