You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
169 lines
5.4 KiB
169 lines
5.4 KiB
using System;
|
|
using System.Text;
|
|
|
|
namespace n5coredll
|
|
{
|
|
public class VoidResult {
|
|
private static string TXN_ID = "TXN_ID";
|
|
private static string STATUS = "STATUS";
|
|
private static string PAYMENT_TYPE = "PAYMENT_TYPE";
|
|
private static string RESP_CODE = "RESP_CODE";
|
|
private static string TXN_DATE = "TXN_DATE";
|
|
private static string TXN_TIME = "TXN_TIME";
|
|
private static string HOST_REF = "HOST_REF";
|
|
private static string TC = "TC";
|
|
private static string APP = "APP";
|
|
private static string ACQUIRER = "ACQUIRER";
|
|
|
|
private string ecrRefTxnId;
|
|
private string status;
|
|
private PaymentType paymentType;
|
|
private string respCode;
|
|
private string txnDate;
|
|
private string txnTime;
|
|
private string hostRef;
|
|
private string tc;
|
|
private string app;
|
|
private string acquirer;
|
|
|
|
|
|
private void setEcrRefTxnId(string pEcrRefTxnId) {
|
|
ecrRefTxnId = pEcrRefTxnId;
|
|
}
|
|
|
|
public string EcrRefTxnId {
|
|
get { return ecrRefTxnId; }
|
|
}
|
|
|
|
public string Status {
|
|
get { return status; }
|
|
}
|
|
private void setStatus(string pStatus) {
|
|
this.status = pStatus;
|
|
}
|
|
|
|
public PaymentType PaymentType {
|
|
get { return paymentType; }
|
|
}
|
|
private void setPaymentType(PaymentType pPaymentType) {
|
|
this.paymentType = pPaymentType;
|
|
}
|
|
public string RespCode {
|
|
get { return respCode; }
|
|
}
|
|
private void setRespCode(string pRespCode) {
|
|
this.respCode = pRespCode;
|
|
}
|
|
|
|
public string TxnDate {
|
|
get { return txnDate; }
|
|
}
|
|
private void setTxnDate(string pTxnDate) {
|
|
this.txnDate = pTxnDate;
|
|
}
|
|
public string TxnTime {
|
|
get { return txnTime; }
|
|
}
|
|
private void setTxnTime(string pTxnTime) {
|
|
this.txnTime = pTxnTime;
|
|
}
|
|
public string HostRef {
|
|
get { return hostRef; }
|
|
}
|
|
private void setHostRef(string pHostRef) {
|
|
this.hostRef = pHostRef;
|
|
}
|
|
public string Tc {
|
|
get { return tc; }
|
|
}
|
|
private void setTc(string pTc) {
|
|
this.tc = pTc;
|
|
}
|
|
public string App {
|
|
get { return app; }
|
|
}
|
|
private void setApp(string pApp) {
|
|
this.app = pApp;
|
|
}
|
|
public string Acquirer {
|
|
get { return acquirer; }
|
|
}
|
|
private void setAcquirer(string pAcquirer) {
|
|
this.acquirer = pAcquirer;
|
|
}
|
|
|
|
public VoidResult() {
|
|
}
|
|
|
|
public VoidResult(string pStatus) {
|
|
this.setStatus(pStatus);
|
|
}
|
|
|
|
public static string toJsonForVoid(string txnId, string qrcValue) {
|
|
if (txnId == null || "".Equals(txnId)) {
|
|
Console.WriteLine("txnId is null ");
|
|
return null;
|
|
}
|
|
|
|
string cardVoidMsg = "{\"EVENT_NAME\":\"VOID\",\"TXN_ID\":\"" + txnId + "\",\"QRC_VALUE\":\"" + qrcValue + "\",\"PAYMENT_APP_ID\":\"CC\"}";
|
|
return cardVoidMsg;
|
|
}
|
|
|
|
public static VoidResult toVoidResultFromJsonMsg(string jsonMsg) {
|
|
if (jsonMsg == null || !jsonMsg.StartsWith("{") || !jsonMsg.EndsWith("}")) {
|
|
return null;
|
|
}
|
|
int jsonLength = jsonMsg.Length;
|
|
jsonMsg = jsonMsg.Substring(0, jsonLength - 1);
|
|
jsonMsg = jsonMsg.Substring(1, jsonLength - 2);
|
|
string[] column = jsonMsg.Split(',');
|
|
string[] valueColumn = null;
|
|
string valueColumn0 = null;
|
|
string valueColumn1 = null;
|
|
VoidResult VoidResult = new VoidResult();
|
|
|
|
for (int i = 0; i < column.Length; i++) {
|
|
valueColumn = column[i].Split(':');
|
|
valueColumn0 = valueColumn[0].Replace('"', ' ').Trim();
|
|
valueColumn1 = valueColumn[1].Replace('"', ' ').Trim();
|
|
|
|
if (VoidResult.TXN_ID.Equals(valueColumn0)) {
|
|
VoidResult.setEcrRefTxnId(valueColumn1);
|
|
}
|
|
if (VoidResult.STATUS.Equals(valueColumn0)) {
|
|
VoidResult.setStatus(valueColumn1);
|
|
}
|
|
|
|
if (VoidResult.PAYMENT_TYPE.Equals(valueColumn0)) {
|
|
VoidResult.setPaymentType(ObjectUtil.getPaymentType(valueColumn1));
|
|
}
|
|
|
|
if (VoidResult.RESP_CODE.Equals(valueColumn0)) {
|
|
VoidResult.setRespCode(valueColumn1);
|
|
}
|
|
if (VoidResult.TXN_DATE.Equals(valueColumn0)) {
|
|
VoidResult.setTxnDate(valueColumn1);
|
|
}
|
|
if (VoidResult.TXN_TIME.Equals(valueColumn0)) {
|
|
VoidResult.setTxnTime(valueColumn1);
|
|
}
|
|
|
|
if (VoidResult.HOST_REF.Equals(valueColumn0)) {
|
|
VoidResult.setHostRef(valueColumn1);
|
|
}
|
|
|
|
if (VoidResult.APP.Equals(valueColumn0)) {
|
|
VoidResult.setApp(valueColumn1);
|
|
}
|
|
if (VoidResult.TC.Equals(valueColumn0)) {
|
|
VoidResult.setTc(valueColumn1);
|
|
}
|
|
if (VoidResult.ACQUIRER.Equals(valueColumn0)) {
|
|
VoidResult.setAcquirer(valueColumn1);
|
|
}
|
|
}
|
|
|
|
return VoidResult;
|
|
}
|
|
}
|
|
}
|
|
|