private PayTabsModel ToModel(PayTabsConfig entity) { return(new PayTabsModel { Currency = entity.Currency, RefundPeriod = entity.RefundPeriod, SecretKey = entity.SecretKey, SiteUrl = entity.SiteUrl, MerchantEmail = entity.MerchantEmail }); }
public void UpdatePayTabs(int id, PayTabsConfig request) { var requestSaved = _payTabsRepository.GetById(id); _payTabsRepository.Update(request); }
public void InsertPayTabs(PayTabsConfig request) { Guard.NotNull(request, nameof(request)); _payTabsRepository.Insert(request); }
public void DeletePayTabs(PayTabsConfig request) { Guard.NotNull(request, nameof(request)); _payTabsRepository.Delete(request); }
public async Task <ActionResult> PayTabsApiRequestAsync(float amount, int id) { PayTabsApiRequestModel payTabsApiRequestModel = new PayTabsApiRequestModel(); PayTabsConfig payTabsConfig = _payTabsConfigService.GetPayTabsPagesById(id); PayTabsModel model = ToModel(payTabsConfig); payTabsApiRequestModel.merchant_email = model.MerchantEmail; payTabsApiRequestModel.secret_key = model.SecretKey; payTabsApiRequestModel.currency = model.Currency; payTabsApiRequestModel.site_url = model.SiteUrl; payTabsApiRequestModel.amount = amount; //To redirect to transection status after payment payTabsApiRequestModel.return_url = "http://*****:*****@hotmail.coom"; payTabsApiRequestModel.products_per_title = "aaa"; payTabsApiRequestModel.unit_price = "2"; payTabsApiRequestModel.quantity = "1"; payTabsApiRequestModel.other_charges = (float)1.00; payTabsApiRequestModel.discount = (float)1.0; payTabsApiRequestModel.reference_no = "Abc-5544"; payTabsApiRequestModel.ip_customer = "123.123.12.2"; payTabsApiRequestModel.ip_merchant = "11.11.22.22"; payTabsApiRequestModel.billing_address = "Flat 11 Building 222 Block 333 Road 444 Manama Bahrain"; payTabsApiRequestModel.state = "Manama"; payTabsApiRequestModel.city = "Manama"; payTabsApiRequestModel.postal_code = "12345"; payTabsApiRequestModel.country = "BHR"; payTabsApiRequestModel.shipping_first_name = "John"; payTabsApiRequestModel.shipping_last_name = "Doe"; payTabsApiRequestModel.address_shipping = "Flat abc road 123"; payTabsApiRequestModel.city_shipping = "Manama"; payTabsApiRequestModel.state_shipping = "Manama"; payTabsApiRequestModel.postal_code_shipping = "403129"; payTabsApiRequestModel.contry_shipping = "BHR"; payTabsApiRequestModel.msg_lang = "English"; payTabsApiRequestModel.cms_with_version = "Magento 0.1.9"; #endregion //object preperation code for sending request #region List <KeyValuePair <string, string> > parameters = new List <KeyValuePair <string, string> >(); parameters.Add(new KeyValuePair <string, string>("merchant_email", payTabsApiRequestModel.merchant_email)); parameters.Add(new KeyValuePair <string, string>("secret_key", payTabsApiRequestModel.secret_key)); parameters.Add(new KeyValuePair <string, string>("site_url", payTabsApiRequestModel.site_url)); parameters.Add(new KeyValuePair <string, string>("return_url", payTabsApiRequestModel.return_url)); parameters.Add(new KeyValuePair <string, string>("title", payTabsApiRequestModel.title)); parameters.Add(new KeyValuePair <string, string>("cc_first_name", payTabsApiRequestModel.cc_first_name)); parameters.Add(new KeyValuePair <string, string>("cc_last_name", payTabsApiRequestModel.cc_last_name)); parameters.Add(new KeyValuePair <string, string>("cc_phone_number", payTabsApiRequestModel.cc_phone_number)); parameters.Add(new KeyValuePair <string, string>("phone_number", payTabsApiRequestModel.phone_number)); parameters.Add(new KeyValuePair <string, string>("email", payTabsApiRequestModel.email)); parameters.Add(new KeyValuePair <string, string>("products_per_title", payTabsApiRequestModel.products_per_title)); parameters.Add(new KeyValuePair <string, string>("unit_price", payTabsApiRequestModel.unit_price)); parameters.Add(new KeyValuePair <string, string>("quantity", payTabsApiRequestModel.quantity)); parameters.Add(new KeyValuePair <string, string>("other_charges", Convert.ToString(payTabsApiRequestModel.other_charges))); parameters.Add(new KeyValuePair <string, string>("amount", Convert.ToString(payTabsApiRequestModel.amount))); parameters.Add(new KeyValuePair <string, string>("discount", Convert.ToString(payTabsApiRequestModel.discount))); parameters.Add(new KeyValuePair <string, string>("currency", payTabsApiRequestModel.currency)); parameters.Add(new KeyValuePair <string, string>("reference_no", payTabsApiRequestModel.reference_no)); parameters.Add(new KeyValuePair <string, string>("ip_customer", payTabsApiRequestModel.ip_customer)); parameters.Add(new KeyValuePair <string, string>("ip_merchant", payTabsApiRequestModel.ip_merchant)); parameters.Add(new KeyValuePair <string, string>("billing_address", payTabsApiRequestModel.billing_address)); parameters.Add(new KeyValuePair <string, string>("state", payTabsApiRequestModel.state)); parameters.Add(new KeyValuePair <string, string>("city", payTabsApiRequestModel.city)); parameters.Add(new KeyValuePair <string, string>("postal_code", payTabsApiRequestModel.postal_code)); parameters.Add(new KeyValuePair <string, string>("country", payTabsApiRequestModel.country)); parameters.Add(new KeyValuePair <string, string>("shipping_first_name", payTabsApiRequestModel.shipping_first_name)); parameters.Add(new KeyValuePair <string, string>("shipping_last_name", payTabsApiRequestModel.shipping_last_name)); parameters.Add(new KeyValuePair <string, string>("address_shipping", payTabsApiRequestModel.address_shipping)); parameters.Add(new KeyValuePair <string, string>("city_shipping", payTabsApiRequestModel.city_shipping)); parameters.Add(new KeyValuePair <string, string>("state_shipping", payTabsApiRequestModel.state_shipping)); parameters.Add(new KeyValuePair <string, string>("postal_code_shipping", payTabsApiRequestModel.postal_code_shipping)); parameters.Add(new KeyValuePair <string, string>("country_shipping", payTabsApiRequestModel.contry_shipping)); parameters.Add(new KeyValuePair <string, string>("msg_lang", payTabsApiRequestModel.msg_lang)); parameters.Add(new KeyValuePair <string, string>("cms_with_version", payTabsApiRequestModel.cms_with_version)); #endregion var client = new HttpClient(); string URI = "https://www.paytabs.com/apiv2/create_pay_page"; var requestContent = new FormUrlEncodedContent(parameters); HttpResponseMessage r = await client.PostAsync(URI, requestContent); HttpContent responseContent = r.Content; string responseString = await r.Content.ReadAsStringAsync(); PayTabPayPageResponse payTabPayPageResponse = new PayTabPayPageResponse(); payTabPayPageResponse = new JavaScriptSerializer().Deserialize <PayTabPayPageResponse>(responseString); //TempData["merchant_email"] = payTabsApiRequestModel.merchant_email; //TempData["secret_key"] = payTabsApiRequestModel.secret_key; //TempData["payment_reference"] = payTabPayPageResponse.p_id; return(Redirect(payTabPayPageResponse.payment_url)); }