コード例 #1
0
        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));
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        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);
        }