public static HpsCreditException GetException(long transactionId, string responseCode, string responseText, HpsCardType type = HpsCardType.Credit, AuthRspStatusType authResp = null) { if (responseCode == "00" || responseCode == "0") { return(null); } HpsExceptionCodes code; string message; switch (type) { case HpsCardType.Credit: if (responseCode == "85" || responseCode == "10") { return(null); } if (IssuerCodeToCreditExceptionCode.TryGetValue(responseCode, out code)) { CreditExceptionCodeToMessage.TryGetValue(code, out message); return(new HpsCreditException(transactionId, code, message ?? "Unknown issuer error.", responseCode, responseText, null, authResp)); } break; case HpsCardType.Gift: if (responseCode == "13") { return(null); } if (IssuerCodeToGiftExceptionCode.TryGetValue(responseCode, out code)) { CreditExceptionCodeToMessage.TryGetValue(code, out message); return(new HpsCreditException(transactionId, code, message ?? "Unknown issuer error.", responseCode, responseText)); } break; } return(new HpsCreditException(transactionId, HpsExceptionCodes.UnknownIssuerError, CreditExceptionCodeToMessage[HpsExceptionCodes.UnknownIssuerError], responseCode, responseText, null, authResp)); }
public HpsCreditException(long transactionId, HpsExceptionCodes code, string message, string issuerCode, string issuerMessage, Exception e = null, AuthRspStatusType authRsp = null) : base(message, e) { TransactionId = transactionId; Code = code; Details = new HpsCreditExceptionDetails { IssuerResponseCode = issuerCode, IssuerResponseText = issuerMessage, EMVIssuerResp = authRsp?.EMVIssuerResp }; }
public static void CheckResponse(long transactionId, string responseCode, string responseText, HpsCardType type = HpsCardType.Credit, AuthRspStatusType authRsp = null) { var e = GetException(transactionId, responseCode, responseText, type, authRsp); if (e != null) { throw e; } }