diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/FeeCheckRequestBody.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/FeeCheckRequestBody.java
index 0a3d7281..28087eb4 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/FeeCheckRequestBody.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/FeeCheckRequestBody.java
@@ -16,53 +16,43 @@ public class FeeCheckRequestBody {
private String currency;
- public String getAmount ()
- {
+ public String getAmount() {
return amount;
}
- public void setAmount (String amount)
- {
+ public void setAmount(String amount) {
this.amount = amount;
}
- public String getPBFPubKey ()
- {
+ public String getPBFPubKey() {
return PBFPubKey;
}
- public void setPBFPubKey (String PBFPubKey)
- {
+ public void setPBFPubKey(String PBFPubKey) {
this.PBFPubKey = PBFPubKey;
}
- public String getPtype ()
- {
+ public String getPtype() {
return ptype;
}
- public void setPtype (String ptype)
- {
+ public void setPtype(String ptype) {
this.ptype = ptype;
}
- public String getCard6 ()
- {
+ public String getCard6() {
return card6;
}
- public void setCard6 (String card6)
- {
+ public void setCard6(String card6) {
this.card6 = card6;
}
- public String getCurrency ()
- {
+ public String getCurrency() {
return currency;
}
- public void setCurrency (String currency)
- {
+ public void setCurrency(String currency) {
this.currency = currency;
}
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/Meta.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/Meta.java
index ef117546..4127c552 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/Meta.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/Meta.java
@@ -6,13 +6,14 @@
public class Meta {
+ String metavalue;
+ String metaname;
+
public Meta(String metaname, String metavalue) {
this.metaname = metaname;
this.metavalue = metavalue;
}
- String metavalue;
-
public String getMetavalue() {
return metavalue;
}
@@ -28,6 +29,4 @@ public String getMetaname() {
public void setMetaname(String metaname) {
this.metaname = metaname;
}
-
- String metaname;
}
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/Payload.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/Payload.java
index c867178c..28833ac7 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/Payload.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/Payload.java
@@ -10,32 +10,70 @@
* Created by hamzafetuga on 05/07/2017.
*/
-public class Payload
-{
+public class Payload {
+ public String is_mobile_money_gh;
+ public String is_mobile_money_ug;
+ public String network;
+ public String voucher;
+ public boolean is_bank_transfer;
+ String token;
+ String SECKEY;
private Boolean is_permanent;
private Integer duration;
private Integer frequency;
-
private boolean is_ussd;
private String orderRef;
private String is_barter;
private String card_hash;
-
- public String getCardBIN() {
- return cardBIN;
- }
-
private String cardBIN;
-
private boolean is_us_bank_charge;
private boolean is_saved_card_charge;
-
private boolean is_uk_bank_charge2;
-
private String remember_device_mobile_key;
-
private String device_key;
private String otp;
+ private String remember_device_email;
+ private String charge_type;
+ private String bvn;
+ private String is_remembered;
+ private String payment_plan;
+ private String is_mpesa;
+ private String is_mpesa_lipa;
+ private String billingcity;
+ private String billingaddress;
+ private String billingstate;
+ private String billingcountry;
+ private String passcode;
+ private String pin;
+ private String redirect_url = RaveConstants.RAVE_3DS_CALLBACK;
+ private String PBFSecKey;
+ @SerializedName("suggested_auth")
+ private String suggestedAuth;
+ private List meta;
+ private List subaccounts;
+ private String billingzip;
+ private boolean is_mobile_money_franco;
+ private String payment_type;
+ private String phonenumber;
+ private String narration;
+ private String is_internet_banking;
+ private String expirymonth;
+ private String PBFPubKey;
+ private String IP;
+ private String accountnumber;
+ private String accountname;
+ private String accountbank;
+ private String lastname;
+ private String firstname;
+ private String currency;
+ private String country;
+ private String amount;
+ private String email;
+ private String expiryyear;
+ private String cvv;
+ private String device_fingerprint;
+ private String cardno;
+ private String txRef;
// Constructor for saved card charge
public Payload(List meta,
@@ -66,77 +104,6 @@ public Payload(List meta,
this.meta = meta;
}
- public String getOtp() {
- return otp;
- }
-
- private String remember_device_email;
-
- private String charge_type;
-
- public String getRemember_device_mobile_key() {
- return remember_device_mobile_key;
- }
-
- private String bvn;
-
- public void setRemember_device_mobile_key(String remember_device_mobile_key) {
- this.remember_device_mobile_key = remember_device_mobile_key;
- }
-
- public void setOtp(String otp) {
- this.otp = otp;
- }
-
- public String getDevice_key() {
- return device_key;
- }
-
-
- public String getRemember_device_email() {
- return remember_device_email;
- }
-
- public void setRemember_device_email(String remember_device_email) {
- this.remember_device_email = remember_device_email;
- }
-
- public String getIs_remembered() {
- return is_remembered;
- }
-
- public void setIs_remembered(String is_remembered) {
- this.is_remembered = is_remembered;
- }
-
- private String is_remembered;
-
- private String payment_plan;
-
- public String getIs_mpesa() {
- return is_mpesa;
- }
-
- public void setIs_mpesa(String is_mpesa) {
- this.is_mpesa = is_mpesa;
- }
-
- public String getIs_mpesa_lipa() {
- return is_mpesa_lipa;
- }
-
- public void setIs_mpesa_lipa(String is_mpesa_lipa) {
- this.is_mpesa_lipa = is_mpesa_lipa;
- }
-
- private String is_mpesa;
-
- private String is_mpesa_lipa;
-
- public void setDevice_key(String device_key) {
- this.device_key = device_key;
- }
-
public Payload(List meta, List subaccounts, String narration,
String expirymonth, String PBFPubKey, String IP, String lastname,
String firstname, String currency, String country, String amount,
@@ -168,52 +135,6 @@ public Payload(List meta, List subaccounts, String narration,
}
-
- public String getBillingcity() {
- return billingcity;
- }
-
- public void setBillingcity(String billingcity) {
- this.billingcity = billingcity;
- }
-
- public String getBillingaddress() {
- return billingaddress;
- }
-
- public void setBillingaddress(String billingaddress) {
- this.billingaddress = billingaddress;
- }
-
- public String getBVN() {
- return bvn;
- }
-
- public void setBVN(String bvn){
- this.bvn = bvn;
- }
-
- public String getBillingstate() {
- return billingstate;
- }
-
- public void setBillingstate(String billingstate) {
- this.billingstate = billingstate;
- }
-
- public String getBillingcountry() {
- return billingcountry;
- }
-
- public void setBillingcountry(String billingcountry) {
- this.billingcountry = billingcountry;
- }
-
- private String billingcity;
- private String billingaddress;
- private String billingstate;
- private String billingcountry;
-
public Payload(List meta, List subaccounts, String narration, String IP, String accountnumber, String accountbank,
String lastname, String firstname, String currency, String country, String amount,
String email, String device_fingerprint, String txRef, String PBFPubKey,
@@ -315,12 +236,118 @@ public Payload(List meta, List subaccounts, String narration,
}
+ public String getCardBIN() {
+ return cardBIN;
+ }
+ public void setCardBIN(String cardBIN) {
+ this.cardBIN = cardBIN;
+ }
+
+ public String getOtp() {
+ return otp;
+ }
+
+ public void setOtp(String otp) {
+ this.otp = otp;
+ }
+
+ public String getRemember_device_mobile_key() {
+ return remember_device_mobile_key;
+ }
+
+ public void setRemember_device_mobile_key(String remember_device_mobile_key) {
+ this.remember_device_mobile_key = remember_device_mobile_key;
+ }
+
+ public String getDevice_key() {
+ return device_key;
+ }
+
+ public void setDevice_key(String device_key) {
+ this.device_key = device_key;
+ }
+
+ public String getRemember_device_email() {
+ return remember_device_email;
+ }
+
+ public void setRemember_device_email(String remember_device_email) {
+ this.remember_device_email = remember_device_email;
+ }
+
+ public String getIs_remembered() {
+ return is_remembered;
+ }
+
+ public void setIs_remembered(String is_remembered) {
+ this.is_remembered = is_remembered;
+ }
+
+ public String getIs_mpesa() {
+ return is_mpesa;
+ }
+
+ public void setIs_mpesa(String is_mpesa) {
+ this.is_mpesa = is_mpesa;
+ }
+
+ public String getIs_mpesa_lipa() {
+ return is_mpesa_lipa;
+ }
+
+ public void setIs_mpesa_lipa(String is_mpesa_lipa) {
+ this.is_mpesa_lipa = is_mpesa_lipa;
+ }
+
+ public String getBillingcity() {
+ return billingcity;
+ }
+
+ public void setBillingcity(String billingcity) {
+ this.billingcity = billingcity;
+ }
+
+ public String getBillingaddress() {
+ return billingaddress;
+ }
+
+ public void setBillingaddress(String billingaddress) {
+ this.billingaddress = billingaddress;
+ }
+
+ public String getBVN() {
+ return bvn;
+ }
+
+ public void setBVN(String bvn) {
+ this.bvn = bvn;
+ }
+
+ public String getBillingstate() {
+ return billingstate;
+ }
+
+ public void setBillingstate(String billingstate) {
+ this.billingstate = billingstate;
+ }
+
+ public String getBillingcountry() {
+ return billingcountry;
+ }
+
+ public void setBillingcountry(String billingcountry) {
+ this.billingcountry = billingcountry;
+ }
public String getToken() {
return token;
}
+ public void setToken(String token) {
+ this.token = token;
+ }
+
public String getPasscode() {
return passcode;
}
@@ -329,8 +356,6 @@ public void setPasscode(String passcode) {
this.passcode = passcode;
}
- private String passcode;
-
public String getPayment_plan() {
return payment_plan;
}
@@ -343,16 +368,10 @@ public String getCharge_type() {
return charge_type;
}
- public void setCharge_type(String charge_type){
+ public void setCharge_type(String charge_type) {
this.charge_type = charge_type;
}
- public void setToken(String token) {
- this.token = token;
- }
-
- String token;
-
public List getMeta() {
return meta;
}
@@ -373,10 +392,6 @@ public void setPin(String pin) {
this.pin = pin;
}
- private String pin;
-
- private String redirect_url = RaveConstants.RAVE_3DS_CALLBACK;
-
public String getPBFSecKey() {
return PBFSecKey;
}
@@ -389,17 +404,6 @@ public void setSECKEY(String SECKEY) {
this.SECKEY = SECKEY;
}
- String SECKEY;
-
- private String PBFSecKey;
-
- @SerializedName("suggested_auth")
- private String suggestedAuth;
-
- private List meta;
-
- private List subaccounts;
-
public String getBillingzip() {
return billingzip;
}
@@ -408,8 +412,6 @@ public void setBillingzip(String billingzip) {
this.billingzip = billingzip;
}
- private String billingzip;
-
public String getPayment_type() {
return payment_type;
}
@@ -418,10 +420,6 @@ public void setPayment_type(String payment_type) {
this.payment_type = payment_type;
}
- private boolean is_mobile_money_franco;
-
- private String payment_type;
-
public boolean getIs_mobile_money_franco() {
return is_mobile_money_franco;
}
@@ -438,26 +436,10 @@ public void setPhonenumber(String phonenumber) {
this.phonenumber = phonenumber;
}
- private String phonenumber;
-
- private String narration;
-
public void setIs_internet_banking(String is_internet_banking) {
this.is_internet_banking = is_internet_banking;
}
- private String is_internet_banking;
-
- private String expirymonth;
-
- private String PBFPubKey;
-
- private String IP;
-
- private String accountnumber;
-
- private String accountname;
-
public String getAccountnumber() {
return accountnumber;
}
@@ -474,167 +456,115 @@ public void setAccountbank(String accountbank) {
this.accountbank = accountbank;
}
- private String accountbank;
-
- private String lastname;
-
- private String firstname;
-
- private String currency;
-
- private String country;
-
- private String amount;
-
- private String email;
-
- private String expiryyear;
-
- private String cvv;
-
- private String device_fingerprint;
-
- private String cardno;
-
- private String txRef;
-
- public String getExpirymonth ()
- {
+ public String getExpirymonth() {
return expirymonth;
}
- public void setExpirymonth (String expirymonth)
- {
+ public void setExpirymonth(String expirymonth) {
this.expirymonth = expirymonth;
}
- public String getPBFPubKey ()
- {
+ public String getPBFPubKey() {
return PBFPubKey;
}
- public void setPBFPubKey (String PBFPubKey)
- {
+ public void setPBFPubKey(String PBFPubKey) {
this.PBFPubKey = PBFPubKey;
}
- public String getIP ()
- {
+ public String getIP() {
return IP;
}
- public void setIP (String IP)
- {
+ public void setIP(String IP) {
this.IP = IP;
}
- public String getLastname ()
- {
+ public String getLastname() {
return lastname;
}
- public void setLastname (String lastname)
- {
+ public void setLastname(String lastname) {
this.lastname = lastname;
}
- public String getFirstname ()
- {
+ public String getFirstname() {
return firstname;
}
- public void setFirstname (String firstname)
- {
+ public void setFirstname(String firstname) {
this.firstname = firstname;
}
- public String getCurrency ()
- {
+ public String getCurrency() {
return currency;
}
- public void setCurrency (String currency)
- {
+ public void setCurrency(String currency) {
this.currency = currency;
}
- public String getCountry ()
- {
+ public String getCountry() {
return country;
}
- public void setCountry (String country)
- {
+ public void setCountry(String country) {
this.country = country;
}
- public String getAmount ()
- {
+ public String getAmount() {
return amount;
}
- public void setAmount (String amount)
- {
+ public void setAmount(String amount) {
this.amount = amount;
}
- public String getEmail ()
- {
+ public String getEmail() {
return email;
}
- public void setEmail (String email)
- {
+ public void setEmail(String email) {
this.email = email;
}
- public String getExpiryyear ()
- {
+ public String getExpiryyear() {
return expiryyear;
}
- public void setExpiryyear (String expiryyear)
- {
+ public void setExpiryyear(String expiryyear) {
this.expiryyear = expiryyear;
}
- public String getCvv ()
- {
+ public String getCvv() {
return cvv;
}
- public void setCvv (String cvv)
- {
+ public void setCvv(String cvv) {
this.cvv = cvv;
}
- public String getDevice_fingerprint ()
- {
+ public String getDevice_fingerprint() {
return device_fingerprint;
}
- public void setDevice_fingerprint (String device_fingerprint)
- {
+ public void setDevice_fingerprint(String device_fingerprint) {
this.device_fingerprint = device_fingerprint;
}
- public String getCardno ()
- {
+ public String getCardno() {
return cardno;
}
- public void setCardno (String cardno)
- {
+ public void setCardno(String cardno) {
this.cardno = cardno;
}
- public String getTxRef ()
- {
+ public String getTxRef() {
return txRef;
}
- public void setTxRef (String txRef)
- {
+ public void setTxRef(String txRef) {
this.txRef = txRef;
}
@@ -643,27 +573,14 @@ public void setSuggestedAuth(String suggestedAuth) {
}
@Override
- public String toString()
- {
- return "ClassPojo [expirymonth = "+expirymonth+", PBFPubKey = "+PBFPubKey+", IP = "+IP+", lastname = "+lastname+", firstname = "+firstname+", currency = "+currency+", country = "+country+", amount = "+amount+", email = "+email+", expiryyear = "+expiryyear+", cvv = "+cvv+", device_fingerprint = "+device_fingerprint+", cardno = "+cardno+", txRef = "+txRef+"]";
- }
-
- public void setCardBIN(String cardBIN) {
- this.cardBIN = cardBIN;
+ public String toString() {
+ return "ClassPojo [expirymonth = " + expirymonth + ", PBFPubKey = " + PBFPubKey + ", IP = " + IP + ", lastname = " + lastname + ", firstname = " + firstname + ", currency = " + currency + ", country = " + country + ", amount = " + amount + ", email = " + email + ", expiryyear = " + expiryyear + ", cvv = " + cvv + ", device_fingerprint = " + device_fingerprint + ", cardno = " + cardno + ", txRef = " + txRef + "]";
}
- public String is_mobile_money_gh;
-
- public String is_mobile_money_ug;
-
public void setNetwork(String network) {
this.network = network;
}
- public String network;
-
- public String voucher;
-
public void setVoucher(String voucher) {
this.voucher = voucher;
}
@@ -684,8 +601,6 @@ public void setIs_us_bank_charge(boolean is_us_bank_charge) {
this.is_us_bank_charge = is_us_bank_charge;
}
- public boolean is_bank_transfer;
-
public String getCard_hash() {
return card_hash;
}
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/PayloadBuilder.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/PayloadBuilder.java
index bebd118f..3752ac15 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/PayloadBuilder.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/PayloadBuilder.java
@@ -33,44 +33,13 @@ public class PayloadBuilder {
private boolean isPermanent;
private int frequency;
private int duration;
-
- public PayloadBuilder setIs_mobile_money_gh(String is_mobile_money_gh) {
- this.is_mobile_money_gh = is_mobile_money_gh;
- return this;
- }
-
- public PayloadBuilder setIs_mobile_money_ug(String is_mobile_money_ug) {
- this.is_mobile_money_ug = is_mobile_money_ug;
- return this;
- }
-
private String is_mobile_money_rwf;
-
- public PayloadBuilder setIs_bank_transfer(boolean is_bank_transfer) {
- this.is_bank_transfer = is_bank_transfer;
- return this;
- }
-
-
private String is_mobile_money_gh;
private String is_mobile_money_ug;
-
- public PayloadBuilder setIs_mobile_money_rwf(String is_mobile_money_rwf) {
- this.is_mobile_money_rwf = is_mobile_money_rwf;
- return this;
- }
-
private String phonenumber;
-
private String txRef;
private String meta = "";
private String subAccounts = "";
-
- public PayloadBuilder setCustomer_phone(String customer_phone) {
- this.customer_phone = customer_phone;
- return this;
- }
-
private String customer_phone;
private String narration;
private String pin;
@@ -78,28 +47,8 @@ public PayloadBuilder setCustomer_phone(String customer_phone) {
private String accountnumber;
private String accountname;
- public PayloadBuilder setAccountnumber(String accountnumber) {
- this.accountnumber = accountnumber;
- return this;
- }
-
- public PayloadBuilder setAccountbank(String accountbank) {
- this.accountbank = accountbank;
- return this;
- }
-
- public PayloadBuilder setPin(String pin) {
- this.pin = pin;
- return this;
- }
-
- public PayloadBuilder setExpirymonth(String expirymonth) {
- this.expirymonth = expirymonth;
- return this;
- }
-
- public PayloadBuilder setVoucher(String voucher) {
- this.voucher = voucher;
+ public PayloadBuilder setIs_mobile_money_rwf(String is_mobile_money_rwf) {
+ this.is_mobile_money_rwf = is_mobile_money_rwf;
return this;
}
@@ -118,16 +67,6 @@ public PayloadBuilder setBVN(String bvn) {
return this;
}
- public PayloadBuilder setLastname(String lastname) {
- this.lastname = lastname;
- return this;
- }
-
- public PayloadBuilder setFirstname(String firstname) {
- this.firstname = firstname;
- return this;
- }
-
public PayloadBuilder setIsPreAuth(boolean isPreAuth) {
this.isPreAuth = isPreAuth;
return this;
@@ -138,61 +77,11 @@ public PayloadBuilder setIsUsBankCharge(boolean is_us_bank_charge) {
return this;
}
- public PayloadBuilder setCurrency(String currency) {
- this.currency = currency;
- return this;
- }
-
- public PayloadBuilder setPhonenumber(String phonenumber) {
- this.phonenumber = phonenumber;
- return this;
- }
-
- public PayloadBuilder setCountry(String country) {
- this.country = country;
- return this;
- }
-
- public PayloadBuilder setAmount(String amount) {
- this.amount = amount;
- return this;
- }
-
- public PayloadBuilder setEmail(String email) {
- this.email = email;
- return this;
- }
-
- public PayloadBuilder setExpiryyear(String expiryyear) {
- this.expiryyear = expiryyear;
- return this;
- }
-
- public PayloadBuilder setCvv(String cvv) {
- this.cvv = cvv;
- return this;
- }
-
public PayloadBuilder setPaymentPlan(String payment_plan) {
this.payment_plan = payment_plan;
return this;
}
- public PayloadBuilder setDevice_fingerprint(String device_fingerprint) {
- this.device_fingerprint = device_fingerprint;
- return this;
- }
-
- public PayloadBuilder setCardno(String cardno) {
- this.cardno = cardno;
- return this;
- }
-
- public PayloadBuilder setTxRef(String txRef) {
- this.txRef = txRef;
- return this;
- }
-
public String getAccountname() {
return accountname;
}
@@ -253,7 +142,6 @@ public Payload createBankTransferPayload() {
return payload;
}
-
public Payload createUssdPayload() {
List metaObj = Utils.pojofyMetaString(meta);
List subaccountsObj = Utils.pojofySubaccountString(subAccounts);
@@ -381,26 +269,11 @@ public Payload createSavedCardChargePayload() {
}
- public PayloadBuilder setMeta(String meta) {
- this.meta = meta;
- return this;
- }
-
public PayloadBuilder setSubAccount(String subAccounts) {
this.subAccounts = subAccounts;
return this;
}
- public PayloadBuilder setNarration(String narration) {
- this.narration = narration;
- return this;
- }
-
- public PayloadBuilder setNetwork(String network) {
- this.network = network;
- return this;
- }
-
public String getOtp() {
return otp;
}
@@ -423,10 +296,20 @@ public SavedCard getSavedCard() {
return savedCard;
}
+ public PayloadBuilder setSavedCard(SavedCard savedCard) {
+ this.savedCard = savedCard;
+ return this;
+ }
+
public String getExpirymonth() {
return expirymonth;
}
+ public PayloadBuilder setExpirymonth(String expirymonth) {
+ this.expirymonth = expirymonth;
+ return this;
+ }
+
public String getPbfPubKey() {
return pbfPubKey;
}
@@ -439,42 +322,92 @@ public String getLastname() {
return lastname;
}
+ public PayloadBuilder setLastname(String lastname) {
+ this.lastname = lastname;
+ return this;
+ }
+
public String getFirstname() {
return firstname;
}
+ public PayloadBuilder setFirstname(String firstname) {
+ this.firstname = firstname;
+ return this;
+ }
+
public String getCurrency() {
return currency;
}
+ public PayloadBuilder setCurrency(String currency) {
+ this.currency = currency;
+ return this;
+ }
+
public String getCountry() {
return country;
}
+ public PayloadBuilder setCountry(String country) {
+ this.country = country;
+ return this;
+ }
+
public String getAmount() {
return amount;
}
+ public PayloadBuilder setAmount(String amount) {
+ this.amount = amount;
+ return this;
+ }
+
public String getEmail() {
return email;
}
+ public PayloadBuilder setEmail(String email) {
+ this.email = email;
+ return this;
+ }
+
public String getExpiryyear() {
return expiryyear;
}
+ public PayloadBuilder setExpiryyear(String expiryyear) {
+ this.expiryyear = expiryyear;
+ return this;
+ }
+
public String getCvv() {
return cvv;
}
+ public PayloadBuilder setCvv(String cvv) {
+ this.cvv = cvv;
+ return this;
+ }
+
public String getDevice_fingerprint() {
return device_fingerprint;
}
+ public PayloadBuilder setDevice_fingerprint(String device_fingerprint) {
+ this.device_fingerprint = device_fingerprint;
+ return this;
+ }
+
public String getCardno() {
return cardno;
}
+ public PayloadBuilder setCardno(String cardno) {
+ this.cardno = cardno;
+ return this;
+ }
+
public String getPayment_plan() {
return payment_plan;
}
@@ -483,6 +416,11 @@ public String getNetwork() {
return network;
}
+ public PayloadBuilder setNetwork(String network) {
+ this.network = network;
+ return this;
+ }
+
public String getBvn() {
return bvn;
}
@@ -491,6 +429,11 @@ public String getVoucher() {
return voucher;
}
+ public PayloadBuilder setVoucher(String voucher) {
+ this.voucher = voucher;
+ return this;
+ }
+
public boolean isPreAuth() {
return isPreAuth;
}
@@ -503,26 +446,56 @@ public boolean isIs_bank_transfer() {
return is_bank_transfer;
}
+ public PayloadBuilder setIs_bank_transfer(boolean is_bank_transfer) {
+ this.is_bank_transfer = is_bank_transfer;
+ return this;
+ }
+
public String getIs_mobile_money_gh() {
return is_mobile_money_gh;
}
+ public PayloadBuilder setIs_mobile_money_gh(String is_mobile_money_gh) {
+ this.is_mobile_money_gh = is_mobile_money_gh;
+ return this;
+ }
+
public String getIs_mobile_money_ug() {
return is_mobile_money_ug;
}
+ public PayloadBuilder setIs_mobile_money_ug(String is_mobile_money_ug) {
+ this.is_mobile_money_ug = is_mobile_money_ug;
+ return this;
+ }
+
public String getPhonenumber() {
return phonenumber;
}
+ public PayloadBuilder setPhonenumber(String phonenumber) {
+ this.phonenumber = phonenumber;
+ return this;
+ }
+
public String getTxRef() {
return txRef;
}
+ public PayloadBuilder setTxRef(String txRef) {
+ this.txRef = txRef;
+ return this;
+ }
+
public String getMeta() {
return meta;
}
+ public PayloadBuilder setMeta(String meta) {
+ this.meta = meta;
+ return this;
+ }
+
public String getSubAccounts() {
return subAccounts;
}
@@ -531,22 +504,47 @@ public String getCustomer_phone() {
return customer_phone;
}
+ public PayloadBuilder setCustomer_phone(String customer_phone) {
+ this.customer_phone = customer_phone;
+ return this;
+ }
+
public String getNarration() {
return narration;
}
+ public PayloadBuilder setNarration(String narration) {
+ this.narration = narration;
+ return this;
+ }
+
public String getPin() {
return pin;
}
+ public PayloadBuilder setPin(String pin) {
+ this.pin = pin;
+ return this;
+ }
+
public String getAccountbank() {
return accountbank;
}
+ public PayloadBuilder setAccountbank(String accountbank) {
+ this.accountbank = accountbank;
+ return this;
+ }
+
public String getAccountnumber() {
return accountnumber;
}
+ public PayloadBuilder setAccountnumber(String accountnumber) {
+ this.accountnumber = accountnumber;
+ return this;
+ }
+
public PayloadBuilder setIsPermanent(boolean permanent) {
this.isPermanent = permanent;
return this;
@@ -556,7 +554,6 @@ public boolean getPermanent() {
return isPermanent;
}
-
public int getFrequency() {
return frequency;
}
@@ -574,9 +571,4 @@ public PayloadBuilder setDuration(int duration) {
this.duration = duration;
return this;
}
-
- public PayloadBuilder setSavedCard(SavedCard savedCard) {
- this.savedCard = savedCard;
- return this;
- }
}
\ No newline at end of file
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/RaveConstants.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/RaveConstants.java
index a441e09f..72a9ac77 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/RaveConstants.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/RaveConstants.java
@@ -9,8 +9,11 @@
public class RaveConstants {
public static final int SAVED_CARD_CHARGE = 5699;
- public static String PUBLIC_KEY = "FLWPUBK-e634d14d9ded04eaf05d5b63a0a06d2f-X"; //test
- public static String ENCRYPTION_KEY = "bb9714020722eb4cf7a169f2";//test
+ // public static String PUBLIC_KEY = "FLWPUBK-e634d14d9ded04eaf05d5b63a0a06d2f-X"; //test
+// public static String ENCRYPTION_KEY = "bb9714020722eb4cf7a169f2";//test
+//
+ public static String PUBLIC_KEY = "FLWPUBK-9f0d0dd7dc219618b2b7892df65c0db3-X"; //test
+ public static String ENCRYPTION_KEY = "d19b1c9adf4128ceccc41634";//test
// public static String STAGING_URL = "https://ravesandbox.azurewebsites.net";
// public static String LIVE_URL = "https://raveapi.azurewebsites.net";
public static String STAGING_URL = "https://ravesandboxapi.flutterwave.com";
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/RaveFragment.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/RaveFragment.java
index de7a742b..b70b7cf7 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/RaveFragment.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/RaveFragment.java
@@ -11,6 +11,11 @@ public class RaveFragment {
Fragment fragment;
String title;
+ public RaveFragment(Fragment fragment, String title) {
+ this.fragment = fragment;
+ this.title = title;
+ }
+
public Fragment getFragment() {
return fragment;
}
@@ -19,9 +24,4 @@ public String getTitle() {
return title;
}
- public RaveFragment(Fragment fragment, String title) {
- this.fragment = fragment;
- this.title = title;
- }
-
}
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/RavePayActivity.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/RavePayActivity.java
index c3db2e9c..70741829 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/RavePayActivity.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/RavePayActivity.java
@@ -75,29 +75,25 @@
public class RavePayActivity extends AppCompatActivity {
public static String BASE_URL;
+ public static int RESULT_SUCCESS = 111;
+ public static int RESULT_ERROR = 222;
+ public static int RESULT_CANCELLED = 333;
View.OnClickListener onClickListener;
+ RavePayInitializer ravePayInitializer;
+ int theme;
+ AppComponent appComponent;
+ @Inject
+ EventLogger eventLogger;
private HashMap guidelineMap = new HashMap<>();
private ArrayList paymentTiles = new ArrayList<>();
private HashMap tileMap = new HashMap<>();
private Guideline topGuide;
- RavePayInitializer ravePayInitializer;
private Guideline bottomGuide;
private ConstraintLayout root;
-
-
- public static int RESULT_SUCCESS = 111;
- public static int RESULT_ERROR = 222;
- public static int RESULT_CANCELLED = 333;
private int tileCount = 0;
- int theme;
private float paymentTilesTextSize;
private long transitionDuration = 350;
- AppComponent appComponent;
-
- @Inject
- EventLogger eventLogger;
-
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -581,7 +577,6 @@ private View createPaymentTileView(String title) {
private void generateGuides(int count) {
-
for (int i = 0; i <= count; i++) {
Guideline guideline = createGuideline(this, HORIZONTAL);
root.addView(guideline);
@@ -626,9 +621,6 @@ private void buildGraph() {
}
-
-
-
@Override
public void onBackPressed() {
setRavePayResult(RavePayActivity.RESULT_CANCELLED, new Intent());
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/RavePayInitializer.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/RavePayInitializer.java
index 0ca060a6..b1784869 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/RavePayInitializer.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/RavePayInitializer.java
@@ -12,7 +12,6 @@
public class RavePayInitializer {
private final ArrayList orderedPaymentTypesList = new ArrayList<>();
String phoneNumber = "";
- private boolean saveCardFeatureAllowed = true;
String email;
double amount;
String publicKey;
@@ -34,6 +33,7 @@ public class RavePayInitializer {
boolean isPermanent;
int frequency;
int duration;
+ private boolean saveCardFeatureAllowed = true;
public RavePayInitializer(String email, double amount, String publicKey,
String encryptionKey, String txRef, String narration,
@@ -89,22 +89,26 @@ public void setMeta(String meta) {
this.meta = meta;
}
- public String getSubAccount(){return subAccounts;}
+ public String getSubAccount() {
+ return subAccounts;
+ }
- public void setSubAccount(String subAccounts){this.subAccounts=subAccounts;}
+ public void setSubAccount(String subAccounts) {
+ this.subAccounts = subAccounts;
+ }
public boolean isStaging() {
return staging;
}
- public ArrayList getOrderedPaymentTypesList() {
- return orderedPaymentTypesList;
- }
-
public void setStaging(boolean staging) {
this.staging = staging;
}
+ public ArrayList getOrderedPaymentTypesList() {
+ return orderedPaymentTypesList;
+ }
+
public int getTheme() {
return theme;
}
@@ -215,7 +219,9 @@ public void setPreAuth(boolean isPreAuth) {
this.isPreAuth = isPreAuth;
}
- public boolean getIsPreAuth() { return isPreAuth; }
+ public boolean getIsPreAuth() {
+ return isPreAuth;
+ }
public boolean getIsDisplayFee() {
return displayFee;
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/RavePayManager.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/RavePayManager.java
index a5efed10..d9e2c967 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/RavePayManager.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/RavePayManager.java
@@ -36,6 +36,11 @@
import static com.flutterwave.raveandroid.RaveConstants.STAGING_URL;
public class RavePayManager {
+ boolean allowSaveCard = true;
+ boolean staging = true;
+ boolean isPreAuth = false;
+ boolean showStagingLabel = true;
+ boolean displayFee = true;
private String email;
private double amount = -1;
private String publicKey;
@@ -46,7 +51,6 @@ public class RavePayManager {
private String country = "NG";
private String fName = "";
private String lName = "";
- boolean allowSaveCard = true;
private String meta = "";
private String subAccounts = "";
private String payment_plan;
@@ -54,16 +58,24 @@ public class RavePayManager {
private Fragment supportFragment;
private android.app.Fragment fragment;
private int theme = R.style.DefaultTheme;
- boolean staging = true;
- boolean isPreAuth = false;
private String phoneNumber = "";
- boolean showStagingLabel = true;
- boolean displayFee = true;
private boolean isPermanent = false;
private int duration = 0;
private int frequency = 0;
private ArrayList orderedPaymentTypesList = new ArrayList<>();
+ public RavePayManager(Activity activity) {
+ this.activity = activity;
+ }
+
+ public RavePayManager(Fragment fragment) {
+ this.supportFragment = fragment;
+ }
+
+ public RavePayManager(android.app.Fragment fragment) {
+ this.fragment = fragment;
+ }
+
public ArrayList getOrderedPaymentTypesList() {
return orderedPaymentTypesList;
}
@@ -83,18 +95,6 @@ public RavePayManager withTheme(int theme) {
return this;
}
- public RavePayManager(Activity activity) {
- this.activity = activity;
- }
-
- public RavePayManager(Fragment fragment) {
- this.supportFragment = fragment;
- }
-
- public RavePayManager(android.app.Fragment fragment) {
- this.fragment = fragment;
- }
-
public RavePayManager acceptAchPayments(boolean withAch) {
if (!orderedPaymentTypesList.contains(PAYMENT_TYPE_ACH) && withAch)
orderedPaymentTypesList.add(PAYMENT_TYPE_ACH);
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/WebFragment.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/WebFragment.java
index 66830d59..35f47b45 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/WebFragment.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/WebFragment.java
@@ -96,6 +96,29 @@ public void goBack() {
}
}
+ public void showProgressIndicator(boolean active) {
+
+ try {
+ if (getActivity().isFinishing()) {
+ return;
+ }
+
+ if (progessDialog == null) {
+ progessDialog = new ProgressDialog(getActivity());
+ progessDialog.setCanceledOnTouchOutside(false);
+ progessDialog.setMessage("Please wait...");
+ }
+
+ if (active && !progessDialog.isShowing()) {
+ progessDialog.show();
+ } else {
+ progessDialog.dismiss();
+ }
+ } catch (NullPointerException e) {
+ e.printStackTrace();
+ }
+ }
+
// Manages the behavior when URLs are loaded
private class MyBrowser extends WebViewClient {
@SuppressWarnings("deprecation")
@@ -134,29 +157,4 @@ public void onPageFinished(WebView view, String url) {
}
}
}
-
-
- public void showProgressIndicator(boolean active) {
-
- try {
- if (getActivity().isFinishing()) {
- return;
- }
-
- if (progessDialog == null) {
- progessDialog = new ProgressDialog(getActivity());
- progessDialog.setCanceledOnTouchOutside(false);
- progessDialog.setMessage("Please wait...");
- }
-
- if (active && !progessDialog.isShowing()) {
- progessDialog.show();
- } else {
- progessDialog.dismiss();
- }
- }
- catch (NullPointerException e) {
- e.printStackTrace();
- }
- }
}
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/account/AccountContract.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/account/AccountContract.java
index 77c987de..4e58ecd4 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/account/AccountContract.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/account/AccountContract.java
@@ -19,7 +19,9 @@ public interface AccountContract {
interface View {
void showToast(String message);
+
void showBanks(List banks);
+
void showProgressIndicator(boolean active);
void onGetBanksRequestFailed(String message);
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/account/AccountFragment.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/account/AccountFragment.java
index b2aa6543..ddea986e 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/account/AccountFragment.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/account/AccountFragment.java
@@ -63,11 +63,10 @@
*/
public class AccountFragment extends Fragment implements AccountContract.View, DatePickerDialog.OnDateSetListener, View.OnClickListener, View.OnFocusChangeListener {
- @Inject
- AccountPresenter presenter;
-
public static final int FOR_0TP = 222;
public static final int FOR_INTERNET_BANKING = 111;
+ @Inject
+ AccountPresenter presenter;
private View v;
private String flwRef;
private EditText bankEt;
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/account/AccountPresenter.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/account/AccountPresenter.java
index fc807643..b395d411 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/account/AccountPresenter.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/account/AccountPresenter.java
@@ -70,9 +70,6 @@
public class AccountPresenter implements AccountContract.UserActionsListener {
- private Context context;
- private AccountContract.View mView;
-
@Inject
EmailValidator emailValidator;
@Inject
@@ -103,6 +100,8 @@ public class AccountPresenter implements AccountContract.UserActionsListener {
PayloadToJsonConverter payloadToJsonConverter;
@Inject
PayloadEncryptor payloadEncryptor;
+ private Context context;
+ private AccountContract.View mView;
@Inject
public AccountPresenter(Context context, AccountContract.View mView) {
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/account/BanksRecyclerAdapter.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/account/BanksRecyclerAdapter.java
index 91ca6218..2e9bc037 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/account/BanksRecyclerAdapter.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/account/BanksRecyclerAdapter.java
@@ -52,13 +52,13 @@ public void setBankSelectedListener(Callbacks.BankSelectedListener bankSelectedL
}
public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
- private TextView bankNameTv;
Bank bank;
+ private TextView bankNameTv;
ViewHolder(View v) {
super(v);
- bankNameTv = (TextView) v.findViewById(R.id.bankNameTv);
+ bankNameTv = v.findViewById(R.id.bankNameTv);
v.setOnClickListener(this);
}
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/ach/AchFragment.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/ach/AchFragment.java
index 66431c21..18cb39b0 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/ach/AchFragment.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/ach/AchFragment.java
@@ -39,9 +39,9 @@
public class AchFragment extends Fragment implements AchContract.View, View.OnClickListener
, View.OnFocusChangeListener {
+ public static final int FOR_ACH = 892;
@Inject
AchPresenter presenter;
-
private View v;
private Button payButton;
private TextInputLayout amountTil;
@@ -50,8 +50,6 @@ public class AchFragment extends Fragment implements AchContract.View, View.OnCl
private ProgressDialog progressDialog;
private RavePayInitializer ravePayInitializer;
- public static final int FOR_ACH = 892;
-
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
@@ -171,7 +169,7 @@ public void showWebView(String authUrl, String flwRef) {
private void dismissDialog() {
- if (progressDialog != null) {
+ if (progressDialog != null && progressDialog.isShowing()) {
progressDialog.dismiss();
}
}
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/ach/AchPresenter.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/ach/AchPresenter.java
index da04d460..9ac0ad89 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/ach/AchPresenter.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/ach/AchPresenter.java
@@ -31,11 +31,8 @@
public class AchPresenter implements AchContract.UserActionsListener {
Context context;
- private AchContract.View mView;
-
@Inject
SharedPrefsRequestImpl sharedMgr;
-
@Inject
EventLogger eventLogger;
@Inject
@@ -50,6 +47,7 @@ public class AchPresenter implements AchContract.UserActionsListener {
PayloadToJsonConverter payloadToJsonConverter;
@Inject
PayloadEncryptor payloadEncryptor;
+ private AchContract.View mView;
@Inject
public AchPresenter(Context context, AchContract.View mView) {
@@ -155,17 +153,14 @@ public void onSuccess(ChargeResponse response, String responseAsJSONString) {
if (isDisplayFee) {
mView.showFee(authUrl, flwRef, chargedAmount, currency);
- }
- else {
+ } else {
mView.showWebView(authUrl, flwRef);
}
- }
- else {
+ } else {
mView.onPaymentError(RaveConstants.no_authurl_was_returnedmsg);
}
- }
- else {
+ } else {
mView.onPaymentError(RaveConstants.noResponse);
}
@@ -223,8 +218,7 @@ public void verifyRequeryResponse(RequeryResponse response, String responseAsJSO
if (wasTxSuccessful) {
mView.onPaymentSuccessful(response.getStatus(), flwRef, responseAsJSONString);
- }
- else {
+ } else {
mView.onPaymentFailed(response.getStatus(), responseAsJSONString);
}
}
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/banktransfer/BankTransferContract.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/banktransfer/BankTransferContract.java
index a9da9d8a..aa54faac 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/banktransfer/BankTransferContract.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/banktransfer/BankTransferContract.java
@@ -14,18 +14,31 @@ public interface BankTransferContract {
interface View {
void showProgressIndicator(boolean active);
+
void showPollingIndicator(boolean active);
+
void onPaymentError(String message);
+
void showToast(String message);
+
void onPaymentSuccessful(String status, String flwRef, String responseAsString);
+
void displayFee(String charge_amount, Payload payload);
+
void showFetchFeeFailed(String s);
+
void onPaymentFailed(String message, String responseAsJSONString);
+
void onTransferDetailsReceived(String amount, String accountNumber, String bankName, String beneficiaryName);
+
void onPollingTimeout(String flwRef, String txRef, String responseAsJSONString);
+
void onAmountValidationSuccessful(String valueOf);
+
void showFieldError(int viewID, String message, Class> viewType);
+
void onValidationSuccessful(HashMap dataHashMap);
+
void onAmountValidationFailed();
void onPollingCanceled(String flwRef, String txRef, final String responseAsJSONString);
@@ -35,10 +48,15 @@ interface UserActionsListener {
void fetchFee(Payload payload);
void requeryTx(String flwRef, String txRef, String publicKey, boolean pollingCancelled, long requeryCountdownTime);
+
void payWithBankTransfer(Payload body, String encryptionKey);
+
void init(RavePayInitializer ravePayInitializer);
+
void processTransaction(HashMap dataHashMap, RavePayInitializer ravePayInitializer);
+
void onDataCollected(HashMap dataHashMap);
+
void startPaymentVerification();
void cancelPolling();
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/banktransfer/BankTransferPresenter.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/banktransfer/BankTransferPresenter.java
index af9c4609..7d3b51e3 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/banktransfer/BankTransferPresenter.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/banktransfer/BankTransferPresenter.java
@@ -44,25 +44,24 @@ public class BankTransferPresenter implements BankTransferContract.UserActionsLi
private static final String TX_REF = "txref";
private static final String FLW_REF = "flwref";
private static final String PUBLIC_KEY = "pbfkey";
-
+ public boolean pollingCancelled = false;
+ public boolean hasTransferDetails = false;
@Inject
EventLogger eventLogger;
@Inject
AmountValidator amountValidator;
@Inject
NetworkRequestImpl networkRequest;
- public boolean pollingCancelled = false;
- public boolean hasTransferDetails = false;
@Inject
DeviceIdGetter deviceIdGetter;
BankTransferContract.View mView;
- private String txRef = null, flwRef = null, publicKey = null;
- private long requeryCountdownTime = 0;
@Inject
PayloadToJson payloadToJson;
- private String beneficiaryName, accountNumber, amount, bankName;
@Inject
PayloadEncryptor payloadEncryptor;
+ private String txRef = null, flwRef = null, publicKey = null;
+ private long requeryCountdownTime = 0;
+ private String beneficiaryName, accountNumber, amount, bankName;
@Inject
public BankTransferPresenter(Context context, BankTransferContract.View mView) {
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/barter/BarterFragment.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/barter/BarterFragment.java
index 59929a6a..545c003b 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/barter/BarterFragment.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/barter/BarterFragment.java
@@ -5,6 +5,7 @@
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
+import android.os.Handler;
import android.support.design.widget.TextInputEditText;
import android.support.design.widget.TextInputLayout;
import android.support.v4.app.Fragment;
@@ -40,11 +41,9 @@
public class BarterFragment extends Fragment implements BarterContract.View {
+ public static final int FOR_BARTER_CHECKOUT = 5555;
@Inject
BarterPresenter presenter;
-
- public static final int FOR_BARTER_CHECKOUT = 5555;
-
private View v;
private Button payButton;
private TextInputLayout amountTil;
@@ -288,9 +287,17 @@ public void onPaymentFailed(String responseAsJSONString) {
}
@Override
- public void onPollingRoundComplete(String flwRef, String publicKey) {
+ public void onPollingRoundComplete(final String flwRef, final String publicKey) {
if (pollingProgressDialog != null && pollingProgressDialog.isShowing()) {
- presenter.requeryTx(flwRef, publicKey);
+
+ Handler handler = new Handler();
+ Runnable r = new Runnable() {
+ public void run() {
+ presenter.requeryTx(flwRef, publicKey);
+ }
+ };
+ handler.postDelayed(r, 1000);
+
}
}
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/card/CardFragment.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/card/CardFragment.java
index cf32c2b8..4a8ff27b 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/card/CardFragment.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/card/CardFragment.java
@@ -72,6 +72,7 @@
import static com.flutterwave.raveandroid.RaveConstants.fieldCardExpiry;
import static com.flutterwave.raveandroid.RaveConstants.fieldCvv;
import static com.flutterwave.raveandroid.RaveConstants.fieldEmail;
+import static com.flutterwave.raveandroid.RaveConstants.fieldPhone;
import static com.flutterwave.raveandroid.RaveConstants.fieldcardNoStripped;
import static com.flutterwave.raveandroid.verification.VerificationActivity.EXTRA_IS_STAGING;
@@ -81,20 +82,20 @@
*/
public class CardFragment extends Fragment implements View.OnClickListener, CardContract.View, View.OnFocusChangeListener {
- @Inject
- CardPresenter presenter;
-
public static final int FOR_PIN = 444;
public static final int FOR_OTP = 666;
public static final int FOR_AVBVV = 333;
public static final int FOR_INTERNET_BANKING = 555;
+ public static final String INTENT_SENDER = "cardFrag";
private static final int FOR_SAVED_CARDS = 777;
private static final String STATE_PRESENTER_SAVEDCARDS = "presenter_saved_cards";
- public static final String INTENT_SENDER = "cardFrag";
private static final String RAVEPAY = "ravepay";
- private View v;
+ @Inject
+ CardPresenter presenter;
TextView useASavedCardTv;
TextView useAnotherCardTv;
+ Boolean hasSavedCards = false;
+ private View v;
private Button payButton;
private TextView pcidss_tv;
private AlertDialog dialog;
@@ -106,7 +107,6 @@ public class CardFragment extends Fragment implements View.OnClickListener, Card
private ProgressDialog progessDialog;
private TextInputLayout amountTil;
private TextInputEditText amountEt;
-
private String flwRef;
private Payload payLoad;
private TextInputEditText cardNoTv;
@@ -116,10 +116,11 @@ public class CardFragment extends Fragment implements View.OnClickListener, Card
private FrameLayout progressContainer;
private RavePayInitializer ravePayInitializer;
private boolean shouldISaveThisCard = false;
- Boolean hasSavedCards = false;
private LinearLayout saveNewCardLayout;
private EditText saveCardEmailEt;
private EditText saveCardPhoneNoEt;
+ private TextInputLayout saveCardEmailTil;
+ private TextInputLayout saveCardPhoneNoTil;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
@@ -212,13 +213,15 @@ private void initializeViews() {
emailEt = v.findViewById(R.id.rave_emailEt);
cvvTil = v.findViewById(R.id.rave_cvvTil);
cvvTv = v.findViewById(R.id.rave_cvvTv);
- useAnotherCardTv = (TextView) v.findViewById(R.id.rave_use_new_card_tv);
- useASavedCardTv = (TextView) v.findViewById(R.id.rave_use_saved_card_tv);
+ useAnotherCardTv = v.findViewById(R.id.rave_use_new_card_tv);
+ useASavedCardTv = v.findViewById(R.id.rave_use_saved_card_tv);
useASavedCardTv.setVisibility(GONE);
- saveCardSwitch = (SwitchCompat) v.findViewById(R.id.rave_saveCardSwitch);
- saveCardPhoneNoEt = (EditText) v.findViewById(R.id.save_card_phoneNoTV);
- saveCardEmailEt = (EditText) v.findViewById(R.id.save_card_emailTv);
- saveNewCardLayout = (LinearLayout) v.findViewById(R.id.rave_layout_for_saving_card);
+ saveCardSwitch = v.findViewById(R.id.rave_saveCardSwitch);
+ saveCardPhoneNoEt = v.findViewById(R.id.save_card_phoneNoTV);
+ saveCardEmailEt = v.findViewById(R.id.save_card_emailTv);
+ saveCardPhoneNoTil = v.findViewById(R.id.save_card_phoneNoTil);
+ saveCardEmailTil = v.findViewById(R.id.save_card_emailTil);
+ saveNewCardLayout = v.findViewById(R.id.rave_layout_for_saving_card);
}
@@ -260,6 +263,7 @@ private void collectData() {
dataHashMap.put(fieldCvv, new ViewObject(cvvTil.getId(), cvvTv.getText().toString(), TextInputLayout.class));
dataHashMap.put(fieldCardExpiry, new ViewObject(cardExpiryTil.getId(), cardExpiryTv.getText().toString(), TextInputLayout.class));
dataHashMap.put(fieldcardNoStripped, new ViewObject(cardNoTil.getId(), cardNoTv.getText().toString(), TextInputLayout.class));
+ dataHashMap.put(fieldPhone, new ViewObject(saveCardPhoneNoTil.getId(), saveCardPhoneNoEt.getText().toString(), TextInputLayout.class));
presenter.onDataCollected(dataHashMap);
}
@@ -732,7 +736,7 @@ public void onTokenRetrievalError(String s) {
* @param status = status of the transaction
* @param flwRef = reference of the payment transaction
* @param responseAsJSONString = full json response from the payment transaction
- * @param ravePayInitializer The ravePayInitializer used to initiate payment
+ * @param ravePayInitializer The ravePayInitializer used to initiate payment
*/
@Override
public void onPaymentSuccessful(String status, String flwRef, String responseAsJSONString, RavePayInitializer ravePayInitializer) {
@@ -742,7 +746,7 @@ public void onPaymentSuccessful(String status, String flwRef, String responseAsJ
presenter.setCardSaveInProgress(true);
presenter.saveCardToRave(
ravePayInitializer.getPhoneNumber(),
- ravePayInitializer.getPhoneNumber(),
+ ravePayInitializer.getEmail(),
flwRef,
ravePayInitializer.getPublicKey(),
responseAsJSONString);
@@ -844,6 +848,37 @@ public void onAVSVBVSecureCodeModelUsed(String authurl, String flwRef) {
startActivityForResult(intent, FOR_INTERNET_BANKING);
}
+ @Override
+ public void onFocusChange(View view, boolean hasFocus) {
+ int i = view.getId();
+
+ String fieldName = "";
+
+ if (i == R.id.rave_cvvTv) {
+ fieldName = "CVV";
+ } else if (i == R.id.rave_amountEt) {
+ fieldName = "Amount";
+ } else if (i == R.id.rave_emailEt) {
+ fieldName = "Email";
+ } else if (i == R.id.rave_cardNoTv) {
+ fieldName = "Card Number";
+ } else if (i == R.id.rave_cardExpiryTv) {
+ fieldName = "Card Expiry";
+ }
+
+ if (hasFocus) {
+ presenter.logEvent(new StartTypingEvent(fieldName).getEvent(), ravePayInitializer.getPublicKey());
+ }
+ }
+
+ @Override
+ public void onChargeCardSuccessful(ChargeResponse response) {
+ presenter
+ .requeryTx(response.getData().getFlwRef(),
+ ravePayInitializer.getPublicKey()
+ );
+ }
+
private class ExpiryWatcher implements TextWatcher {
private final Calendar calendar;
@@ -915,36 +950,4 @@ public void afterTextChanged(Editable editable) {
}
- @Override
- public void onFocusChange(View view, boolean hasFocus) {
- int i = view.getId();
-
- String fieldName = "";
-
- if (i == R.id.rave_cvvTv) {
- fieldName = "CVV";
- } else if (i == R.id.rave_amountEt) {
- fieldName = "Amount";
- } else if (i == R.id.rave_emailEt) {
- fieldName = "Email";
- } else if (i == R.id.rave_cardNoTv) {
- fieldName = "Card Number";
- } else if (i == R.id.rave_cardExpiryTv) {
- fieldName = "Card Expiry";
- }
-
- if (hasFocus) {
- presenter.logEvent(new StartTypingEvent(fieldName).getEvent(), ravePayInitializer.getPublicKey());
- }
- }
-
- @Override
- public void onChargeCardSuccessful(ChargeResponse response) {
- presenter
- .requeryTx(response.getData().getFlwRef(),
- ravePayInitializer.getPublicKey()
- );
- }
-
-
}
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/card/CardPresenter.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/card/CardPresenter.java
index d0ab517c..7b7f3d47 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/card/CardPresenter.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/card/CardPresenter.java
@@ -64,6 +64,7 @@
import static com.flutterwave.raveandroid.RaveConstants.fieldCardExpiry;
import static com.flutterwave.raveandroid.RaveConstants.fieldCvv;
import static com.flutterwave.raveandroid.RaveConstants.fieldEmail;
+import static com.flutterwave.raveandroid.RaveConstants.fieldPhone;
import static com.flutterwave.raveandroid.RaveConstants.fieldcardNoStripped;
import static com.flutterwave.raveandroid.RaveConstants.invalidChargeCode;
import static com.flutterwave.raveandroid.RaveConstants.noResponse;
@@ -85,8 +86,6 @@
public class CardPresenter implements CardContract.UserActionsListener {
- private CardContract.View mView;
-
@Inject
EventLogger eventLogger;
@Inject
@@ -101,7 +100,6 @@ public class CardPresenter implements CardContract.UserActionsListener {
CardExpiryValidator cardExpiryValidator;
@Inject
CardNoValidator cardNoValidator;
- private Context context;
@Inject
DeviceIdGetter deviceIdGetter;
@Inject
@@ -115,9 +113,17 @@ public class CardPresenter implements CardContract.UserActionsListener {
@Inject
Gson gson;
List savedCards;
+ private CardContract.View mView;
+ private Context context;
private boolean cardSaveInProgress = false;
private String requeryInstruction = "Transaction is under processing, please use transaction requery to check status";
+ @Inject
+ public CardPresenter(Context context, CardContract.View mView) {
+ this.mView = mView;
+ this.context = context;
+ }
+
public boolean isCardSaveInProgress() {
return cardSaveInProgress;
}
@@ -126,13 +132,6 @@ public void setCardSaveInProgress(boolean cardSaveInProgress) {
this.cardSaveInProgress = cardSaveInProgress;
}
-
- @Inject
- public CardPresenter(Context context, CardContract.View mView) {
- this.mView = mView;
- this.context = context;
- }
-
@Override
public void chargeCard(final Payload payload, final String encryptionKey) {
@@ -454,6 +453,11 @@ public void processTransaction(HashMap dataHashMap, RavePayI
ravePayInitializer.setAmount(Double.parseDouble(dataHashMap.get(fieldAmount).getData()));
+ if (dataHashMap.containsKey(fieldPhone)) {
+ String phoneNumber = dataHashMap.get(fieldPhone).getData();
+ if (!phoneNumber.isEmpty()) ravePayInitializer.setPhoneNumber(phoneNumber);
+ }
+
String deviceID = deviceIdGetter.getDeviceId();
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/card/CreditCardTextWatcher.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/card/CreditCardTextWatcher.java
index b6734114..4ebc6354 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/card/CreditCardTextWatcher.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/card/CreditCardTextWatcher.java
@@ -6,7 +6,6 @@
import android.text.TextWatcher;
import android.util.SparseArray;
-
import com.flutterwave.raveandroid.R;
import java.util.regex.Pattern;
@@ -19,12 +18,12 @@ class CreditCardTextWatcher implements TextWatcher {
private static final char space = ' ';
private final int mDefaultDrawableResId = R.drawable.creditcard;
+ String lastFormattedText;
private int mCurrentDrawableResId = 0;
private Drawable mCurrentDrawable;
- String lastFormattedText;
private SparseArray mCCPatterns = null;
- CreditCardTextWatcher(){
+ CreditCardTextWatcher() {
init();
}
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/card/CreditCardView.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/card/CreditCardView.java
index a4467042..88ba6545 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/card/CreditCardView.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/card/CreditCardView.java
@@ -9,7 +9,6 @@
import android.util.Log;
import android.util.SparseArray;
-
import com.flutterwave.raveandroid.R;
import java.util.regex.Matcher;
@@ -22,12 +21,12 @@
public class CreditCardView extends TextInputEditText {
- private SparseArray mCCPatterns = null;
//default credit card image
private final int mDefaultDrawableResId = R.drawable.creditcard;
+ String lastFormattedText;
+ private SparseArray mCCPatterns = null;
private int mCurrentDrawableResId = 0;
private Drawable mCurrentDrawable;
- String lastFormattedText;
public CreditCardView(Context context) {
super(context);
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/card/SavedCardRecyclerAdapter.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/card/SavedCardRecyclerAdapter.java
index 7b50ceca..8ce15e06 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/card/SavedCardRecyclerAdapter.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/card/SavedCardRecyclerAdapter.java
@@ -18,7 +18,7 @@
* Created by hamzafetuga on 25/07/2017.
*/
-public class SavedCardRecyclerAdapter extends RecyclerView.Adapter{
+public class SavedCardRecyclerAdapter extends RecyclerView.Adapter {
private List cards;
private Callbacks.SavedCardSelectedListener savedCardSelectedListener;
@@ -54,17 +54,17 @@ public void setSavedCardSelectedListener(Callbacks.SavedCardSelectedListener sav
public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
+ SavedCard card;
private TextView cardTypeTv;
private TextView maskedPanTv;
private ImageView cardBrandIv;
- SavedCard card;
ViewHolder(View v) {
super(v);
- cardTypeTv = (TextView) v.findViewById(R.id.card_type_tv);
- maskedPanTv = (TextView) v.findViewById(R.id.masked_pan_tv);
- cardBrandIv = (ImageView) v.findViewById(R.id.rave_card_brand_imageview);
+ cardTypeTv = v.findViewById(R.id.card_type_tv);
+ maskedPanTv = v.findViewById(R.id.masked_pan_tv);
+ cardBrandIv = v.findViewById(R.id.rave_card_brand_imageview);
v.setOnClickListener(this);
}
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/data/Bank.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/data/Bank.java
index 4a62ce78..0a6c8dfb 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/data/Bank.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/data/Bank.java
@@ -18,6 +18,10 @@ public String getBankcode() {
return bankcode;
}
+ public void setBankcode(String bankcode) {
+ this.bankcode = bankcode;
+ }
+
public boolean isInternetbanking() {
return internetbanking;
}
@@ -25,8 +29,4 @@ public boolean isInternetbanking() {
public void setInternetbanking(boolean internetbanking) {
this.internetbanking = internetbanking;
}
-
- public void setBankcode(String bankcode) {
- this.bankcode = bankcode;
- }
}
\ No newline at end of file
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/data/Callbacks.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/data/Callbacks.java
index 66b8f023..f6254300 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/data/Callbacks.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/data/Callbacks.java
@@ -20,21 +20,25 @@ public class Callbacks {
public interface OnGhanaChargeRequestComplete {
void onSuccess(MobileMoneyChargeResponse response, String responseAsJSONString);
+
void onError(String message, String responseAsJSONString);
}
public interface OnChargeRequestComplete {
void onSuccess(ChargeResponse response, String responseAsJSONString);
+
void onError(String message, String responseAsJSONString);
}
public interface OnValidateChargeCardRequestComplete {
void onSuccess(ChargeResponse response, String responseAsJSONString);
+
void onError(String message, String responseAsJSONString);
}
public interface OnRequeryRequestComplete {
void onSuccess(RequeryResponse response, String responseAsJSONString);
+
void onError(String message, String responseAsJSONString);
}
@@ -58,11 +62,13 @@ public interface OnSendRaveOTPRequestComplete {
public interface OnRequeryRequestv2Complete {
void onSuccess(RequeryResponsev2 response, String responseAsJSONString);
+
void onError(String message, String responseAsJSONString);
}
public interface OnGetBanksRequestComplete {
void onSuccess(List banks);
+
void onError(String message);
}
@@ -76,6 +82,7 @@ public interface SavedCardSelectedListener {
public interface OnGetFeeRequestComplete {
void onSuccess(FeeCheckResponse response);
+
void onError(String message);
}
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/data/CardDetsToSave.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/data/CardDetsToSave.java
index 17062d76..3c063f85 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/data/CardDetsToSave.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/data/CardDetsToSave.java
@@ -6,6 +6,12 @@
public class CardDetsToSave {
String first6;
+ String last4;
+
+ public CardDetsToSave(String first6, String last4) {
+ this.first6 = first6;
+ this.last4 = last4;
+ }
public String getFirst6() {
return first6;
@@ -15,13 +21,5 @@ public String getLast4() {
return last4;
}
- String last4;
-
- public CardDetsToSave(String first6, String last4) {
- this.first6 = first6;
- this.last4 = last4;
- }
-
-
}
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/data/DataRequest.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/data/DataRequest.java
index 682a1601..51eba980 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/data/DataRequest.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/data/DataRequest.java
@@ -18,16 +18,25 @@ interface NetworkRequest {
void chargeWithPolling(ChargeRequestBody chargeRequestBody, Callbacks.OnChargeRequestComplete callback);
void chargeMobileMoneyWallet(ChargeRequestBody chargeRequestBody, Callbacks.OnGhanaChargeRequestComplete callback);
+
void validateChargeCard(ValidateChargeBody cardRequestBody, Callbacks.OnValidateChargeCardRequestComplete callback);
+
void validateAccountCard(ValidateChargeBody cardRequestBody, Callbacks.OnValidateChargeCardRequestComplete callback);
void sendRaveOtp(SendOtpRequestBody requestBody, Callbacks.OnSendRaveOTPRequestComplete callback);
+
void requeryTx(RequeryRequestBody requeryRequestBody, Callbacks.OnRequeryRequestComplete callback);
+
void requeryPayWithBankTx(RequeryRequestBody requeryRequestBody, Callbacks.OnRequeryRequestComplete callback);
+
void requeryTxv2(RequeryRequestBodyv2 requeryRequestBody, Callbacks.OnRequeryRequestv2Complete callback);
+
void getBanks(Callbacks.OnGetBanksRequestComplete callback);
+
void chargeAccount(ChargeRequestBody accountRequestBody, Callbacks.OnChargeRequestComplete callback);
+
void chargeToken(Payload payload, Callbacks.OnChargeRequestComplete callback);
+
void getFee(FeeCheckRequestBody body, Callbacks.OnGetFeeRequestComplete callback);
void logEvent(EventBody body, Callbacks.OnLogEventComplete callback);
@@ -44,7 +53,9 @@ interface SharedPrefsRequest {
void saveCardToSharedPreference(List card, String email, String publicKey);
List getSavedCards(String phoneNumber, String publicKey);
+
void saveFlwRef(String flwRef);
+
String fetchFlwRef();
void savePhoneNumber(String phoneNumber);
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/data/ErrorBody.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/data/ErrorBody.java
index 7a7bdaea..5367b6aa 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/data/ErrorBody.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/data/ErrorBody.java
@@ -5,13 +5,15 @@
*/
public class ErrorBody {
+ String status;
+ String message;
+ Data data;
+
public ErrorBody(String status, String message) {
this.status = status;
this.message = message;
}
- String status;
-
public String getStatus() {
return status;
}
@@ -28,25 +30,20 @@ public void setMessage(String message) {
this.message = message;
}
- String message;
-
public Data getData() {
return data;
}
- Data data;
-
// String data;
public static class Data {
boolean is_error;
+ String code;
public String getCode() {
return code;
}
-
- String code;
}
}
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/data/FeePayload.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/data/FeePayload.java
index 0803ae7f..2b48972f 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/data/FeePayload.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/data/FeePayload.java
@@ -9,6 +9,8 @@ public class FeePayload {
String amount;
String PBFPubKey;
String currency;
+ String ptype;
+ String card6;
public String getAmount() {
return amount;
@@ -50,8 +52,5 @@ public void setCard6(String card6) {
this.card6 = card6;
}
- String ptype;
- String card6;
-
}
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/data/RequeryRequestBody.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/data/RequeryRequestBody.java
index 3df9355e..571922ee 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/data/RequeryRequestBody.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/data/RequeryRequestBody.java
@@ -6,6 +6,8 @@
public class RequeryRequestBody {
+ String PBFPubKey;
+ String flw_ref;
private String order_ref;
public String getPBFPubKey() {
@@ -16,8 +18,6 @@ public void setPBFPubKey(String PBFPubKey) {
this.PBFPubKey = PBFPubKey;
}
- String PBFPubKey;
-
public String getFlw_ref() {
return flw_ref;
}
@@ -26,8 +26,6 @@ public void setFlw_ref(String flw_ref) {
this.flw_ref = flw_ref;
}
- String flw_ref;
-
public String getOrder_ref() {
return order_ref;
}
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/data/RequeryRequestBodyv2.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/data/RequeryRequestBodyv2.java
index 2ac41c00..101ed547 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/data/RequeryRequestBodyv2.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/data/RequeryRequestBodyv2.java
@@ -7,6 +7,7 @@
public class RequeryRequestBodyv2 {
String SECKEY;
+ String txref;
public String getSECKEY() {
return SECKEY;
@@ -23,6 +24,4 @@ public String getTxref() {
public void setTxref(String txref) {
this.txref = txref;
}
-
- String txref;
}
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/data/SharedPrefsRequestImpl.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/data/SharedPrefsRequestImpl.java
index 191bdfb4..dc90a200 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/data/SharedPrefsRequestImpl.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/data/SharedPrefsRequestImpl.java
@@ -54,7 +54,8 @@ public void saveCardToSharedPreference(List cardsToSave, String phone
init();
Gson gson = new Gson();
- Type type = new TypeToken>() {}.getType();
+ Type type = new TypeToken>() {
+ }.getType();
String savedCardsJson = gson.toJson(savedCards, type);
editor.putString(SAVED_CARDS_PREFIX + phoneNumber + publicKey, savedCardsJson).apply();
@@ -71,8 +72,7 @@ public List getSavedCards(String phoneNumber, String publicKey) {
Type type = new TypeToken>() {
}.getType();
return gson.fromJson(savedCardsJson, type);
- }
- catch (Exception e) {
+ } catch (Exception e) {
e.printStackTrace();
return new ArrayList<>();
}
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/data/ValidateChargeBody.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/data/ValidateChargeBody.java
index 4e1320ac..24eb9950 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/data/ValidateChargeBody.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/data/ValidateChargeBody.java
@@ -6,6 +6,9 @@
public class ValidateChargeBody {
String transaction_reference;
+ String transactionreference;
+ String PBFPubKey;
+ String otp;
public String getTransactionreference() {
return transactionreference;
@@ -15,10 +18,6 @@ public void setTransactionreference(String transactionreference) {
this.transactionreference = transactionreference;
}
- String transactionreference;
- String PBFPubKey;
- String otp;
-
public String getTransaction_reference() {
return transaction_reference;
}
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/francMobileMoney/FrancMobileMoneyFragment.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/francMobileMoney/FrancMobileMoneyFragment.java
index 73ac37b4..73115b40 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/francMobileMoney/FrancMobileMoneyFragment.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/francMobileMoney/FrancMobileMoneyFragment.java
@@ -5,6 +5,7 @@
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
+import android.os.Handler;
import android.support.design.widget.TextInputEditText;
import android.support.design.widget.TextInputLayout;
import android.support.v4.app.Fragment;
@@ -236,6 +237,9 @@ public void onPaymentSuccessful(String status, String flwRef, String responseAsS
@Override
public void onPaymentFailed(String message, String responseAsJSONString) {
+ if (pollingProgressDialog != null && pollingProgressDialog.isShowing()) {
+ pollingProgressDialog.dismiss();
+ }
Intent intent = new Intent();
intent.putExtra(response, responseAsJSONString);
if (getActivity() != null) {
@@ -279,10 +283,18 @@ public void onClick(DialogInterface dialog, int which) {
}
@Override
- public void onPollingRoundComplete(String flwRef, String txRef, String publicKey) {
+ public void onPollingRoundComplete(final String flwRef, final String txRef, final String publicKey) {
if (pollingProgressDialog != null && pollingProgressDialog.isShowing()) {
- presenter.requeryTx(flwRef, txRef, publicKey);
+
+ Handler handler = new Handler();
+ Runnable r = new Runnable() {
+ public void run() {
+ presenter.requeryTx(flwRef, txRef, publicKey);
+ }
+ };
+ handler.postDelayed(r, 1000);
+
}
}
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/ghmobilemoney/GhMobileMoneyContract.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/ghmobilemoney/GhMobileMoneyContract.java
index 4fcc967e..f8cc846e 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/ghmobilemoney/GhMobileMoneyContract.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/ghmobilemoney/GhMobileMoneyContract.java
@@ -15,26 +15,42 @@ public interface GhMobileMoneyContract {
interface View {
void showToast(String message);
+
void showFetchFeeFailed(String s);
+
void onPaymentError(String message);
+
void showPollingIndicator(boolean active);
+
void showProgressIndicator(boolean active);
+
void onAmountValidationSuccessful(String valueOf);
+
void displayFee(String charge_amount, Payload payload);
+
void onPaymentFailed(String message, String responseAsJSONString);
+
void showFieldError(int viewID, String message, Class> viewtype);
+
void onValidationSuccessful(HashMap dataHashMap);
+
void onPollingRoundComplete(String flwRef, String txRef, String publicKey);
+
void onPaymentSuccessful(String status, String flwRef, String responseAsString);
}
interface UserActionsListener {
void fetchFee(Payload payload);
+
void init(RavePayInitializer ravePayInitializer);
+
void onDataCollected(HashMap dataHashMap);
+
void requeryTx(String flwRef, String txRef, String publicKey);
+
void chargeGhMobileMoney(Payload payload, String encryptionKey);
+
void processTransaction(HashMap dataHashMap, RavePayInitializer ravePayInitializer);
void onAttachView(View view);
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/ghmobilemoney/GhMobileMoneyFragment.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/ghmobilemoney/GhMobileMoneyFragment.java
index bb0df24c..d6c21965 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/ghmobilemoney/GhMobileMoneyFragment.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/ghmobilemoney/GhMobileMoneyFragment.java
@@ -5,6 +5,7 @@
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
+import android.os.Handler;
import android.support.design.widget.TextInputEditText;
import android.support.design.widget.TextInputLayout;
import android.support.v4.app.Fragment;
@@ -61,7 +62,7 @@ public class GhMobileMoneyFragment extends Fragment implements GhMobileMoneyCont
private TextInputLayout voucherTil;
private TextInputEditText voucherEt;
private ProgressDialog progressDialog;
- private ProgressDialog pollingProgressDialog ;
+ private ProgressDialog pollingProgressDialog;
private String network;
private String validateInstructions;
@@ -122,6 +123,7 @@ private void initializeViews() {
amountEt = v.findViewById(R.id.rave_amountEt);
phoneEt = v.findViewById(R.id.rave_phoneEt);
}
+
private void setUpNetworks() {
ArrayAdapter adapter = ArrayAdapter.createFromResource(requireActivity(),
R.array.gh_mobile_money_networks, android.R.layout.simple_spinner_item);
@@ -143,13 +145,11 @@ public void onItemSelected(AdapterView> parent, View view, int position, long
presenter.logEvent(new ListItemSelectedEvent("Network").getEvent(), ravePayInitializer.getPublicKey());
validateInstructions = getResources().getString(R.string.mtn_validate_instructions);
showInstructionsAndVoucher(false);
- }
- else if (network.equalsIgnoreCase(RaveConstants.tigo)) {
+ } else if (network.equalsIgnoreCase(RaveConstants.tigo)) {
presenter.logEvent(new ListItemSelectedEvent("Network").getEvent(), ravePayInitializer.getPublicKey());
- validateInstructions = getResources().getString(R.string.tigo_validate_instructions);
+ validateInstructions = getResources().getString(R.string.tigo_validate_instructions);
showInstructionsAndVoucher(false);
- }
- else if (network.equalsIgnoreCase(RaveConstants.vodafone)) {
+ } else if (network.equalsIgnoreCase(RaveConstants.vodafone)) {
presenter.logEvent(new ListItemSelectedEvent("Network").getEvent(), ravePayInitializer.getPublicKey());
validateInstructions = getResources().getString(R.string.checkStatus);
showInstructionsAndVoucher(true);
@@ -200,12 +200,11 @@ private void collectData() {
@Override
public void showFieldError(int viewID, String message, Class> viewType) {
- if (viewType == TextInputLayout.class){
- TextInputLayout view = v.findViewById(viewID);
+ if (viewType == TextInputLayout.class) {
+ TextInputLayout view = v.findViewById(viewID);
view.setError(message);
- }
- else if (viewType == EditText.class){
- EditText view = v.findViewById(viewID);
+ } else if (viewType == EditText.class) {
+ EditText view = v.findViewById(viewID);
view.setError(message);
}
@@ -223,8 +222,7 @@ private void showInstructionsAndVoucher(boolean show) {
presenter.logEvent(new InstructionsDisplayedEvent("Gh Momo").getEvent(), ravePayInitializer.getPublicKey());
voucherTil.setVisibility(View.VISIBLE);
instructionsTv.setVisibility(View.VISIBLE);
- }
- else {
+ } else {
voucherTil.setVisibility(View.GONE);
instructionsTv.setVisibility(View.GONE);
}
@@ -239,7 +237,7 @@ public void showProgressIndicator(boolean active) {
}
}
- if(progressDialog == null) {
+ if (progressDialog == null) {
progressDialog = new ProgressDialog(getActivity());
progressDialog.setCanceledOnTouchOutside(false);
progressDialog.setMessage(getResources().getString(R.string.wait));
@@ -247,8 +245,7 @@ public void showProgressIndicator(boolean active) {
if (active && !progressDialog.isShowing()) {
progressDialog.show();
- }
- else {
+ } else {
progressDialog.dismiss();
}
}
@@ -309,7 +306,7 @@ public void onPaymentSuccessful(String status, String flwRef, String responseAsS
@Override
public void onPaymentFailed(String message, String responseAsJSONString) {
- if (pollingProgressDialog != null && !pollingProgressDialog.isShowing()) {
+ if (pollingProgressDialog != null && pollingProgressDialog.isShowing()) {
pollingProgressDialog.dismiss();
}
Intent intent = new Intent();
@@ -357,9 +354,17 @@ public void onClick(DialogInterface dialog, int which) {
}
@Override
- public void onPollingRoundComplete(String flwRef, String txRef, String publicKey) {
+ public void onPollingRoundComplete(final String flwRef, final String txRef, final String publicKey) {
if (pollingProgressDialog != null && pollingProgressDialog.isShowing()) {
- presenter.requeryTx(flwRef, txRef, publicKey);
+
+ Handler handler = new Handler();
+ Runnable r = new Runnable() {
+ public void run() {
+ presenter.requeryTx(flwRef, txRef, publicKey);
+ }
+ };
+ handler.postDelayed(r, 1000);
+
}
}
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/ghmobilemoney/GhMobileMoneyPresenter.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/ghmobilemoney/GhMobileMoneyPresenter.java
index 14dc22b1..ca9ec110 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/ghmobilemoney/GhMobileMoneyPresenter.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/ghmobilemoney/GhMobileMoneyPresenter.java
@@ -49,9 +49,6 @@
*/
public class GhMobileMoneyPresenter implements GhMobileMoneyContract.UserActionsListener {
- private Context context;
- private GhMobileMoneyContract.View mView;
-
@Inject
EventLogger eventLogger;
@Inject
@@ -66,6 +63,8 @@ public class GhMobileMoneyPresenter implements GhMobileMoneyContract.UserActions
DeviceIdGetter deviceIdGetter;
@Inject
PayloadEncryptor payloadEncryptor;
+ private Context context;
+ private GhMobileMoneyContract.View mView;
@Inject
public GhMobileMoneyPresenter(Context context, GhMobileMoneyContract.View mView) {
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/mpesa/MpesaContract.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/mpesa/MpesaContract.java
index d84ab8cf..24956452 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/mpesa/MpesaContract.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/mpesa/MpesaContract.java
@@ -15,25 +15,41 @@ public interface MpesaContract {
interface View {
void showToast(String message);
+
void showFetchFeeFailed(String s);
+
void onPaymentError(String message);
+
void showPollingIndicator(boolean active);
+
void showProgressIndicator(boolean active);
+
void onAmountValidationSuccessful(String amountToPay);
+
void displayFee(String charge_amount, Payload payload);
+
void onPaymentFailed(String message, String responseAsJSONString);
+
void onValidationSuccessful(HashMap dataHashMap);
+
void showFieldError(int viewID, String message, Class> viewType);
+
void onPollingRoundComplete(String flwRef, String txRef, String encryptionKey);
+
void onPaymentSuccessful(String status, String flwRef, String responseAsString);
}
interface UserActionsListener {
void fetchFee(Payload payload);
+
void init(RavePayInitializer ravePayInitializer);
+
void onDataCollected(HashMap dataHashMap);
+
void chargeMpesa(Payload payload, String encryptionKey);
+
void requeryTx(String flwRef, String txRef, String publicKey);
+
void processTransaction(HashMap dataHashMap, RavePayInitializer ravePayInitializer);
void onAttachView(View view);
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/mpesa/MpesaFragment.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/mpesa/MpesaFragment.java
index ab28408d..4b409d87 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/mpesa/MpesaFragment.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/mpesa/MpesaFragment.java
@@ -5,6 +5,7 @@
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
+import android.os.Handler;
import android.support.design.widget.TextInputEditText;
import android.support.design.widget.TextInputLayout;
import android.support.v4.app.Fragment;
@@ -55,7 +56,7 @@ public class MpesaFragment extends Fragment implements MpesaContract.View, View.
private TextInputEditText phoneEt;
private TextInputEditText amountEt;
private ProgressDialog progressDialog;
- private ProgressDialog pollingProgressDialog ;
+ private ProgressDialog pollingProgressDialog;
private int rave_phoneEtInt;
private RavePayInitializer ravePayInitializer;
@@ -237,6 +238,9 @@ public void onPaymentSuccessful(String status, String flwRef, String responseAsS
@Override
public void onPaymentFailed(String message, String responseAsJSONString) {
+ if (pollingProgressDialog != null && pollingProgressDialog.isShowing()) {
+ pollingProgressDialog.dismiss();
+ }
Intent intent = new Intent();
intent.putExtra(response, responseAsJSONString);
if (getActivity() != null) {
@@ -280,10 +284,18 @@ public void onClick(DialogInterface dialog, int which) {
}
@Override
- public void onPollingRoundComplete(String flwRef, String txRef, String publicKey) {
+ public void onPollingRoundComplete(final String flwRef, final String txRef, final String publicKey) {
if (pollingProgressDialog != null && pollingProgressDialog.isShowing()) {
- presenter.requeryTx(flwRef, txRef, publicKey);
+
+ Handler handler = new Handler();
+ Runnable r = new Runnable() {
+ public void run() {
+ presenter.requeryTx(flwRef, txRef, publicKey);
+ }
+ };
+ handler.postDelayed(r, 1000);
+
}
}
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/mpesa/MpesaPresenter.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/mpesa/MpesaPresenter.java
index 2a70bb9b..007ae8a2 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/mpesa/MpesaPresenter.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/mpesa/MpesaPresenter.java
@@ -45,9 +45,6 @@
public class MpesaPresenter implements MpesaContract.UserActionsListener {
- private Context context;
- private MpesaContract.View mView;
-
@Inject
EventLogger eventLogger;
@Inject
@@ -60,6 +57,8 @@ public class MpesaPresenter implements MpesaContract.UserActionsListener {
DeviceIdGetter deviceIdGetter;
@Inject
PayloadEncryptor payloadEncryptor;
+ private Context context;
+ private MpesaContract.View mView;
@Inject
public MpesaPresenter(Context context, MpesaContract.View mView) {
@@ -84,8 +83,7 @@ public void onSuccess(FeeCheckResponse response) {
try {
mView.displayFee(response.getData().getCharge_amount(), payload);
- }
- catch (Exception e) {
+ } catch (Exception e) {
e.printStackTrace();
mView.showFetchFeeFailed(transactionError);
}
@@ -130,8 +128,7 @@ public void onSuccess(ChargeResponse response, String responseAsJSONString) {
String flwRef = response.getData().getFlwRef();
String txRef = response.getData().getTx_ref();
requeryTx(flwRef, txRef, payload.getPBFPubKey());
- }
- else {
+ } else {
mView.onPaymentError(noResponse);
}
@@ -146,7 +143,6 @@ public void onError(String message, String responseAsJSONString) {
}
-
@Override
public void requeryTx(final String flwRef, final String txRef, final String publicKey) {
@@ -163,15 +159,12 @@ public void requeryTx(final String flwRef, final String txRef, final String publ
public void onSuccess(RequeryResponse response, String responseAsJSONString) {
if (response.getData() == null) {
mView.onPaymentFailed(response.getStatus(), responseAsJSONString);
- }
- else if (response.getData().getChargeResponseCode().equals("02")){
+ } else if (response.getData().getChargeResponseCode().equals("02")) {
mView.onPollingRoundComplete(flwRef, txRef, publicKey);
- }
- else if (response.getData().getChargeResponseCode().equals("00")) {
+ } else if (response.getData().getChargeResponseCode().equals("00")) {
mView.showPollingIndicator(false);
mView.onPaymentSuccessful(flwRef, txRef, responseAsJSONString);
- }
- else {
+ } else {
mView.showProgressIndicator(false);
mView.onPaymentFailed(response.getData().getStatus(), responseAsJSONString);
}
@@ -219,7 +212,7 @@ public void onDataCollected(HashMap dataHashMap) {
@Override
public void processTransaction(HashMap dataHashMap, RavePayInitializer ravePayInitializer) {
- if (ravePayInitializer!=null) {
+ if (ravePayInitializer != null) {
ravePayInitializer.setAmount(Double.parseDouble(dataHashMap.get(fieldAmount).getData()));
@@ -261,7 +254,7 @@ public void processTransaction(HashMap dataHashMap, RavePayI
@Override
public void init(RavePayInitializer ravePayInitializer) {
- if (ravePayInitializer!=null) {
+ if (ravePayInitializer != null) {
logEvent(new ScreenLaunchEvent("MPesa Fragment").getEvent(),
ravePayInitializer.getPublicKey());
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/responses/ChargeResponse.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/responses/ChargeResponse.java
index 69774974..9d27f7d6 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/responses/ChargeResponse.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/responses/ChargeResponse.java
@@ -36,6 +36,8 @@ public void setData(Data data) {
public static class AccountValidateInstructions {
+ String instruction;
+
public String getInstruction() {
return instruction;
}
@@ -44,8 +46,6 @@ public void setInstruction(String instruction) {
this.instruction = instruction;
}
- String instruction;
-
}
public static class Data {
@@ -62,14 +62,22 @@ public static class Data {
String response_message;
String accountnumber;
String bankname;
+ String note;
+ String amount;
+ String validateInstruction;
+ String transaction_reference;
+ String payment_code;
+ AccountValidateInstructions validateInstructions;
+ String txRef;
+ String chargeResponseMessage;
+ String authurl;
+ String appFee;
+ String currency;
+ String charged_amount;
+ String redirectUrl;
private String redirect_url;
private String requery_url;
-
- public void setFlw_reference(String flw_reference) {
- this.flw_reference = flw_reference;
- }
-
public String getReference_code() {
return payment_code;
}
@@ -86,22 +94,6 @@ public void setUssdData(Data data) {
this.data = data;
}
- public void setResponse_code(String response_code) {
- this.response_code = response_code;
- }
-
- public void setResponse_message(String response_message) {
- this.response_message = response_message;
- }
-
- public void setBankname(String bankname) {
- this.bankname = bankname;
- }
-
- public void setAmount(String amount) {
- this.amount = amount;
- }
-
public String getTxRef() {
return txRef;
}
@@ -110,10 +102,6 @@ public void setTxRef(String txRef) {
this.txRef = txRef;
}
- public void setChargeResponseMessage(String chargeResponseMessage) {
- this.chargeResponseMessage = chargeResponseMessage;
- }
-
public String getCharged_amount() {
return charged_amount;
}
@@ -122,17 +110,6 @@ public void setCharged_amount(String charged_amount) {
this.charged_amount = charged_amount;
}
- public void setRedirectUrl(String redirectUrl) {
- this.redirectUrl = redirectUrl;
- }
-
-
- String note;
- String amount;
- String validateInstruction;
- String transaction_reference;
- String payment_code;
-
public Data getData() {
return data;
}
@@ -149,49 +126,78 @@ public String getTransaction_reference() {
return transaction_reference;
}
-
- public void setValidateInstruction(String validateInstruction) {
- this.validateInstruction = validateInstruction;
- }
-
public String getFlw_reference() {
return flw_reference;
}
+ public void setFlw_reference(String flw_reference) {
+ this.flw_reference = flw_reference;
+ }
+
public String getResponse_code() {
return response_code;
}
+ public void setResponse_code(String response_code) {
+ this.response_code = response_code;
+ }
+
public String getResponse_message() {
return response_message;
}
+ public void setResponse_message(String response_message) {
+ this.response_message = response_message;
+ }
+
public String getAccountnumber() {
return accountnumber;
}
+ public void setAccountnumber(String accountnumber) {
+ this.accountnumber = accountnumber;
+ }
+
public String getBankname() {
return bankname;
}
+ public void setBankname(String bankname) {
+ this.bankname = bankname;
+ }
+
public String getNote() {
return note;
}
+ public void setNote(String note) {
+ this.note = note;
+ }
+
public String getAmount() {
return amount;
}
+ public void setAmount(String amount) {
+ this.amount = amount;
+ }
+
public AccountValidateInstructions getValidateInstructions() {
return validateInstructions;
}
- AccountValidateInstructions validateInstructions;
+ public void setValidateInstructions(AccountValidateInstructions validateInstructions) {
+ this.validateInstructions = validateInstructions;
+ }
public String getValidateInstruction() {
return validateInstruction;
}
+ public void setValidateInstruction(String validateInstruction) {
+ this.validateInstruction = validateInstruction;
+ }
+
public String getTx_ref() {
return txRef;
}
@@ -200,48 +206,62 @@ public void setTx_ref(String txRef) {
this.txRef = txRef;
}
- String txRef;
- String chargeResponseMessage;
- String authurl;
- String appFee;
- String currency;
- String charged_amount;
-
public String getRedirectUrl() {
return redirectUrl;
}
- String redirectUrl;
+ public void setRedirectUrl(String redirectUrl) {
+ this.redirectUrl = redirectUrl;
+ }
public String getAuthurl() {
return authurl;
}
+ public void setAuthurl(String authurl) {
+ this.authurl = authurl;
+ }
+
public String getFlwRef() {
return flwRef;
}
- public void setValidateInstructions(AccountValidateInstructions validateInstructions) {
- this.validateInstructions = validateInstructions;
+ public void setFlwRef(String flwRef) {
+ this.flwRef = flwRef;
}
public String getChargeResponseMessage() {
return chargeResponseMessage;
}
+ public void setChargeResponseMessage(String chargeResponseMessage) {
+ this.chargeResponseMessage = chargeResponseMessage;
+ }
+
public String getAuthModelUsed() {
return authModelUsed;
}
+ public void setAuthModelUsed(String authModelUsed) {
+ this.authModelUsed = authModelUsed;
+ }
+
public String getChargeResponseCode() {
return chargeResponseCode;
}
+ public void setChargeResponseCode(String chargeResponseCode) {
+ this.chargeResponseCode = chargeResponseCode;
+ }
public String getSuggested_auth() {
return suggested_auth;
}
+ public void setSuggested_auth(String suggested_auth) {
+ this.suggested_auth = suggested_auth;
+ }
+
public String getAppFee() {
return appFee;
}
@@ -266,38 +286,10 @@ public void setChargedAmount(String charged_amount) {
this.charged_amount = charged_amount;
}
- public void setChargeResponseCode(String chargeResponseCode) {
- this.chargeResponseCode = chargeResponseCode;
- }
-
- public void setAuthModelUsed(String authModelUsed) {
- this.authModelUsed = authModelUsed;
- }
-
- public void setSuggested_auth(String suggested_auth) {
- this.suggested_auth = suggested_auth;
- }
-
- public void setAuthurl(String authurl) {
- this.authurl = authurl;
- }
-
- public void setFlwRef(String flwRef) {
- this.flwRef = flwRef;
- }
-
- public void setNote(String note) {
- this.note = note;
- }
-
public void setBankName(String bankName) {
this.bankname = bankName;
}
- public void setAccountnumber(String accountnumber) {
- this.accountnumber = accountnumber;
- }
-
public String getRedirect_url() {
return redirect_url;
}
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/responses/FeeCheckResponse.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/responses/FeeCheckResponse.java
index 219220b4..41054b4a 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/responses/FeeCheckResponse.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/responses/FeeCheckResponse.java
@@ -12,33 +12,27 @@ public class FeeCheckResponse {
private Data data;
- public String getMessage ()
- {
+ public String getMessage() {
return message;
}
- public void setMessage (String message)
- {
+ public void setMessage(String message) {
this.message = message;
}
- public String getStatus ()
- {
+ public String getStatus() {
return status;
}
- public void setStatus (String status)
- {
+ public void setStatus(String status) {
this.status = status;
}
- public Data getData ()
- {
+ public Data getData() {
return data;
}
- public void setData (Data data)
- {
+ public void setData(Data data) {
this.data = data;
}
@@ -51,43 +45,35 @@ public static class Data {
private String ravefee;
- public String getFee ()
- {
+ public String getFee() {
return fee;
}
- public void setFee (String fee)
- {
+ public void setFee(String fee) {
this.fee = fee;
}
- public String getCharge_amount ()
- {
+ public String getCharge_amount() {
return charge_amount;
}
- public void setCharge_amount (String charge_amount)
- {
+ public void setCharge_amount(String charge_amount) {
this.charge_amount = charge_amount;
}
- public String getMerchantfee ()
- {
+ public String getMerchantfee() {
return merchantfee;
}
- public void setMerchantfee (String merchantfee)
- {
+ public void setMerchantfee(String merchantfee) {
this.merchantfee = merchantfee;
}
- public String getRavefee ()
- {
+ public String getRavefee() {
return ravefee;
}
- public void setRavefee (String ravefee)
- {
+ public void setRavefee(String ravefee) {
this.ravefee = ravefee;
}
}
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/responses/MobileMoneyChargeResponse.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/responses/MobileMoneyChargeResponse.java
index 62e62b4a..07c0e0df 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/responses/MobileMoneyChargeResponse.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/responses/MobileMoneyChargeResponse.java
@@ -38,14 +38,10 @@ public static class Data {
String chargeResponseCode;
String authModelUsed;
String flwRef;
-
- public void setFlwRef(String flwRef) {
- this.flwRef = flwRef;
- }
-
- public void setAuthurl(String authurl) {
- this.authurl = authurl;
- }
+ String txRef;
+ String chargeResponseMessage;
+ String authurl;
+ String redirectUrl;
public String getTx_ref() {
return txRef;
@@ -55,28 +51,26 @@ public void setTx_ref(String txRef) {
this.txRef = txRef;
}
- String txRef;
- String chargeResponseMessage;
- String authurl;
-
public String getRedirectUrl() {
return redirectUrl;
}
- public void setChargeResponseCode(String chargeResponseCode) {
- this.chargeResponseCode = chargeResponseCode;
- }
-
- String redirectUrl;
-
public String getAuthurl() {
return authurl;
}
+ public void setAuthurl(String authurl) {
+ this.authurl = authurl;
+ }
+
public String getFlwRef() {
return flwRef;
}
+ public void setFlwRef(String flwRef) {
+ this.flwRef = flwRef;
+ }
+
public String getChargeResponseMessage() {
return chargeResponseMessage;
}
@@ -89,6 +83,9 @@ public String getChargeResponseCode() {
return chargeResponseCode;
}
+ public void setChargeResponseCode(String chargeResponseCode) {
+ this.chargeResponseCode = chargeResponseCode;
+ }
public String getSuggested_auth() {
return suggested_auth;
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/responses/RequeryResponse.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/responses/RequeryResponse.java
index 1cd05140..5534bc92 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/responses/RequeryResponse.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/responses/RequeryResponse.java
@@ -9,25 +9,26 @@
public class RequeryResponse {
String status;
+ Data data;
public Data getData() {
return data;
}
- Data data;
+ public void setData(Data data) {
+ this.data = data;
+ }
public String getStatus() {
return status;
}
-
- public void setData(Data data) {
- this.data = data;
- }
-
public static class Data {
Data data;
+ String chargeResponseCode;
+ CardDets card;
+ String status;
public Data getData() {
return data;
@@ -37,18 +38,18 @@ public void setData(Data data) {
this.data = data;
}
- String chargeResponseCode;
+ public String getChargeResponseCode() {
+ return chargeResponseCode;
+ }
- public String getChargeResponseCode() { return chargeResponseCode; }
+ public void setChargeResponseCode(String chargeResponseCode) {
+ this.chargeResponseCode = chargeResponseCode;
+ }
public CardDets getCard() {
return card;
}
- CardDets card;
-
- String status;
-
public String getStatus() {
return status;
}
@@ -56,65 +57,51 @@ public String getStatus() {
public void setStatus(String status) {
this.status = status;
}
-
- public void setChargeResponseCode(String chargeResponseCode) {
- this.chargeResponseCode = chargeResponseCode;
- }
}
- public static class Card_tokens
- {
+ public static class Card_tokens {
private String embedtoken;
private String shortcode;
- public String getEmbedtoken ()
- {
+ public String getEmbedtoken() {
return embedtoken;
}
- public String getShortcode ()
- {
+ public String getShortcode() {
return shortcode;
}
}
- public static class CardDets
- {
+ public static class CardDets {
private String cardBIN;
private List card_tokens;
private String brand;
- public String getCardBIN ()
- {
+ public String getCardBIN() {
return cardBIN;
}
- public void setCardBIN (String cardBIN)
- {
+ public void setCardBIN(String cardBIN) {
this.cardBIN = cardBIN;
}
- public List getCard_tokens ()
- {
+ public List getCard_tokens() {
return card_tokens;
}
- public void setCard_tokens (List card_tokens)
- {
+ public void setCard_tokens(List card_tokens) {
this.card_tokens = card_tokens;
}
- public String getBrand ()
- {
+ public String getBrand() {
return brand;
}
- public void setBrand (String brand)
- {
+ public void setBrand(String brand) {
this.brand = brand;
}
}
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/responses/RequeryResponsev2.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/responses/RequeryResponsev2.java
index 0ad1b147..17ef855a 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/responses/RequeryResponsev2.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/responses/RequeryResponsev2.java
@@ -6,6 +6,10 @@
public class RequeryResponsev2 {
+ String status;
+ String message;
+ Data data;
+
public String getStatus() {
return status;
}
@@ -22,10 +26,6 @@ public void setMessage(String message) {
this.message = message;
}
- String status;
- String message;
- Data data;
-
public Data getData() {
return data;
}
@@ -38,6 +38,8 @@ public static class Data {
String txref;
String flwref;
+ String chargecode;
+ String status;
public String getTxref() {
return txref;
@@ -70,8 +72,5 @@ public String getStatus() {
public void setStatus(String status) {
this.status = status;
}
-
- String chargecode;
- String status;
}
}
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/responses/SubAccount.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/responses/SubAccount.java
index 3bd5a28f..65736144 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/responses/SubAccount.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/responses/SubAccount.java
@@ -4,8 +4,8 @@
import com.google.gson.annotations.SerializedName;
public class SubAccount {
- public static final String FLAT="flat";
- public static final String PERCENTAGE="percentage";
+ public static final String FLAT = "flat";
+ public static final String PERCENTAGE = "percentage";
@SerializedName("id")
@Expose
@@ -20,17 +20,17 @@ public class SubAccount {
@Expose
private String transactionCharge;
- public SubAccount(){
+ public SubAccount() {
}
- public SubAccount(String id, String transactionSplitRatio){
+ public SubAccount(String id, String transactionSplitRatio) {
this.id = id;
this.transactionSplitRatio = transactionSplitRatio;
}
- public SubAccount(String id, String transactionSplitRatio, String transactionChargeType, String transactionCharge){
- this.id=id;
+ public SubAccount(String id, String transactionSplitRatio, String transactionChargeType, String transactionCharge) {
+ this.id = id;
this.transactionSplitRatio = transactionSplitRatio;
this.transactionChargeType = transactionChargeType;
this.transactionCharge = transactionCharge;
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/rwfmobilemoney/RwfMobileMoneyFragment.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/rwfmobilemoney/RwfMobileMoneyFragment.java
index 1758fe4e..cf537dae 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/rwfmobilemoney/RwfMobileMoneyFragment.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/rwfmobilemoney/RwfMobileMoneyFragment.java
@@ -5,6 +5,7 @@
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
+import android.os.Handler;
import android.support.design.widget.TextInputEditText;
import android.support.design.widget.TextInputLayout;
import android.support.v4.app.Fragment;
@@ -223,7 +224,7 @@ public void onPaymentSuccessful(String status, String flwRef, String responseAsS
@Override
public void onPaymentFailed(String message, String responseAsJSONString) {
- if (pollingProgressDialog != null && !pollingProgressDialog.isShowing()) {
+ if (pollingProgressDialog != null && pollingProgressDialog.isShowing()) {
pollingProgressDialog.dismiss();
}
Intent intent = new Intent();
@@ -271,9 +272,17 @@ public void onClick(DialogInterface dialog, int which) {
}
@Override
- public void onPollingRoundComplete(String flwRef, String txRef, String publicKey) {
+ public void onPollingRoundComplete(final String flwRef, final String txRef, final String publicKey) {
if (pollingProgressDialog != null && pollingProgressDialog.isShowing()) {
- presenter.requeryTx(flwRef, txRef, publicKey);
+
+ Handler handler = new Handler();
+ Runnable r = new Runnable() {
+ public void run() {
+ presenter.requeryTx(flwRef, txRef, publicKey);
+ }
+ };
+ handler.postDelayed(r, 1000);
+
}
}
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/ugmobilemoney/UgMobileMoneyContract.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/ugmobilemoney/UgMobileMoneyContract.java
index 99c02fe3..0ffb3175 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/ugmobilemoney/UgMobileMoneyContract.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/ugmobilemoney/UgMobileMoneyContract.java
@@ -15,25 +15,41 @@ public interface UgMobileMoneyContract {
interface View {
void showToast(String message);
+
void showFetchFeeFailed(String s);
+
void onPaymentError(String message);
+
void showPollingIndicator(boolean active);
+
void showProgressIndicator(boolean active);
+
void onAmountValidationSuccessful(String amountToPay);
+
void displayFee(String charge_amount, Payload payload);
+
void showFieldError(int viewID, String message, Class> viewType);
+
void onPaymentFailed(String message, String responseAsJSONString);
+
void onValidationSuccessful(HashMap dataHashMap);
+
void onPollingRoundComplete(String flwRef, String txRef, String publicKey);
+
void onPaymentSuccessful(String status, String flwRef, String responseAsString);
}
interface UserActionsListener {
void fetchFee(Payload payload);
+
void init(RavePayInitializer ravePayInitializer);
+
void onDataCollected(HashMap dataHashMap);
+
void requeryTx(String flwRef, String txRef, String publicKey);
+
void chargeUgMobileMoney(Payload payload, String encryptionKey);
+
void processTransaction(HashMap dataHashMap, RavePayInitializer ravePayInitializer);
void onAttachView(View view);
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/ugmobilemoney/UgMobileMoneyFragment.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/ugmobilemoney/UgMobileMoneyFragment.java
index 4bc49c4a..ab724a78 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/ugmobilemoney/UgMobileMoneyFragment.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/ugmobilemoney/UgMobileMoneyFragment.java
@@ -5,6 +5,7 @@
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
+import android.os.Handler;
import android.support.design.widget.TextInputEditText;
import android.support.design.widget.TextInputLayout;
import android.support.v4.app.Fragment;
@@ -42,6 +43,8 @@
*/
public class UgMobileMoneyFragment extends Fragment implements UgMobileMoneyContract.View, View.OnClickListener, View.OnFocusChangeListener {
+ @Inject
+ UgMobileMoneyPresenter presenter;
private View v;
private Button payButton;
private TextView instructionsTv;
@@ -50,12 +53,7 @@ public class UgMobileMoneyFragment extends Fragment implements UgMobileMoneyCont
private TextInputEditText phoneEt;
private TextInputEditText amountEt;
private ProgressDialog progressDialog;
- private ProgressDialog pollingProgressDialog ;
-
-
- @Inject
- UgMobileMoneyPresenter presenter;
-
+ private ProgressDialog pollingProgressDialog;
private String validateInstructions;
private RavePayInitializer ravePayInitializer;
@@ -103,12 +101,12 @@ private void setListeners() {
}
private void initializeViews() {
- instructionsTv = v.findViewById(R.id.instructionsTv);
- amountTil = v.findViewById(R.id.rave_amountTil);
+ instructionsTv = v.findViewById(R.id.instructionsTv);
+ amountTil = v.findViewById(R.id.rave_amountTil);
payButton = v.findViewById(R.id.rave_payButton);
- phoneTil = v.findViewById(R.id.rave_phoneTil);
+ phoneTil = v.findViewById(R.id.rave_phoneTil);
amountEt = v.findViewById(R.id.rave_amountEt);
- phoneEt = v.findViewById(R.id.rave_phoneEt);
+ phoneEt = v.findViewById(R.id.rave_phoneEt);
}
@Override
@@ -124,8 +122,7 @@ private void showInstructionsAndVoucher(boolean show) {
if (show) {
instructionsTv.setVisibility(View.VISIBLE);
- }
- else {
+ } else {
instructionsTv.setVisibility(View.GONE);
}
}
@@ -168,8 +165,10 @@ public void onAmountValidationSuccessful(String amountToPay) {
@Override
public void showProgressIndicator(boolean active) {
- if (getActivity().isFinishing()) { return; }
- if(progressDialog == null) {
+ if (getActivity().isFinishing()) {
+ return;
+ }
+ if (progressDialog == null) {
progressDialog = new ProgressDialog(getActivity());
progressDialog.setCanceledOnTouchOutside(false);
progressDialog.setMessage(getResources().getString(R.string.wait));
@@ -177,8 +176,7 @@ public void showProgressIndicator(boolean active) {
if (active && !progressDialog.isShowing()) {
progressDialog.show();
- }
- else {
+ } else {
progressDialog.dismiss();
}
}
@@ -238,7 +236,9 @@ public void onPaymentSuccessful(String status, String flwRef, String responseAsS
@Override
public void onPaymentFailed(String message, String responseAsJSONString) {
- if (pollingProgressDialog != null && !pollingProgressDialog.isShowing()) { pollingProgressDialog.dismiss(); }
+ if (pollingProgressDialog != null && pollingProgressDialog.isShowing()) {
+ pollingProgressDialog.dismiss();
+ }
Intent intent = new Intent();
intent.putExtra(RaveConstants.response, responseAsJSONString);
if (getActivity() != null) {
@@ -284,9 +284,16 @@ public void onClick(DialogInterface dialog, int which) {
}
@Override
- public void onPollingRoundComplete(String flwRef, String txRef, String publicKey) {
+ public void onPollingRoundComplete(final String flwRef, final String txRef, final String publicKey) {
if (pollingProgressDialog != null && pollingProgressDialog.isShowing()) {
- presenter.requeryTx(flwRef, txRef, publicKey);
+
+ Handler handler = new Handler();
+ Runnable r = new Runnable() {
+ public void run() {
+ presenter.requeryTx(flwRef, txRef, publicKey);
+ }
+ };
+ handler.postDelayed(r, 1000);
}
}
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/ugmobilemoney/UgMobileMoneyPresenter.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/ugmobilemoney/UgMobileMoneyPresenter.java
index 558d71db..13ef0f58 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/ugmobilemoney/UgMobileMoneyPresenter.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/ugmobilemoney/UgMobileMoneyPresenter.java
@@ -48,9 +48,6 @@
public class UgMobileMoneyPresenter implements UgMobileMoneyContract.UserActionsListener {
- private Context context;
- private UgMobileMoneyContract.View mView;
-
@Inject
EventLogger eventLogger;
@Inject
@@ -63,6 +60,8 @@ public class UgMobileMoneyPresenter implements UgMobileMoneyContract.UserActions
DeviceIdGetter deviceIdGetter;
@Inject
PayloadEncryptor payloadEncryptor;
+ private Context context;
+ private UgMobileMoneyContract.View mView;
@Inject
public UgMobileMoneyPresenter(Context context, UgMobileMoneyContract.View mView) {
@@ -87,8 +86,7 @@ public void onSuccess(FeeCheckResponse response) {
try {
mView.displayFee(response.getData().getCharge_amount(), payload);
- }
- catch (Exception e) {
+ } catch (Exception e) {
e.printStackTrace();
mView.showFetchFeeFailed(transactionError);
}
@@ -130,8 +128,7 @@ public void onSuccess(MobileMoneyChargeResponse response, String responseAsJSONS
String flwRef = response.getData().getFlwRef();
String txRef = response.getData().getTx_ref();
requeryTx(flwRef, txRef, payload.getPBFPubKey());
- }
- else {
+ } else {
mView.onPaymentError(noResponse);
}
@@ -161,16 +158,13 @@ public void requeryTx(final String flwRef, final String txRef, final String publ
public void onSuccess(RequeryResponse response, String responseAsJSONString) {
if (response.getData() == null) {
mView.onPaymentFailed(response.getStatus(), responseAsJSONString);
- }
- else if (response.getData().getChargeResponseCode().equals("02")){
+ } else if (response.getData().getChargeResponseCode().equals("02")) {
// Log.d("Requery response",responseAsJSONString);
mView.onPollingRoundComplete(flwRef, txRef, publicKey);
- }
- else if (response.getData().getChargeResponseCode().equals("00")) {
+ } else if (response.getData().getChargeResponseCode().equals("00")) {
mView.showPollingIndicator(false);
mView.onPaymentSuccessful(flwRef, txRef, responseAsJSONString);
- }
- else {
+ } else {
mView.showProgressIndicator(false);
mView.onPaymentFailed(response.getData().getStatus(), responseAsJSONString);
}
@@ -186,7 +180,7 @@ public void onError(String message, String responseAsJSONString) {
@Override
public void onDataCollected(HashMap dataHashMap) {
- boolean valid = true;
+ boolean valid = true;
int amountID = dataHashMap.get(fieldAmount).getViewId();
String amount = dataHashMap.get(fieldAmount).getData();
@@ -205,20 +199,20 @@ public void onDataCollected(HashMap dataHashMap) {
}
if (!isPhoneValid) {
- valid = false;
+ valid = false;
mView.showFieldError(phoneID, validPhonePrompt, phoneViewType);
}
- if (valid) {
- mView.onValidationSuccessful(dataHashMap);
- }
+ if (valid) {
+ mView.onValidationSuccessful(dataHashMap);
+ }
}
@Override
public void processTransaction(HashMap dataHashMap, RavePayInitializer ravePayInitializer) {
- if (ravePayInitializer!=null) {
+ if (ravePayInitializer != null) {
ravePayInitializer.setAmount(Double.parseDouble(dataHashMap.get(RaveConstants.fieldAmount).getData()));
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/uk/UkFragment.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/uk/UkFragment.java
index 7b23de83..8ccb28ec 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/uk/UkFragment.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/uk/UkFragment.java
@@ -6,6 +6,7 @@
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
+import android.os.Handler;
import android.support.design.widget.TextInputEditText;
import android.support.design.widget.TextInputLayout;
import android.support.v4.app.Fragment;
@@ -256,6 +257,9 @@ public void onPaymentSuccessful(String status, String flwRef, String responseAsS
@Override
public void onPaymentFailed(String message, String responseAsJSONString) {
+ if (pollingProgressDialog != null && pollingProgressDialog.isShowing()) {
+ pollingProgressDialog.dismiss();
+ }
Intent intent = new Intent();
intent.putExtra(response, responseAsJSONString);
if (getActivity() != null) {
@@ -300,10 +304,18 @@ public void onClick(DialogInterface dialog, int which) {
}
@Override
- public void onPollingRoundComplete(String flwRef, String txRef, String publicKey) {
+ public void onPollingRoundComplete(final String flwRef, final String txRef, final String publicKey) {
if (pollingProgressDialog != null && pollingProgressDialog.isShowing()) {
- presenter.requeryTx(flwRef, txRef, publicKey);
+
+ Handler handler = new Handler();
+ Runnable r = new Runnable() {
+ public void run() {
+ presenter.requeryTx(flwRef, txRef, publicKey);
+ }
+ };
+ handler.postDelayed(r, 1000);
+
}
}
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/ussd/UssdContract.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/ussd/UssdContract.java
index cbbc999c..508949e0 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/ussd/UssdContract.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/ussd/UssdContract.java
@@ -1,5 +1,3 @@
-
-
package com.flutterwave.raveandroid.ussd;
import com.flutterwave.raveandroid.Payload;
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/ussd/UssdFragment.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/ussd/UssdFragment.java
index 3827d404..77be63a2 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/ussd/UssdFragment.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/ussd/UssdFragment.java
@@ -368,6 +368,9 @@ public void onClick(DialogInterface dialog, int which) {
@Override
public void onPaymentFailed(String message, final String responseAsJSONString) {
+ if (pollingProgressDialog != null && pollingProgressDialog.isShowing()) {
+ pollingProgressDialog.dismiss();
+ }
Intent intent = new Intent();
intent.putExtra("response", responseAsJSONString);
if (getActivity() != null) {
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/ussd/UssdPresenter.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/ussd/UssdPresenter.java
index 06e5c6c2..1214d4b5 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/ussd/UssdPresenter.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/ussd/UssdPresenter.java
@@ -34,11 +34,8 @@
import static com.flutterwave.raveandroid.RaveConstants.transactionError;
public class UssdPresenter implements UssdContract.UserActionsListener {
- private Context context;
public UssdContract.View mView;
-
public boolean pollingCancelled = false;
-
@Inject
EventLogger eventLogger;
@Inject
@@ -51,6 +48,7 @@ public class UssdPresenter implements UssdContract.UserActionsListener {
DeviceIdGetter deviceIdGetter;
@Inject
NetworkRequestImpl networkRequest;
+ private Context context;
private String txRef = null, flwRef = null, publicKey = null, ussdCode = null, referenceCode = null;
private long requeryCountdownTime = 0;
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/verification/OTPFragment.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/verification/OTPFragment.java
index 4dbd6918..0457f57c 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/verification/OTPFragment.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/verification/OTPFragment.java
@@ -31,7 +31,7 @@ public class OTPFragment extends Fragment implements View.OnClickListener {
public static final String EXTRA_OTP = "extraOTP";
public static final String IS_SAVED_CARD_CHARGE = "is_saved_card_charge";
- private Boolean isSavedCardCharge = false;
+ public static final String EXTRA_CHARGE_MESSAGE = "extraChargeMessage";
TextInputEditText otpEt;
TextInputLayout otpTil;
TextView chargeMessage;
@@ -39,10 +39,9 @@ public class OTPFragment extends Fragment implements View.OnClickListener {
@Inject
EventLogger logger;
-
- public static final String EXTRA_CHARGE_MESSAGE = "extraChargeMessage";
View v;
String otp;
+ private Boolean isSavedCardCharge = false;
public OTPFragment() {
// Required empty public constructor
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/verification/PinFragment.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/verification/PinFragment.java
index 068cff03..5b9914d6 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/verification/PinFragment.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/verification/PinFragment.java
@@ -13,7 +13,6 @@
import com.flutterwave.raveandroid.R;
import com.flutterwave.raveandroid.RavePayActivity;
-
import com.flutterwave.raveandroid.data.EventLogger;
import com.flutterwave.raveandroid.data.events.Event;
import com.flutterwave.raveandroid.data.events.ScreenLaunchEvent;
@@ -29,9 +28,9 @@
*/
public class PinFragment extends Fragment {
public static final String EXTRA_PIN = "extraPin";
- private String pin;
@Inject
EventLogger logger;
+ private String pin;
public PinFragment() {
// Required empty public constructor
@@ -61,8 +60,7 @@ public void onClick(View v) {
if (pin.length() != 4) {
pinTil.setError("Enter a valid pin");
- }
- else {
+ } else {
goBack();
}
}
@@ -97,9 +95,9 @@ & getArguments().getString(PUBLIC_KEY_EXTRA) != null
}
}
- public void goBack(){
+ public void goBack() {
Intent intent = new Intent();
- intent.putExtra(EXTRA_PIN,pin);
+ intent.putExtra(EXTRA_PIN, pin);
logEvent(new SubmitEvent("PIN").getEvent());
if (getActivity() != null) {
getActivity().setResult(RavePayActivity.RESULT_SUCCESS, intent);
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/verification/VerificationActivity.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/verification/VerificationActivity.java
index ad19ee3b..abc9fb4f 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/verification/VerificationActivity.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/verification/VerificationActivity.java
@@ -20,16 +20,15 @@
import static com.flutterwave.raveandroid.RaveConstants.STAGING_URL;
public class VerificationActivity extends AppCompatActivity {
- private static final String TAG = VerificationActivity.class.getName();
public static final String ACTIVITY_MOTIVE = "activityMotive";
public static final String PUBLIC_KEY_EXTRA = "publicKey";
public static final String EXTRA_IS_STAGING = "isStaging";
public static final String INTENT_SENDER = "sender";
+ private static final String TAG = VerificationActivity.class.getName();
public static String BASE_URL;
- private Fragment fragment;
AppComponent appComponent;
-
RavePayInitializer ravePayInitializer;
+ private Fragment fragment;
@Override
protected void onCreate(Bundle savedInstanceState) {
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/verification/web/WebFragment.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/verification/web/WebFragment.java
index d01617f6..8819fe41 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/verification/web/WebFragment.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/verification/web/WebFragment.java
@@ -7,6 +7,7 @@
import android.graphics.Bitmap;
import android.os.Build;
import android.os.Bundle;
+import android.os.Handler;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
@@ -101,50 +102,6 @@ private void hideWebview() {
webView.setVisibility(View.INVISIBLE);
}
- // Manages the behavior when URLs are loaded
- private class MyBrowser extends WebViewClient {
- @SuppressWarnings("deprecation")
- @Override
- public boolean shouldOverrideUrlLoading(WebView view, String url) {
- if (url.contains(RaveConstants.RAVE_3DS_CALLBACK)) {
- hideWebview();
- }
- view.loadUrl(url);
- return true;
- }
-
- @TargetApi(Build.VERSION_CODES.N)
- @Override
- public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
-
- if (request.getUrl().toString().contains(RaveConstants.RAVE_3DS_CALLBACK)) {
- hideWebview();
- }
- view.loadUrl(request.getUrl().toString());
- return true;
- }
-
- @Override
- public void onPageStarted(WebView view, String url, Bitmap favicon) {
- super.onPageStarted(view, url, favicon);
- Log.d("started URLS", url);
- showProgressIndicator(true);
- }
-
- @Override
- public void onPageFinished(WebView view, String url) {
- super.onPageFinished(view, url);
-
-// Log.d("URLS", url);
- showProgressIndicator(false);
-
- Log.d("finished URLS", url);
- if (url.contains(RaveConstants.RAVE_3DS_CALLBACK)) {
- goBack();
- }
- }
- }
-
public void goBack() {
Intent intent = new Intent();
if (getActivity() != null) {
@@ -162,7 +119,6 @@ private void goBack(int result, String responseAsJSONString) {
}
}
-
public void showProgressIndicator(boolean active) {
try {
@@ -197,8 +153,16 @@ public void onPaymentFailed(String message, String responseAsJSONString) {
}
@Override
- public void onPollingRoundComplete(String flwRef, String publicKey) {
- presenter.requeryTx(flwRef, publicKey);
+ public void onPollingRoundComplete(final String flwRef, final String publicKey) {
+
+ Handler handler = new Handler();
+ Runnable r = new Runnable() {
+ public void run() {
+ presenter.requeryTx(flwRef, publicKey);
+ }
+ };
+ handler.postDelayed(r, 1000);
+
}
@Override
@@ -214,4 +178,48 @@ public void onDetach() {
presenter.onDetachView();
}
}
+
+ // Manages the behavior when URLs are loaded
+ private class MyBrowser extends WebViewClient {
+ @SuppressWarnings("deprecation")
+ @Override
+ public boolean shouldOverrideUrlLoading(WebView view, String url) {
+ if (url.contains(RaveConstants.RAVE_3DS_CALLBACK)) {
+ hideWebview();
+ }
+ view.loadUrl(url);
+ return true;
+ }
+
+ @TargetApi(Build.VERSION_CODES.N)
+ @Override
+ public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
+
+ if (request.getUrl().toString().contains(RaveConstants.RAVE_3DS_CALLBACK)) {
+ hideWebview();
+ }
+ view.loadUrl(request.getUrl().toString());
+ return true;
+ }
+
+ @Override
+ public void onPageStarted(WebView view, String url, Bitmap favicon) {
+ super.onPageStarted(view, url, favicon);
+ Log.d("started URLS", url);
+ showProgressIndicator(true);
+ }
+
+ @Override
+ public void onPageFinished(WebView view, String url) {
+ super.onPageFinished(view, url);
+
+// Log.d("URLS", url);
+ showProgressIndicator(false);
+
+ Log.d("finished URLS", url);
+ if (url.contains(RaveConstants.RAVE_3DS_CALLBACK)) {
+ goBack();
+ }
+ }
+ }
}
diff --git a/raveandroid/src/main/java/com/flutterwave/raveandroid/zmmobilemoney/ZmMobileMoneyFragment.java b/raveandroid/src/main/java/com/flutterwave/raveandroid/zmmobilemoney/ZmMobileMoneyFragment.java
index ff445f39..aa4564b1 100644
--- a/raveandroid/src/main/java/com/flutterwave/raveandroid/zmmobilemoney/ZmMobileMoneyFragment.java
+++ b/raveandroid/src/main/java/com/flutterwave/raveandroid/zmmobilemoney/ZmMobileMoneyFragment.java
@@ -5,6 +5,7 @@
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
+import android.os.Handler;
import android.support.design.widget.TextInputEditText;
import android.support.design.widget.TextInputLayout;
import android.support.v4.app.Fragment;
@@ -282,7 +283,7 @@ public void onPaymentSuccessful(String status, String flwRef, String responseAsS
@Override
public void onPaymentFailed(String message, String responseAsJSONString) {
- if (pollingProgressDialog != null && !pollingProgressDialog.isShowing()) {
+ if (pollingProgressDialog != null && pollingProgressDialog.isShowing()) {
pollingProgressDialog.dismiss();
}
Intent intent = new Intent();
@@ -329,9 +330,17 @@ public void onClick(DialogInterface dialog, int which) {
}
@Override
- public void onPollingRoundComplete(String flwRef, String txRef, String publicKey) {
+ public void onPollingRoundComplete(final String flwRef, final String txRef, final String publicKey) {
if (pollingProgressDialog != null && pollingProgressDialog.isShowing()) {
- presenter.requeryTx(flwRef, txRef, publicKey);
+
+ Handler handler = new Handler();
+ Runnable r = new Runnable() {
+ public void run() {
+ presenter.requeryTx(flwRef, txRef, publicKey);
+ }
+ };
+ handler.postDelayed(r, 1000);
+
}
}