private void ProcessCreditCardRequest() { //Set variables TransactionID = context.Request["tr_id"]; SentHash = context.Request["hash"]; Amount = context.Request["amount"]; Status = context.Request["card_transact_status"]; CommandName = context.Request["udf1"]; Args = context.Request["udf2"]; string gatewayResult = context.Request["gateway_result"]; //Check IPs // --> No check available for SolidTrustPay //Check security hash CheckIncomeHash(); //Check duplicated transactions CheckIfNotDoneYet(TransactionID); //Check currency // --> No check available for SolidTrustPay //Check status CheckStatus(Status, "ACCEPTED"); //All OK, let's proceed Assembly assembly = Assembly.GetAssembly(typeof(IIpnHandler)); var type = assembly.GetType(CommandName, true, true); IIpnHandler command = Activator.CreateInstance(type) as IIpnHandler; command.HandleSolidTrustPay(Args, TransactionID, Amount); }
public override void ProcessRequest() { string strRequest = context.Request.GetFromBodyString(); //Set variables dynamic json = JObject.Parse(strRequest); Amount = json.data.invoice.amount; Currency = json.data.invoice.currency; State = json.data.invoice.state; Id = json.data.invoice.id; CustomFields = json.data.invoice.description; try { //Parse Args & CommandName var values = HashingManager.Base64Decode(CustomFields); var splitedValues = values.Split('#'); CommandName = splitedValues[0]; Args = splitedValues[1]; //Check IPs //CheckIP(); //Check security hash //CheckIncomeHash(); //Check duplicated transactions CheckIfNotDoneYet(Id); //Check if we are the merchant //CheckMerchant(LocalBitcoinsAccountDetails.Exists(WalletId)); //Check currency CheckCurrency(Currency); //Check status //CheckStatus(Status, "completed"); if (!CheckInvoice()) { return; } //All OK, let's proceed Assembly assembly = Assembly.GetAssembly(typeof(IIpnHandler)); var type = assembly.GetType(CommandName, true, true); IIpnHandler command = Activator.CreateInstance(type) as IIpnHandler; command.HandleLocalBitcoins(Args, Id, Amount); } catch (Exception ex) { ErrorLogger.Log(ex); context.Response.Write(Id + "|error"); } }
public override void ProcessRequest() { string pre1 = context.Request["pre1"]; string pre2 = context.Request["pre2"]; pre1 = HashingManager.Base64Decode(pre1); string orderId = pre1.Split('+')[0]; string statusCode = pre1.Split('+')[1]; string key = orderId + "+" + statusCode; key = HashingManager.Base64Encode(key); string md5String = HashingManager.GenerateMD5(key + PaparaAccountDetails.GetSecretKey()); //Papara transaction OK check if (md5String == pre2) { //Set variables OrderID = orderId; try { PaparaOrder Order = PaparaOrder.Get(Convert.ToInt32(OrderID)); Args = Order.Args; TransactionID = OrderID; Amount = Order.Amount.ToShortClearString(); CommandName = Order.CommandName; //Check duplicated transactions CheckIfNotDoneYet(OrderID); //All OK, let's proceed Assembly assembly = Assembly.GetAssembly(typeof(IIpnHandler)); var type = assembly.GetType(CommandName, true, true); IIpnHandler command = Activator.CreateInstance(type) as IIpnHandler; command.HandlePapara(Args, TransactionID, Amount); Order.IsPaid = true; Order.Save(); context.Response.Redirect(ButtonGenerationStrategy.SUCCESS_URL); } catch (Exception ex) { ErrorLogger.Log(ex); context.Response.Redirect(ButtonGenerationStrategy.FAILURE_URL); } } else { context.Response.Redirect(ButtonGenerationStrategy.FAILURE_URL); } }
public override void ProcessRequest() { //Set variables TransactionID = context.Request["m_operation_id"]; OrderID = context.Request["m_orderid"]; PaymentMethod = context.Request["m_operation_ps"]; SentHash = context.Request["m_sign"]; Amount = context.Request["m_amount"]; Currency = context.Request["m_curr"]; MerchantAccount = context.Request["m_shop"]; Status = context.Request["m_status"]; Args = context.Request["m_desc"]; try { //Parse Args Args = HashingManager.Base64Decode(Args); Args = Args.Substring(Args.IndexOf("**") + 2); CommandName = Args.Substring(0, Args.IndexOf("#")); Args = Args.Substring(Args.IndexOf("#") + 1); //Check IPs CheckIP("185.71.65.92,185.71.65.189,149.202.17.210"); //Check security hash CheckIncomeHash(); //Check duplicated transactions CheckIfNotDoneYet(TransactionID); //Check if we are the merchant CheckMerchant(PayeerAccountDetails.Exists(MerchantAccount)); //Check currency CheckCurrency(Currency); //Check status CheckStatus(Status, "success"); //All OK, let's proceed Assembly assembly = Assembly.GetAssembly(typeof(IIpnHandler)); var type = assembly.GetType(CommandName, true, true); IIpnHandler command = Activator.CreateInstance(type) as IIpnHandler; command.HandlePayeer(Args, TransactionID, Amount); context.Response.Write(OrderID + "|success"); } catch (Exception ex) { ErrorLogger.Log(ex); context.Response.Write(OrderID + "|error"); } }
public override void ProcessRequest() { string strRequest = context.Request.GetFromBodyString(); JObject request = JObject.Parse(strRequest); //Set variables Category = request["category"].ToString(); ProductName = request["productName"].ToString(); Value = request["value"].ToString(); Status = request["status"].ToString(); var Metadata = request["requestMetadata"]; CommandName = Metadata["command"].ToString(); Args = Metadata["args"].ToString(); Amount = Value.Split(' ')[1]; Currency = Value.Split(' ')[0]; if (Category == "MobileCheckout") { TransactionID = request["providerRefId"].ToString(); try { //Check IPs //CheckIP(); //Check duplicated transactions CheckIfNotDoneYet(TransactionID); //Check if we are the merchant CheckMerchant(MPesaAccountDetails.Exists(ProductName)); //Check currency CheckCurrency(Currency); //Check status CheckStatus(Status, "Success"); //All OK, let's proceed Assembly assembly = Assembly.GetAssembly(typeof(IIpnHandler)); var type = assembly.GetType(CommandName, true, true); IIpnHandler command = Activator.CreateInstance(type) as IIpnHandler; command.HandleMPesa(Args, TransactionID, Amount); } catch (Exception ex) { ErrorLogger.Log(ex); } } }
public override void ProcessRequest() { //Set variables TransactionID = context.Request.QueryString["ac_transfer"]; OrderID = context.Request.QueryString["ac_order_id"]; PaymentMethod = context.Request.QueryString["ac_ps"]; SentHash = context.Request.QueryString["ac_hash"]; Amount = context.Request.QueryString["ac_merchant_amount"]; Currency = context.Request.QueryString["ac_merchant_currency"]; MerchantAccount = context.Request.QueryString["ac_dest_wallet"]; Status = context.Request.QueryString["ac_transaction_status"]; Args = context.Request.QueryString["acm_args"]; CommandName = context.Request.QueryString["acm_command"]; try { //Check IPs // //Check security hash CheckIncomeHash(); //Check duplicated transactions CheckIfNotDoneYet(TransactionID); //Check if we are the merchant CheckMerchant(AdvCashAccountDetails.Exists(MerchantAccount.Replace(" ", ""))); //Check currency CheckCurrency(Currency); //Check status CheckStatus(Status, "COMPLETED"); //All OK, let's proceed Assembly assembly = Assembly.GetAssembly(typeof(IIpnHandler)); var type = assembly.GetType(CommandName, true, true); IIpnHandler command = Activator.CreateInstance(type) as IIpnHandler; command.HandleAdvCash(Args, TransactionID, Amount); context.Response.Write(OrderID + "|success"); } catch (Exception ex) { ErrorLogger.Log(ex); context.Response.Write(OrderID + "|error"); } }
public override void ProcessRequest() { if (context.Request["card_transact_status"] != null && context.Request["gateway_result"] != null) { ProcessCreditCardRequest(); } else { //Set variables TransactionID = context.Request["tr_id"]; SentHash = context.Request["hash"]; Amount = context.Request["amount"]; PayerAccount = context.Request["payerAccount"]; MerchantAccount = context.Request["merchantAccount"]; Status = context.Request["status"]; CommandName = context.Request["user1"]; Args = context.Request["user2"]; //Check IPs // --> No check available for SolidTrustPay //Check security hash CheckIncomeHash(); //Check duplicated transactions CheckIfNotDoneYet(TransactionID); //Check if we are the merchant CheckMerchant(SolidTrustPayAccountDetails.Exists(MerchantAccount)); //Check currency // --> No check available for SolidTrustPay //Check status CheckStatus(Status, "COMPLETE"); //All OK, let's proceed Assembly assembly = Assembly.GetAssembly(typeof(IIpnHandler)); var type = assembly.GetType(CommandName, true, true); IIpnHandler command = Activator.CreateInstance(type) as IIpnHandler; command.HandleSolidTrustPay(Args, TransactionID, Amount); } }
private static void ProcessPayment(HttpRequest request) { if (!PerfectMoneyAccountDetails.Exists(request["PAYEE_ACCOUNT"])) { throw new MsgException("PerfectMoney account not exists: " + request["PAYEE_ACCOUNT"]); } if (!CheckHash(request)) { throw new MsgException("Hashes are different"); } if (!CheckIfNotDoneYet(request)) { throw new MsgException("Prevention against many activities"); } string commandName = request["ITEM_COMMAND"]; Assembly assembly = Assembly.GetAssembly(typeof(IIpnHandler)); var type = assembly.GetType(commandName, true, true); IIpnHandler command = Activator.CreateInstance(type) as IIpnHandler; command.HandlePerfectMoney(request); }
public override void ProcessRequest() { HttpWebRequest req = (HttpWebRequest)WebRequest.Create("https://checkout.okpay.com/ipn-verify"); //Set values for the request back req.Method = "POST"; req.ContentType = "application/x-www-form-urlencoded"; string strRequest = context.Request.GetFromBodyString(); strRequest += "&ok_verify=true"; req.ContentLength = Encoding.UTF8.GetByteCount(strRequest); //Send the request to OKPAY and get the response string strResponse = ""; using (StreamWriter streamOut = new StreamWriter(req.GetRequestStream())) { streamOut.Write(strRequest); streamOut.Close(); using (StreamReader streamIn = new StreamReader(req.GetResponse().GetResponseStream())) { strResponse = streamIn.ReadToEnd(); streamIn.Close(); } } if (strResponse == "VERIFIED") { //Set variables TransactionID = context.Request["ok_ipn_id"]; OrderID = context.Request["ok_invoice"]; PaymentMethod = context.Request["ok_txn_payment_method"]; Amount = context.Request["ok_txn_net"]; Currency = context.Request["ok_txn_currency"]; WalletId = context.Request["ok_receiver_wallet"]; Status = context.Request["ok_txn_status"]; Args = context.Request["ok_item_1_custom_2_value"]; CommandName = context.Request["ok_item_1_custom_1_value"]; try { //Parse Args Args = HashingManager.Base64Decode(Args); //Check IPs //CheckIP(); //Check security hash //CheckIncomeHash(); //Check duplicated transactions CheckIfNotDoneYet(TransactionID); //Check if we are the merchant CheckMerchant(OKPayAccountDetails.Exists(WalletId)); //Check currency CheckCurrency(Currency); //Check status CheckStatus(Status, "completed"); //All OK, let's proceed Assembly assembly = Assembly.GetAssembly(typeof(IIpnHandler)); var type = assembly.GetType(CommandName, true, true); IIpnHandler command = Activator.CreateInstance(type) as IIpnHandler; command.HandleOKPay(Args, TransactionID, Amount); } catch (Exception ex) { ErrorLogger.Log(ex); context.Response.Write(OrderID + "|error"); } } else if (strResponse == "INVALID") { context.Response.Write(OrderID + "|invalid"); } else { context.Response.Write(OrderID + "|other"); } }
public override void ProcessRequest() { try { string secretKey = HashingManager.GenerateMD5(AppSettings.Offerwalls.UniversalHandlerPassword + "Neteller"); string documentContents; using (Stream receiveStream = context.Request.InputStream) { using (StreamReader readStream = new StreamReader(receiveStream, Encoding.UTF8)) { documentContents = readStream.ReadToEnd(); } } JObject obj = JObject.Parse(documentContents); //Parse Args Status = obj["eventType"].ToString(); SentHash = obj["key"].ToString(); TransactionID = obj["id"].ToString(); //Currency //Amount //Args? //CommandName Args = HashingManager.Base64Decode(Args); Args = Args.Substring(Args.IndexOf("**") + 2); CommandName = "Prem.PTC.Payments." + Args.Substring(0, Args.IndexOf("#")); Args = Args.Substring(Args.IndexOf("#") + 1); //Check IPs //Not available in Neteller //Check hash CheckHash(secretKey, SentHash); //Check duplicated transactions CheckIfNotDoneYet(TransactionID); //Check if we are the merchant //Not available in Neteller //Check currency CheckCurrency(Currency); //Check status CheckStatus(Status, "order_payment_succeeded"); //All OK, let's proceed Assembly assembly = Assembly.GetAssembly(typeof(IIpnHandler)); var type = assembly.GetType(CommandName, true, true); IIpnHandler command = Activator.CreateInstance(type) as IIpnHandler; command.HandleNeteller(Args, TransactionID, Amount); context.Response.Write("OK"); } catch (Exception ex) { ErrorLogger.Log(ex); context.Response.Write("Error"); } }