public Client(Configuration config) { Configuration = config; if (config.IsValidConfiguration) { IsInitialized = true; Transaction = new Transaction(Configuration); Vault = new Vault(Configuration); } }
internal static string DoRequest(Configuration config, string URL, string data = "") { WebRequest request = WebRequest.Create(URL); request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; Stream reqStream = request.GetRequestStream(); byte[] reqData = UTF8Encoding.UTF8.GetBytes("request=" + WebUtility.UrlEncode(data)); reqStream.Write(reqData, 0, reqData.Length); reqStream.Close(); WebResponse response = request.GetResponse(); Stream respStream = response.GetResponseStream(); StreamReader reader = new StreamReader(respStream); string result = reader.ReadToEnd(); reqStream.Dispose(); respStream.Dispose(); reader.Dispose(); return result; }
public static string GetVaultEnvelope(Configuration config, Vault.RequestType reqType, string GUID, string VaultID) { string req = String.Format( VaultRequestSkeleton, config.ApplicationID, config.LanguageID, config.MerchantID, config.MerchantKEY, reqType.ToString(), GUID, VaultID ); return GetEnvelope(config, req); }
public static TransactionResult GetTransactionResult(Configuration config, string resp) { if (IsEncrypted(UTF8Encoding.UTF8.GetBytes(resp))) { return new TransactionResult(OpenEnvelope(config, resp)); } else { return new TransactionResult(resp); } }
private static string OpenEnvelope(Configuration config, string resp) { string url = "https://www.sageexchange.com/" + config.appUrl + "/frmOpenEnvelope.aspx"; resp = XmlUtil.RemoveBOM(UTF8Encoding.UTF8.GetBytes(resp)); return Http.DoRequest(config, url, resp); }
private static string GetEnvelope(Configuration config, string req) { string url = "https://www.sageexchange.com/" + config.appUrl + "/frmEnvelope.aspx"; return Http.DoRequest(config, url, req); }
public static VaultRecord GetVaultRecord(Configuration config, string resp) { if (IsEncrypted(UTF8Encoding.UTF8.GetBytes(resp))) { return new VaultRecord(OpenEnvelope(config, resp)); } else { return new VaultRecord(resp); } }
internal Vault(Configuration configuration) { this.configuration = configuration; }
internal Transaction(Configuration configuration) { this.config = configuration; this.paymentUrl = "https://www.sageexchange.com/" + config.appUrl + "/frmPayment.aspx"; }