Example #1
0
        public VoidPaymentResponse Process(VoidPaymentRequest request)
        {
            Transaction tx = new Transaction();

            tx.TestMode = request.Test;

            tx.SetRequestParameter("VPSProtocol", "3.00");
            tx.SetRequestParameter("TxType", "VOID");

            tx.SetRequestParameter("Vendor", request.Vendor);
            tx.SetRequestParameter("VendorTxCode", request.VendorTxCode);
            tx.SetRequestParameter("VPSTxId", request.VPSTxId);
            tx.SetRequestParameter("SecurityKey", request.SecurityKey);
            tx.SetRequestParameter("TxAuthNo", request.TxAuthNo);

            tx.SendVoid();

            // Receive Response
            var response = new VoidPaymentResponse();

            response.VPSProtocol = tx.GetResponseParameter("VPSProtocol");
            response.TxType = "VOID";

            response.Status = tx.GetResponseParameter("Status");
            response.StatusDetail = tx.GetResponseParameter("StatusDetail");

            if (!String.IsNullOrEmpty(response.StatusDetail))
                response.StatusDetail = response.StatusDetail.Replace("'", "`");

            return response;
        }