public Response Submit(string address, string jsonData) { string payload; try { payload = JsonConvert.SerializeObject(new RequestPayload() { APIAction = "RETSUBMIT", EncryptedData = CipherHandler.EncryptTextWithSessionKey(jsonData, UserRequest.Keys), HAMCData = CipherHandler.Hmac(jsonData, UserRequest.Keys) }); } catch (Exception) { return(ErrorResponse("GSP141", "Error encrypting payload")); } return(Post(address, "RETSUBMIT", payload)); }
public Response File(string address, string jsonData, string version, string returnType, string signatureId, string signature = "") { string payload; var signatureType = string.IsNullOrEmpty(signature) ? "DSC" : "EVC"; try { payload = JsonConvert.SerializeObject(new RequestPayloadForFiling() { APIAction = "RETFILE", EncryptedData = CipherHandler.EncryptTextWithSessionKey(jsonData, UserRequest.Keys), Signature = signature, SignatureId = signatureId, SignatureType = signatureType, HeaderJson = DefaultHeaderJson(version, returnType) }); } catch (Exception) { return(ErrorResponse("GSP141", "Error encrypting payload")); } return(Put(address, "RETFILE", payload)); }
private Response ScanResponse(string responseString, bool decryptData = false) { var response = JsonConvert.DeserializeObject <ResponsePayload>(responseString); var responseObject = new Response { OutcomeTransaction = $"txn: {UserRequest.Header.TransactionId}" }; if (Equals(response.StatusCode, 0)) { var erroPayload = JsonConvert.DeserializeObject <ErrorResponsePayload>(responseString); responseObject.OutcomeTransaction = $"{responseObject.OutcomeTransaction} error_cd:{erroPayload.error.error_cd} message:{erroPayload.error.message}"; return(responseObject); } responseObject.Status = true; if (response.EncryptedData == null) { return(responseObject); } responseObject.Data = decryptData ? CipherHandler.DecryptResponseData(response.EncryptedData, response.ResponseKey, UserRequest.Keys) : response.EncryptedData; return(responseObject); }