import { Platform } from 'react-native' class requestParser { private platform = Platform.OS; private requestData:any; constructor(){ } SetRequestData(data: any) { this.requestData = data; } GetRequestData() { return this.requestData; } /* surl furl txnId */ ParseEsentials(){ if(this.platform === 'ios'){ if ( this.StringSanity(this.requestData.surl) == false ) { throw new Error("Invalid Argument 'surl' Passed"); } if ( this.StringSanity(this.requestData.furl) == false ) { throw new Error("Invalid Argument 'furl' Passed"); } if ( this.StringSanity(this.requestData.txnId) == false ) { throw new Error("Invalid Argument 'txnId' Passed"); } this.requestData.SURL = this.requestData.surl; this.requestData.FURL = this.requestData.furl; this.requestData.transactionID = this.requestData.txnId; if(this.requestData.cvv){ this.ParseCVV(); } } } ParseAmount(){ if(this.platform === 'android'){ if ( this.StringSanity(this.requestData.amount) == false ) { throw new Error("Invalid Argument 'amount' Passed"); } this.requestData.var1 = this.requestData.amount; } } ParseCVV(){ if(this.platform === 'ios'){ if ( this.StringSanity(this.requestData.cvv) == false ) { throw new Error("Invalid Argument 'cvv' Passed"); } this.requestData.CVV = this.requestData.cvv; } } ParseBinInfo(){ if(this.platform === 'android'){ if ( this.StringSanity(this.requestData.isSIInfo) == false ) { throw new Error("Invalid Argument 'isSIInfo' Passed"); } if ( this.StringSanity(this.requestData.cardNumber) == false ) { throw new Error("Invalid Argument 'CardNumber' Passed"); } this.requestData.var1 = this.requestData.isSIInfo; this.requestData.var2 = this.requestData.cardNumber; } } ParseHash(){ if(this.platform === 'android'){ if ( this.StringSanity(this.requestData.hash) == false ) { throw new Error("Invalid Argument 'hash' Passed"); } this.requestData.var1 = this.requestData.userCredentials; } } ParseStartAndEndTime(){ if(this.platform === 'android'){ if ( this.StringSanity(this.requestData.startTime) == false ) { throw new Error("Invalid Argument 'startTime' Passed"); } if ( this.StringSanity(this.requestData.endTime) == false ) { throw new Error("Invalid Argument 'endTime' Passed"); } this.requestData.var1 = this.requestData.startTime; this.requestData.var2 = this.requestData.endTime; } } ParseTransectionId(){ if(this.platform === 'android'){ if ( this.StringSanity(this.requestData.transectionId) == false ) { throw new Error("Invalid Argument 'transectionId' Passed"); } this.requestData.var1 = this.requestData.transectionId; } } ParseCardNumber(){ if(this.platform === 'android'){ if ( this.StringSanity(this.requestData.cardNumber) == false ) { throw new Error("Invalid Argument 'cardNumber' Passed"); } this.requestData.var1 = this.requestData.cardNumber; } } ParseVerifyPayment(){ if(this.platform === 'android'){ if ( this.StringSanity(this.requestData.txnId) == false ) { throw new Error("Invalid Argument 'txnId' Passed"); } this.requestData.var1 = this.requestData.txnId; } if(this.platform === 'ios'){ if ( this.StringSanity(this.requestData.txnId) == false ) { throw new Error("Invalid Argument 'txnId' Passed"); } this.requestData.transactionID = this.requestData.txnId; } } ParseOfferStatus(){ if(this.platform === 'android'){ if ( this.StringSanity(this.requestData.offerKey) == false ) { throw new Error("Invalid Argument 'offerKey' Passed"); } if ( this.StringSanity(this.requestData.amount) == false ) { throw new Error("Invalid Argument 'amount' Passed"); } this.requestData.var1 = this.requestData.offerKey; this.requestData.var2 = this.requestData.amount; this.requestData.var3 = this.requestData.paymentType; this.requestData.var4 = this.requestData.bankCode; this.requestData.var5 = this.requestData.cardNumber; } } ParseDeleteUserCard(){ if(this.platform === 'android'){ if ( this.StringSanity(this.requestData.userCredentials) == false ) { throw new Error("Invalid Argument 'userCredentials' Passed"); } if ( this.StringSanity(this.requestData.cardToken) == false ) { throw new Error("Invalid Argument 'cardToken' Passed"); } this.requestData.var1 = this.requestData.userCredentials; this.requestData.var2 = this.requestData.cardToken; } } ParseGetUserCard(){ if(this.platform === 'android'){ if ( this.StringSanity(this.requestData.userCredentials) == false ) { throw new Error("Invalid Argument 'userCredentials' Passed"); } this.requestData.var1 = this.requestData.userCredentials; } } ParseSaveUserCard(){ if(this.platform === 'android'){ if ( this.StringSanity(this.requestData.userCredentials) == false ) { throw new Error("Invalid Argument 'userCredentials' Passed"); } if ( this.StringSanity(this.requestData.cardName) == false ) { throw new Error("Invalid Argument 'cardName' Passed"); } if ( this.StringSanity(this.requestData.cardMode) == false ) { throw new Error("Invalid Argument 'cardMode' Passed"); } if ( this.StringSanity(this.requestData.cardType) == false ) { throw new Error("Invalid Argument 'cardType' Passed"); } if ( this.StringSanity(this.requestData.nameOnCard) == false ) { throw new Error("Invalid Argument 'nameOnCard' Passed"); } if ( this.StringSanity(this.requestData.cardNo) == false ) { throw new Error("Invalid Argument 'cardNo' Passed"); } if ( this.StringSanity(this.requestData.expiryMonth) == false ) { throw new Error("Invalid Argument 'expiryMonth' Passed"); } if ( this.StringSanity(this.requestData.expiryYear) == false ) { throw new Error("Invalid Argument 'expiryYear' Passed"); } this.requestData.var1 = this.requestData.userCredentials; this.requestData.var2 = this.requestData.cardName; this.requestData.var3 = this.requestData.cardMode; this.requestData.var4 = this.requestData.cardType; this.requestData.var5 = this.requestData.nameOnCard; this.requestData.var6 = this.requestData.cardNo; this.requestData.var7 = this.requestData.expiryMonth; this.requestData.var8 = this.requestData.expiryYear; } } ParseEditUserCard(){ if(this.platform === 'android'){ if ( this.StringSanity(this.requestData.userCredentials) == false ) { throw new Error("Invalid Argument 'userCredentials' Passed"); } if ( this.StringSanity(this.requestData.cardName) == false ) { throw new Error("Invalid Argument 'cardName' Passed"); } if ( this.StringSanity(this.requestData.cardMode) == false ) { throw new Error("Invalid Argument 'cardMode' Passed"); } if ( this.StringSanity(this.requestData.cardType) == false ) { throw new Error("Invalid Argument 'cardType' Passed"); } if ( this.StringSanity(this.requestData.nameOnCard) == false ) { throw new Error("Invalid Argument 'nameOnCard' Passed"); } if ( this.StringSanity(this.requestData.cardNo) == false ) { throw new Error("Invalid Argument 'cardNo' Passed"); } if ( this.StringSanity(this.requestData.expiryMonth) == false ) { throw new Error("Invalid Argument 'expiryMonth' Passed"); } if ( this.StringSanity(this.requestData.expiryYear) == false ) { throw new Error("Invalid Argument 'expiryYear' Passed"); } if ( this.StringSanity(this.requestData.cardToken) == false ) { throw new Error("Invalid Argument 'cardToken' Passed"); } this.requestData.var1 = this.requestData.userCredentials; this.requestData.var2 = this.requestData.cardToken; this.requestData.var3 = this.requestData.cardName; this.requestData.var4 = this.requestData.cardMode; this.requestData.var5 = this.requestData.cardType; this.requestData.var6 = this.requestData.nameOnCard; this.requestData.var7 = this.requestData.cardNo; this.requestData.var8 = this.requestData.expiryMonth; this.requestData.var9 = this.requestData.expiryYear; } } ParseOferParams(){ if(this.platform === 'android'){ if ( this.StringSanity(this.requestData.offerKey) == false ) { throw new Error("Invalid Argument 'offerKey' Passed"); } if ( this.StringSanity(this.requestData.amount) == false ) { throw new Error("Invalid Argument 'amount' Passed"); } this.requestData.var1 = this.requestData.offerKey; this.requestData.var2 = this.requestData.amount; } } ParseCheckoutDetails(){ if(this.platform === 'ios'){ if( this.requestData.paymentType === "NB" ){ throw new Error(" Evergreen NetBanking is not Available on IOS as of now. "); } } if(this.platform === 'android'){ if ( this.StringSanity(this.requestData.offerKey) == false ) { throw new Error("Invalid Argument 'offerKey' Passed"); } if( this.requestData.paymentType === "Credit / Debit Cards" ){ this.requestData.var1 = this.requestData.offerKey; this.requestData.var2 = "1"; this.requestData.var3 = this.requestData.cardNumber; this.requestData.var5 = this.requestData.amount; } if( this.requestData.paymentType === "Saved Cards" ){ this.requestData.var1 = this.requestData.offerKey; this.requestData.var2 = "2"; this.requestData.var3 = this.requestData.userCredentials; this.requestData.var4 = this.requestData.cardToken; this.requestData.var5 = this.requestData.amount; } if( this.requestData.paymentType === "NB" ){ this.requestData.var1 = this.requestData.offerKey; this.requestData.var2 = "3"; this.requestData.var3 = 'NB'; this.requestData.var5 = this.requestData.amount; } if( this.requestData.paymentType === "Net Banking" ){ this.requestData.var1 = this.requestData.offerKey; this.requestData.var2 = "4"; this.requestData.var3 = this.requestData.bankCode; this.requestData.var5 = this.requestData.amount; } } } StringSanity(value: string){ if(value.length < 1){ return false; } return true; } } export default new requestParser();