public override void Close() { tranPeach = null; base.Close(); }
private int PeachHTML(byte transactionType, Payment payment) { int ret = 10; string pURL = "https://test.oppwa.com/v1/registrations"; // string tURL = "https://test-api.tokenex.com/TransparentGatewayAPI/Detokenize"; string tURL = BureauURL; strResult = ""; payRef = ""; resultCode = "999.999.999"; resultMsg = "(999.999.999) Internal error"; try { if (payment.ProviderURL.Length > 0) // The PAYMENT provider (Peach) { pURL = payment.ProviderURL; } if (payment.TokenizerURL.Length > 0) // The TOKENIZER (TokenEx) { tURL = payment.TokenizerURL; } if (tranPeach == null) { tranPeach = new TransactionPeach(); } tURL = tURL + "/TransparentGatewayAPI/Detokenize"; Tools.LogInfo("PeachHTML/10", "URL=" + pURL + ", URL data=" + xmlSent, 221, this); ret = 20; byte[] buffer = Encoding.UTF8.GetBytes(xmlSent); HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(tURL); ret = 30; request.Method = "POST"; request.Headers["Authorization"] = "Bearer " + payment.ProviderKey; request.Headers["TX_URL"] = pURL; request.Headers["TX_TokenExID"] = payment.TokenizerID; // "4311038889209736"; request.Headers["TX_APIKey"] = payment.TokenizerKey; // "54md8h1OmLe9oJwYdp182pCxKF0MUnWzikTZSnOi"; request.ContentType = "application/x-www-form-urlencoded"; ret = 40; Stream postData = request.GetRequestStream(); ret = 50; postData.Write(buffer, 0, buffer.Length); postData.Close(); using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) { ret = 60; Stream dataStream = response.GetResponseStream(); ret = 70; StreamReader reader = new StreamReader(dataStream); ret = 80; strResult = reader.ReadToEnd(); ret = 90; // var s = new JavaScriptSerializer(); // xmlReceived = s.Deserialize<Dictionary<string, dynamic>>(reader.ReadToEnd()); reader.Close(); dataStream.Close(); ret = 100; resultCode = Tools.JSONValue(strResult, "code"); resultMsg = Tools.JSONValue(strResult, "description"); ret = 110; tranPeach.ResultCode = resultCode; if (tranPeach.Successful) { ret = 0; } else { Tools.LogInfo("PeachHTML/110", "resultCode=" + resultCode + ", resultMsg=" + resultMsg, 221, this); } } } catch (WebException ex1) { resultCode = ex1.Response.Headers["tx_code"]; resultMsg = ex1.Response.Headers["tx_message"]; Tools.DecodeWebException(ex1, ClassName + ".PeachHTML/197", xmlSent); } catch (Exception ex2) { Tools.LogInfo("PeachHTML/198", "Ret=" + ret.ToString() + ", URL=" + pURL + ", XML Sent=" + xmlSent, 255, this); Tools.LogException("PeachHTML/199", "Ret=" + ret.ToString() + ", URL=" + pURL + ", XML Sent=" + xmlSent, ex2, this); } return(ret); }