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); } }
public SolidTrustPayButtonGenerationStrategy(SolidTrustPayAccountDetails pm) { account = pm; }