Create you view page as per your requirement. Here I'm taking from Authorize.net default payment screen
Then call the following function into your post method
private string AuthorizePayment(PaymentDataModel payDataModel) { string AuthNetVersion = "3.1"; // Contains CCV support string AuthNetLoginID = System.Configuration.ConfigurationManager.AppSettings["Payment.AuthLoginID"].ToString(); string AuthNetTransKey = System.Configuration.ConfigurationManager.AppSettings["Payment.AuthTransactionKey"].ToString(); string AuthNetMode = System.Configuration.ConfigurationManager.AppSettings["Payment.TestMode"].ToString(); WebClient objRequest = new WebClient(); System.Collections.Specialized.NameValueCollection objInf = new System.Collections.Specialized.NameValueCollection(30); System.Collections.Specialized.NameValueCollection objRetInf = new System.Collections.Specialized.NameValueCollection(30); byte[] objRetBytes; string[] objRetVals; string retMessage; objInf.Add("x_version", AuthNetVersion); objInf.Add("x_delim_data", "True"); objInf.Add("x_login", AuthNetLoginID); // objInf.Add("x_password", AuthNetPassword); objInf.Add("x_tran_key", AuthNetTransKey); objInf.Add("x_relay_response", "False"); // Switch this to False once you go live objInf.Add("x_test_request", AuthNetMode); objInf.Add("x_delim_char", ","); objInf.Add("x_encap_char", "|"); // Billing Address objInf.Add("x_first_name", payDataModel.FirstName); objInf.Add("x_last_name", payDataModel.LastName); objInf.Add("x_address", payDataModel.Address); objInf.Add("x_city", payDataModel.City); objInf.Add("x_state", payDataModel.State); objInf.Add("x_zip", payDataModel.ZIP); objInf.Add("x_country", payDataModel.Country); objInf.Add("x_email", payDataModel.Email); objInf.Add("x_fax", payDataModel.Fax); objInf.Add("x_phone", payDataModel.Phone); objInf.Add("x_description", payDataModel.Description); // Card Details objInf.Add("x_card_num", payDataModel.CardNumber); objInf.Add("x_exp_date", payDataModel.CardExpiryDate); // Authorisation code of the card (CCV) objInf.Add("x_card_code", payDataModel.CCV); objInf.Add("x_method", "CC"); objInf.Add("x_type", "AUTH_CAPTURE"); objInf.Add("x_amount", payDataModel.Amount); // Currency setting. Check the guide for other supported currencies objInf.Add("x_currency_code", "USD"); try { // Pure Test Server objRequest.BaseAddress = System.Configuration.ConfigurationManager.AppSettings["Payment.URL"].ToString().Trim(); objRetBytes = objRequest.UploadValues(objRequest.BaseAddress, "POST", objInf); objRetVals = System.Text.Encoding.ASCII.GetString(objRetBytes).Split(",".ToCharArray()); if (objRetVals[0].Trim(char.Parse("|")) == "1") { // Returned Authorisation Code ViewBag.AuthNetCode = objRetVals[4].Trim(char.Parse("|")); // Returned Transaction ID ViewBag.AuthNetTransID = objRetVals[6].Trim(char.Parse("|")); return retMessage = "1"; } else { // Error! retMessage = objRetVals[3].Trim(char.Parse("|")) + " (" + objRetVals[2].Trim(char.Parse("|")) + ")"; if (objRetVals[2].Trim(char.Parse("|")) == "44") { // CCV transaction decline retMessage += "Our Card Code Verification (CCV) returned the following error: "; switch (objRetVals[38].Trim(char.Parse("|"))) { case "N": retMessage += "Card Code does not match."; break; case "P": retMessage += "Card Code was not processed."; break; case "S": retMessage += "Card Code should be on card but was not indicated."; break; case "U": retMessage += "Issuer was not certified for Card Code."; break; } } if (objRetVals[2].Trim(char.Parse("|")) == "45") { if (retMessage.Length > 1) retMessage += "<br />n"; // AVS transaction decline retMessage += "Our Address Verification System (AVS) returned the following error: "; switch (objRetVals[5].Trim(char.Parse("|"))) { case "A": retMessage += " the zip code entered does not match the billing address."; break; case "B": retMessage += " no information was provided for the AVS check."; break; case "E": retMessage += " a general error occurred in the AVS system."; break; case "G": retMessage += " the credit card was issued by a non-US bank."; break; case "N": retMessage += " neither the entered street address nor zip code matches the billing address."; break; case "P": retMessage += " AVS is not applicable for this transaction."; break; case "R": retMessage += " please retry the transaction; the AVS system was unavailable or timed out."; break; case "S": retMessage += " the AVS service is not supported by your credit card issuer."; break; case "U": retMessage += " address information is unavailable for the credit card."; break; case "W": retMessage += " the 9 digit zip code matches, but the street address does not."; break; case "Z": retMessage += " the zip code matches, but the address does not."; break; } } // strError contains the actual error ViewBag.ErrorMsg = retMessage; return retMessage; } } catch (Exception ex) { return retMessage = ex.Message; } }





