/* public EzeResult takePayment(PaymentType type, double amount, PaymentOptions options) * { * EzeResult result = null; * Console.WriteLine("...Take Payment <"+type.ToString()+",amount="+amount+","+">"); * TxnInput.Types.TxnType txnType = TxnInput.Types.TxnType.CARD_PRE_AUTH; * * switch(type) * { * case PaymentType.CARD: * { * txnType = TxnInput.Types.TxnType.CARD_AUTH; * break; * } * case PaymentType.CASH: * { * txnType = TxnInput.Types.TxnType.CASH; * break; * } * case PaymentType.CHEQUE: * { * txnType = TxnInput.Types.TxnType.CHEQUE; * break; * } * default: * { * txnType = TxnInput.Types.TxnType.CARD_PRE_AUTH; * break; * } * } * * if (amount <= 0) throw new EzeException("Amount is 0 or negative"); * if (txnType == TxnInput.Types.TxnType.CHEQUE) * { * if ((null == options) || * (null == options.getChequeNo()) || (options.getChequeNo().Length == 0) || * (null == options.getBankCode()) || (options.getBankCode().Length == 0) || * (null == options.getChequeDate())) * { * throw new EzeException("Cheque details not passed for a Cheque transaction"); * } * } * * TxnInput tInput = TxnInput.CreateBuilder() * * .SetTxnType(txnType) * .SetAmount(amount) * .Build(); * * if (null != options) { * if (null != options.getOrderId()) tInput = TxnInput.CreateBuilder(tInput).SetOrderId(options.getOrderId()).Build(); * if (null != options.getReceiptType()) tInput = TxnInput.CreateBuilder(tInput).SetReceiptType(options.getReceiptType()).Build(); * if (null != options.getChequeNo()) tInput = TxnInput.CreateBuilder(tInput).SetChequeNumber(options.getChequeNo()).Build(); * if (null != options.getBankCode()) tInput = TxnInput.CreateBuilder(tInput).SetBankCode(options.getBankCode()).Build(); * if (null != options.getChequeDate()) tInput = TxnInput.CreateBuilder(tInput).SetChequeDate(options.getChequeDate().ToString()).Build(); * } * * ApiInput apiInput = ApiInput.CreateBuilder() * .SetMsgType(ApiInput.Types.MessageType.TXN) * .SetMsgData(tInput.ToByteString()).Build(); * * this.send(apiInput); * * while (true) * { * result = this.getResult(this.receive()); * * if (result.getEventName() == EventName.TAKE_PAYMENT) * { * if (result.getStatus() == Status.SUCCESS) EzeEvent("Payment Successful", new EventArgs()); * else EzeEvent("Payment Failed", new EventArgs()); * break; * } * } * * return result; * } */ public EzeResult sendReceipt(string txnId, string mobileNo, String email) { Console.Error.WriteLine("...sendReceipt <" + txnId + ">"); ForwardReceiptInput receiptInput = ForwardReceiptInput.CreateBuilder() .SetTxnId(txnId) .SetCustomerMobile(mobileNo) .SetCustomerEmail(email).Build(); ApiInput apiInput = ApiInput.CreateBuilder() .SetMsgType(ApiInput.Types.MessageType.FORWARD_RECEIPT) .SetMsgData(receiptInput.ToByteString()).Build(); this.send(apiInput); EzeResult result = null; while (true) { result = this.getResult(this.receive()); if (result.getEventName() == EventName.SEND_RECEIPT) { break; } } return(result); }
/** * Method attaches a signature (captured) from the UI to a successfully executed transaction */ public EzeResult attachSignature(string txnId, ImageType imageType, ByteString imageData, int height, int width, double tipAmount) { Console.Error.WriteLine("...attachSignature <" + txnId + ">"); SignatureInput signatureInput = SignatureInput.CreateBuilder() .SetTxnId(txnId) .SetImageType(MapImageType(imageType)) .SetImageBytes(imageData) .SetHeight(height) .SetWidth(width) .SetTipAmount(tipAmount) .Build(); ApiInput apiInput = ApiInput.CreateBuilder() .SetMsgType(ApiInput.Types.MessageType.ATTACH_SIGNATURE) .SetMsgData(signatureInput.ToByteString()).Build(); this.send(apiInput); EzeResult result = null; while (true) { result = this.getResult(this.receive()); if (result.getEventName() == EventName.ATTACH_SIGNATURE) { break; } } return(result); }
public EzeResult getTransaction(String txId) { Console.WriteLine("Fetching transaction details for " + txId); TxnDetailsInput txnInput = TxnDetailsInput.CreateBuilder().SetTxnId(txId).Build(); ApiInput input = ApiInput.CreateBuilder().SetMsgType(ApiInput.Types.MessageType.TXN_DETAILS).SetMsgData(txnInput.ToByteString()).Build(); this.send(input); EzeResult result = null; while (true) { result = this.getResult(this.receive()); if (result.getEventName() == EventName.TRANSACTION_DETAILS) { if (result.getStatus() == Status.SUCCESS) { EzeEvent("Fetching Transaction Successful", new EventArgs()); } else { EzeEvent("Fetching Transaction Details Failed", new EventArgs()); } break; } } return(result); }
private EzeResult login(LoginMode mode, string userName, string passkey) { Console.WriteLine("...Login User <" + mode + ":" + userName + ":" + passkey + ">"); LoginInput loginInput = LoginInput.CreateBuilder() .SetLoginMode(MapLoginMode(mode)) .SetUsername(userName) .SetPasskey(passkey).Build(); ApiInput apiInput = ApiInput.CreateBuilder() .SetMsgType(ApiInput.Types.MessageType.LOGIN) .SetMsgData(loginInput.ToByteString()).Build(); this.send(apiInput); EzeResult result = null; while (true) { result = this.getResult(this.receive()); if (result.getEventName() != EventName.LOGIN) { continue; } if ((result.getStatus().ToString() == com.eze.ezecli.ApiOutput.Types.ResultStatus.FAILURE.ToString())) { throw new EzeException("Login failed. " + result.ToString()); } break; } Console.WriteLine("2......" + result); return(result); }
private EzeResult logout() { Console.WriteLine("...logging out"); ApiInput apiInput = ApiInput.CreateBuilder() .SetMsgType(ApiInput.Types.MessageType.LOGOUT) .Build(); this.send(apiInput); EzeResult result = null; while (true) { result = this.getResult(this.receive()); if (result.getEventName() != EventName.LOGOUT) { continue; } if ((result.getStatus().ToString() == ApiOutput.Types.ResultStatus.FAILURE.ToString())) { Console.WriteLine("Error logout"); } else { Console.WriteLine(" logout success"); break; } } return(result); }
private EzeResult exit() { Console.WriteLine("...exiting"); ApiInput apiInput = ApiInput.CreateBuilder() .SetMsgType(ApiInput.Types.MessageType.EXIT) .Build(); this.send(apiInput); EzeResult result = null; while (true) { result = this.getResult(this.receive()); if (result.getEventName() != EventName.EXIT) { continue; } if ((result.getStatus().ToString() == ApiOutput.Types.ResultStatus.FAILURE.ToString())) { EzeEvent("Initialization succesful", new EventArgs()); return(result);; } break; } return(result); }
public EzeResult voidTransaction(String txnId) { Console.WriteLine("Void...."); VoidTxnInput voidTaxInput = VoidTxnInput.CreateBuilder().SetTxnId(txnId).Build(); ApiInput apiInput = ApiInput.CreateBuilder().SetMsgType(ApiInput.Types.MessageType.VOID_TXN).SetMsgData(voidTaxInput.ToByteString()).Build(); this.send(apiInput); EzeResult result = null; while (true) { result = this.getResult(this.receive()); if (result.getEventName() == EventName.VOID_PAYMENT) { Console.WriteLine(result); break; } } return(result); }
/// <summary> /// /// </summary> /// <returns>EzeResult - instance </returns> public EzeResult prepareDevice() { Console.WriteLine("...Preparing Device"); ApiInput apiInput = ApiInput.CreateBuilder() .SetMsgType(ApiInput.Types.MessageType.PREPARE_DEVICE) .Build(); this.send(apiInput); EzeResult result = null; while (true) { result = this.getResult(this.receive()); if (result.getEventName() == EventName.PREPARE_DEVICE) { break; } } Console.WriteLine("99: " + result); return(result); }
public EzeResult close() { if (null != API) { EzeResult result = API.logout(); if (result.getStatus() == Status.SUCCESS) { result = API.exit(); if (result.getStatus() == Status.SUCCESS) { API.destroyInstance(); result = new EzeResult(); result.setEventName(EventName.LOGOUT); result.setStatus(Status.SUCCESS); return(result); } else { EzeEvent("Exit UnSuccesful", new EventArgs()); return(result); } } else { EzeEvent("Close UnSuccesful", new EventArgs()); return(result); } } else { EzeEvent("Close UnSuccesful", new EventArgs()); EzeResult result = new EzeResult(); result.setEventName(EventName.LOGOUT); result.setStatus(Status.FAILURE); return(result); } }
public EzeResult getTransactionHistory(string startDate, string endDate) { Console.Error.WriteLine("...Transaction History < >"); TxnHistoryInput historyInput = TxnHistoryInput.CreateBuilder().SetStrtDate(startDate).SetEndDate(endDate) .Build(); ApiInput apiInput = ApiInput.CreateBuilder() .SetMsgType(ApiInput.Types.MessageType.TXN_HISTORY) .SetMsgData(historyInput.ToByteString()).Build(); this.send(apiInput); EzeResult result = null; while (true) { result = this.getResult(this.receive()); if (result.getEventName() == EventName.HISTORY_RESULT) { break; } } return(result); }
private EzeResult getResult(ApiOutput apiOutput) { EzeResult result = new EzeResult(); Result paymentResult = new Result(); paymentResult.setMessage("Ezeeeeeeeeeeeeeeeee"); if (null == apiOutput) throw new EzeException("Invalid response from EPIC. ApiOutput is null"); Console.WriteLine("1.."+apiOutput.EventType); Console.WriteLine("2. "+ MapEventName(apiOutput.EventType)); result.setEventName(MapEventName(apiOutput.EventType)); if (apiOutput.HasStatus) result.setStatus(MapStatus(apiOutput.Status)); if (apiOutput.HasMsgText) { paymentResult.setMessage(apiOutput.MsgText); result.setResult(paymentResult); } Console.WriteLine("3.."+apiOutput.MsgText); Console.WriteLine("4.." + result); if (apiOutput.HasOutData) { try { StatusInfo statusInfo = StatusInfo.ParseFrom(apiOutput.OutData); if (apiOutput.HasStatus) { if (result.getStatus() == Status.FAILURE) { Console.WriteLine("Failure"); if (null != statusInfo) { Error error = new Error(); error.setCode(statusInfo.Code); error.setMessage(statusInfo.Message); result.setError(error); } } } } catch (InvalidProtocolBufferException e) { Console.WriteLine(e.Message); } if ((apiOutput.Status == ApiOutput.Types.ResultStatus.SUCCESS) && (apiOutput.EventType.Equals(ApiOutput.Types.EventType.TXN_HISTORY_RESULT))) { try { Console.WriteLine("history parsing begins... "); TxnHistory txHistory = TxnHistory.ParseFrom(apiOutput.OutData); Console.WriteLine("Null history "+txHistory); if (null != txHistory) { Console.WriteLine(txHistory.TotalCount); // IList<Txn> list = txHistory. } else { Console.WriteLine("Null histpry"); } } catch (InvalidProtocolBufferException e) { Console.WriteLine(e.Message); } } if ((apiOutput.Status == ApiOutput.Types.ResultStatus.SUCCESS) && (apiOutput.EventType.Equals(ApiOutput.Types.EventType.TXN_RESULT) || (apiOutput.EventType.Equals(ApiOutput.Types.EventType.TXN_DETAILS_RESULT)))) { TransactionDetails tDetails = new TransactionDetails(); Card card = new Card(); Merchant merchant = new Merchant(); Customer cust = new Customer(); Receipt receipt = new Receipt(); Cheque cheque = new Cheque(); Txn txnOutput; try { txnOutput = Txn.ParseFrom(apiOutput.OutData); tDetails.setPmtType(txnOutput.TxnType.ToString()); tDetails.setStatus(txnOutput.Status); tDetails.setTxnId(txnOutput.TransactionId); tDetails.setAmount(txnOutput.Amount); tDetails.setSettlementStatus(txnOutput.SettlementStatus); tDetails.setVoidable(txnOutput.Voidable); tDetails.setAuthCode(txnOutput.AuthCode); tDetails.setCardType(txnOutput.CardBrand); tDetails.setOrderId(txnOutput.OrderId); tDetails.setTid(txnOutput.Tid); paymentResult.setTransactionDetails(tDetails); merchant.setMerchantCode(txnOutput.Mid); // merchant.setMerchantName(txnOutput.m); paymentResult.setMerchant(merchant); cust.setMobileNumber(txnOutput.CustomerMobileNumber); // cust.setemailId(txnOutput.); paymentResult.setCustomer(cust); receipt.setReceiptUrl(txnOutput.ReceiptUrl); receipt.setReceiptDate(txnOutput.Timestamp); paymentResult.setReceipt(receipt); cheque.setChequeNumber(txnOutput.ChequeNumber); cheque.setChequeDate(txnOutput.ChequeDate); cheque.setBankCode(txnOutput.BankCode); // cheque.setBankName(txnOutput.b); paymentResult.setCheque(cheque); card.setCardBrand(txnOutput.CardBrand); // card.setMaskedCardNumber(txnOutput.LastFoundDigits); paymentResult.setCard(card); } catch (InvalidProtocolBufferException e) { throw new EzeException("Error reading payment result. ex=" + e.Message); } // PaymentResult list = new List<PaymentResult>(); result.setResult(paymentResult); } } //Console.Write("ApiOutput: " + apiOutput.ToString()); if ((result.getEventName() == EventName.NOTIFICATION) && (null != EzeEvent)) { Result res = result.getResult(); Console.WriteLine("5.."+res); if (res!=null) EzeEvent(result.getResult().getMessage(), new EventArgs()); } return result; }
//// private static EzeAPI getAPI() // { // if (null == API) // { // API = new EzeAPI(); // API.initialize(); // } // return API; // } public EzeResult initialize(EzeConfig config) { if (!initialized) { Boolean init = initializeEzeCli(); if (init) { Console.WriteLine(" " + config.getLoginMode() + " " + config.getUserName() + " " + config.getAppKey()+" "+API); API.setServerType(config.getServerType()); EzeResult result = API.login(config.getLoginMode(), config.getUserName(), config.getAppKey()); Console.WriteLine(result); if (result.getStatus() == Status.SUCCESS) { Console.WriteLine("Logged in succesfully"); result = API.prepareDevice(); if (result.getStatus() == Status.SUCCESS) { EzeEvent("Initialization succesful", new EventArgs()); return result; } else { result = API.prepareDevice(); if ((result.getStatus() == Status.SUCCESS) && (EzeEvent!=null)) EzeEvent("Initialization succesful", new EventArgs()); else if (EzeEvent != null) EzeEvent("Prepare Device failed", new EventArgs()); return result; } } else { EzeEvent("Login Failed", new EventArgs()); Console.WriteLine("--------------- failed"); return result; } } else { EzeEvent("Initialization failed", new EventArgs()); EzeResult result = new EzeResult(); result.setStatus(Status.FAILURE); result.setEventName(EventName.INITIALIZATION); Error err = new Error(); err.setMessage("Initialization Failed"); result.setError(err); return result; } } else { EzeResult result = new EzeResult(); result.setStatus(Status.FAILURE); result.setEventName(EventName.INITIALIZATION); Error err = new Error(); err.setMessage("Already initialized"); result.setError(err); return result; } }
public EzeResult close() { if (null != API) { EzeResult result = API.logout(); if (result.getStatus() == Status.SUCCESS) { result = API.exit(); if (result.getStatus() == Status.SUCCESS) { API.destroyInstance(); result = new EzeResult(); result.setEventName(EventName.LOGOUT); result.setStatus(Status.SUCCESS); return result; } else { EzeEvent("Exit UnSuccesful", new EventArgs()); return result; } } else { EzeEvent("Close UnSuccesful", new EventArgs()); return result; } } else { EzeEvent("Close UnSuccesful", new EventArgs()); EzeResult result = new EzeResult(); result.setEventName(EventName.LOGOUT); result.setStatus(Status.FAILURE); return result; } }
private EzeResult getResult(ApiOutput apiOutput) { EzeResult result = new EzeResult(); if (null == apiOutput) throw new EzeException("Invalid response from EPIC. ApiOutput is null"); result.setEventName(MapEventName(apiOutput.EventType)); if (apiOutput.HasStatus) result.setStatus(MapStatus(apiOutput.Status)); if (apiOutput.HasMsgText) result.setMessage(apiOutput.MsgText); if (apiOutput.HasOutData) { try { StatusInfo statusInfo = StatusInfo.ParseFrom(apiOutput.OutData); if (null != statusInfo) { if (statusInfo.HasCode) result.setCode(statusInfo.Code); if (statusInfo.HasMessage) result.setMessage(statusInfo.Message); } } catch (InvalidProtocolBufferException e) { Console.WriteLine(e.Message); } if ((apiOutput.Status == ApiOutput.Types.ResultStatus.SUCCESS) && (apiOutput.EventType.Equals(ApiOutput.Types.EventType.TXN_RESULT))) { PaymentResult paymentResult = new PaymentResult(); Txn txnOutput; try { txnOutput = Txn.ParseFrom(apiOutput.OutData); paymentResult.setPmtType(txnOutput.TxnType.ToString()); paymentResult.setStatus(txnOutput.Status); paymentResult.setTxnId(txnOutput.TransactionId); paymentResult.setAmount(txnOutput.Amount); paymentResult.setSettlementStatus(txnOutput.SettlementStatus); paymentResult.setVoidable(txnOutput.Voidable); paymentResult.setChequeNo(txnOutput.ChequeNumber); paymentResult.setChequeDate(txnOutput.ChequeDate); paymentResult.setAuthCode(txnOutput.AuthCode); paymentResult.setCardType(txnOutput.CardBrand); paymentResult.setOrderId(txnOutput.OrderId); paymentResult.setTid(txnOutput.Tid); paymentResult.setMerchantId(txnOutput.Mid); } catch (InvalidProtocolBufferException e) { throw new EzeException("Error reading payment result. ex=" + e.Message); } result.setPaymentResult(paymentResult); } } //Console.Write("ApiOutput: " + apiOutput.ToString()); if ((result.getEventName() == EventName.NOTIFICATION) && (null != EzeEvent)) { EzeEvent(result.getMessage(), new EventArgs()); } return result; }
public EzeResult chequeTransaction(double amount, Cheque cDetails, OptionalParams options) { EzeResult result = null; Console.WriteLine("...Take Payment By Cash <" + ",amount=" + amount + "," + ">"); TxnInput.Types.TxnType txnType = TxnInput.Types.TxnType.CHEQUE; if (amount <= 0) { throw new EzeException("Amount is 0 or negative"); } TxnInput tInput = TxnInput.CreateBuilder() .SetTxnType(txnType) .SetAmount(amount) .Build(); if ((null == cDetails) || (null == cDetails.getChequeNumber()) || (cDetails.getChequeNumber().Length == 0) || (null == cDetails.getChequeDate()) || (cDetails.getChequeDate().Length == 0) || (null == cDetails.getBankName())) { throw new EzeException("Cheque details not passed for a Cheque transaction"); } if (null != cDetails.getChequeNumber()) { tInput = TxnInput.CreateBuilder(tInput).SetChequeNumber(cDetails.getChequeNumber()).Build(); } if (null != cDetails.getChequeDate()) { tInput = TxnInput.CreateBuilder(tInput).SetChequeDate(cDetails.getChequeDate()).Build(); } if (null != cDetails.getBankCode()) { tInput = TxnInput.CreateBuilder(tInput).SetBankCode(cDetails.getBankCode()).Build(); } // if (null != cDetails.getBankName()) tInput = TxnInput.CreateBuilder(tInput).SetBankName(cDetails.getBankName()).Build(); // if (null != options.getChequeDate()) tInput = TxnInput.CreateBuilder(tInput).SetChequeDate(options.getChequeDate().ToString()).Build(); if (null != options) { if (null != options.getReference()) { if (null != options.getReference().getReference1()) { tInput = TxnInput.CreateBuilder(tInput).SetOrderId(options.getReference().getReference1()).Build(); } if (null != options.getReference().getReference2()) { tInput = TxnInput.CreateBuilder(tInput).SetExternalReference2(options.getReference().getReference2()).Build(); } if (null != options.getReference().getReference3()) { tInput = TxnInput.CreateBuilder(tInput).SetExternalReference3(options.getReference().getReference3()).Build(); } } if (null != options.getCustomer()) { String mobileNumber = options.getCustomer().getMobileNumber(); String emailId = options.getCustomer().getEmailId(); if (null != mobileNumber) { tInput = TxnInput.CreateBuilder(tInput).SetCustomerMobile(mobileNumber).Build(); } if (null != emailId) { tInput = TxnInput.CreateBuilder(tInput).SetCustomerEmail(emailId).Build(); } } } ApiInput apiInput = ApiInput.CreateBuilder() .SetMsgType(ApiInput.Types.MessageType.TXN) .SetMsgData(tInput.ToByteString()).Build(); this.send(apiInput); while (true) { result = this.getResult(this.receive()); if (result.getEventName() == EventName.TAKE_PAYMENT) { if (result.getStatus() == Status.SUCCESS) { EzeEvent("Payment Successful", new EventArgs()); } else { EzeEvent("Payment Failed", new EventArgs()); } break; } } return(result); }
private EzeResult getResult(ApiOutput apiOutput) { EzeResult result = new EzeResult(); Result paymentResult = new Result(); paymentResult.setMessage("Ezeeeeeeeeeeeeeeeee"); if (null == apiOutput) { throw new EzeException("Invalid response from EPIC. ApiOutput is null"); } Console.WriteLine("1.." + apiOutput.EventType); Console.WriteLine("2. " + MapEventName(apiOutput.EventType)); result.setEventName(MapEventName(apiOutput.EventType)); if (apiOutput.HasStatus) { result.setStatus(MapStatus(apiOutput.Status)); } if (apiOutput.HasMsgText) { paymentResult.setMessage(apiOutput.MsgText); result.setResult(paymentResult); } Console.WriteLine("3.." + apiOutput.MsgText); Console.WriteLine("4.." + result); if (apiOutput.HasOutData) { try { StatusInfo statusInfo = StatusInfo.ParseFrom(apiOutput.OutData); if (apiOutput.HasStatus) { if (result.getStatus() == Status.FAILURE) { Console.WriteLine("Failure"); if (null != statusInfo) { Error error = new Error(); error.setCode(statusInfo.Code); error.setMessage(statusInfo.Message); result.setError(error); } } } } catch (InvalidProtocolBufferException e) { Console.WriteLine(e.Message); } if ((apiOutput.Status == ApiOutput.Types.ResultStatus.SUCCESS) && (apiOutput.EventType.Equals(ApiOutput.Types.EventType.TXN_HISTORY_RESULT))) { try { Console.WriteLine("history parsing begins... "); TxnHistory txHistory = TxnHistory.ParseFrom(apiOutput.OutData); Console.WriteLine("Null history " + txHistory); if (null != txHistory) { Console.WriteLine(txHistory.TotalCount); // IList<Txn> list = txHistory. } else { Console.WriteLine("Null histpry"); } } catch (InvalidProtocolBufferException e) { Console.WriteLine(e.Message); } } if ((apiOutput.Status == ApiOutput.Types.ResultStatus.SUCCESS) && (apiOutput.EventType.Equals(ApiOutput.Types.EventType.TXN_RESULT) || (apiOutput.EventType.Equals(ApiOutput.Types.EventType.TXN_DETAILS_RESULT)))) { TransactionDetails tDetails = new TransactionDetails(); Card card = new Card(); Merchant merchant = new Merchant(); Customer cust = new Customer(); Receipt receipt = new Receipt(); Cheque cheque = new Cheque(); Txn txnOutput; try { txnOutput = Txn.ParseFrom(apiOutput.OutData); tDetails.setPmtType(txnOutput.TxnType.ToString()); tDetails.setStatus(txnOutput.Status); tDetails.setTxnId(txnOutput.TransactionId); tDetails.setAmount(txnOutput.Amount); tDetails.setSettlementStatus(txnOutput.SettlementStatus); tDetails.setVoidable(txnOutput.Voidable); tDetails.setAuthCode(txnOutput.AuthCode); tDetails.setCardType(txnOutput.CardBrand); tDetails.setOrderId(txnOutput.OrderId); tDetails.setTid(txnOutput.Tid); paymentResult.setTransactionDetails(tDetails); merchant.setMerchantCode(txnOutput.Mid); // merchant.setMerchantName(txnOutput.m); paymentResult.setMerchant(merchant); cust.setMobileNumber(txnOutput.CustomerMobileNumber); // cust.setemailId(txnOutput.); paymentResult.setCustomer(cust); receipt.setReceiptUrl(txnOutput.ReceiptUrl); receipt.setReceiptDate(txnOutput.Timestamp); paymentResult.setReceipt(receipt); cheque.setChequeNumber(txnOutput.ChequeNumber); cheque.setChequeDate(txnOutput.ChequeDate); cheque.setBankCode(txnOutput.BankCode); // cheque.setBankName(txnOutput.b); paymentResult.setCheque(cheque); card.setCardBrand(txnOutput.CardBrand); // card.setMaskedCardNumber(txnOutput.LastFoundDigits); paymentResult.setCard(card); } catch (InvalidProtocolBufferException e) { throw new EzeException("Error reading payment result. ex=" + e.Message); } // PaymentResult list = new List<PaymentResult>(); result.setResult(paymentResult); } } //Console.Write("ApiOutput: " + apiOutput.ToString()); if ((result.getEventName() == EventName.NOTIFICATION) && (null != EzeEvent)) { Result res = result.getResult(); Console.WriteLine("5.." + res); if (res != null) { EzeEvent(result.getResult().getMessage(), new EventArgs()); } } return(result); }
public EzeResult cardTransaction(double amount, PaymentMode mode, OptionalParams options) { EzeResult result = null; Console.WriteLine("...Take Payment <" + mode + ",amount=" + amount + "," + ">"); TxnInput.Types.TxnType txnType = TxnInput.Types.TxnType.CARD_AUTH; if (amount <= 0) { throw new EzeException("Amount is 0 or negative"); } TxnInput tInput = TxnInput.CreateBuilder() .SetTxnType(txnType) .SetAmount(amount) .Build(); if (null != options) { if (null != options.getReference()) { if (null != options.getReference().getReference1()) { tInput = TxnInput.CreateBuilder(tInput).SetOrderId(options.getReference().getReference1()).Build(); } if (null != options.getReference().getReference2()) { tInput = TxnInput.CreateBuilder(tInput).SetExternalReference2(options.getReference().getReference2()).Build(); } if (null != options.getReference().getReference3()) { tInput = TxnInput.CreateBuilder(tInput).SetExternalReference3(options.getReference().getReference3()).Build(); } } if (0 != options.getAmountCashback()) { tInput = TxnInput.CreateBuilder(tInput).SetAmountOther(options.getAmountCashback()).Build(); } // if (0 != options.getAamountTip()) tInput = TxnInput.CreateBuilder(tInput).Set(options.getBankCode()).Build(); if (null != options.getCustomer()) { String mobileNumber = options.getCustomer().getMobileNumber(); String emailId = options.getCustomer().getEmailId(); if (null != mobileNumber) { tInput = TxnInput.CreateBuilder(tInput).SetCustomerMobile(mobileNumber).Build(); } if (null != emailId) { tInput = TxnInput.CreateBuilder(tInput).SetCustomerEmail(emailId).Build(); } } } ApiInput apiInput = ApiInput.CreateBuilder() .SetMsgType(ApiInput.Types.MessageType.TXN) .SetMsgData(tInput.ToByteString()).Build(); this.send(apiInput); while (true) { result = this.getResult(this.receive()); if (result.getEventName() == EventName.TAKE_PAYMENT) { if (result.getStatus() == Status.SUCCESS) { EzeEvent("Payment Successful", new EventArgs()); } else { EzeEvent("Payment Failed", new EventArgs()); } break; } } return(result); }
//// private static EzeAPI getAPI() // { // if (null == API) // { // API = new EzeAPI(); // API.initialize(); // } // return API; // } public EzeResult initialize(EzeConfig config) { if (!initialized) { Boolean init = initializeEzeCli(); if (init) { Console.WriteLine(" " + config.getLoginMode() + " " + config.getUserName() + " " + config.getAppKey() + " " + API); API.setServerType(config.getServerType()); EzeResult result = API.login(config.getLoginMode(), config.getUserName(), config.getAppKey()); Console.WriteLine(result); if (result.getStatus() == Status.SUCCESS) { Console.WriteLine("Logged in succesfully"); result = API.prepareDevice(); if (result.getStatus() == Status.SUCCESS) { EzeEvent("Initialization succesful", new EventArgs()); return(result); } else { result = API.prepareDevice(); if ((result.getStatus() == Status.SUCCESS) && (EzeEvent != null)) { EzeEvent("Initialization succesful", new EventArgs()); } else if (EzeEvent != null) { EzeEvent("Prepare Device failed", new EventArgs()); } return(result); } } else { EzeEvent("Login Failed", new EventArgs()); Console.WriteLine("--------------- failed"); return(result); } } else { EzeEvent("Initialization failed", new EventArgs()); EzeResult result = new EzeResult(); result.setStatus(Status.FAILURE); result.setEventName(EventName.INITIALIZATION); Error err = new Error(); err.setMessage("Initialization Failed"); result.setError(err); return(result); } } else { EzeResult result = new EzeResult(); result.setStatus(Status.FAILURE); result.setEventName(EventName.INITIALIZATION); Error err = new Error(); err.setMessage("Already initialized"); result.setError(err); return(result); } }