// POST: api/BankSale public HttpResponseMessage Post([FromBody] SaleRequest saleRequest) { //json formatında data gelcek //formatlıcak //dbye token oluşturup kayıt atcak SaleResponse saleResponse = new SaleResponse(); SalePersistence sp = new SalePersistence(); long bankguid = 0; bankguid = sp.insertTransaction(saleRequest); //token algorihm string token_data = new Utilities().generateToken(saleRequest, bankguid.ToString()); sp.updateTransactionTokenByGuid(token_data, bankguid); saleResponse.token_data = token_data; JObject payLoad = new JObject( new JProperty("error_code", "0000000"), new JProperty("error_desc", "Basarili"), new JProperty("token_data", saleResponse.token_data), new JProperty("bank_transaction_guid", bankguid) ); return(new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(payLoad.ToString()) }); }
// POST: api/Sale public async System.Threading.Tasks.Task <JObject> PostAsync([FromBody] SaleRequest saleRequest) { // Merchant Tableti tarafından POST edilen transaction bilgilerini al. // DB'ye bekleniyor statusunde kayıt at. // BankBE'ye aynı bilgileri POST'et. SalePersistence sp = new SalePersistence(); long mrcguid = 0; mrcguid = sp.insertTransaction(saleRequest); using (HttpClient client = new HttpClient()) { //string serviceUrl = "http://192.168.1.101:50461/api/BankSale"; //string serviceUrl = "https://posnetict.yapikredi.com.tr/BankBE/api/BankSale"; string serviceUrl = "http://zehraisilyilmaz.com/BankBE/api/BankSale"; client.DefaultRequestHeaders.Clear(); var username = "******"; var password = "******"; client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(Encoding.UTF8.GetBytes($"{username}:{password}"))); JObject payLoad = new JObject( new JProperty("merchant_no", saleRequest.merchant_no), new JProperty("terminal_no", saleRequest.terminal_no), new JProperty("amount", saleRequest.amount), new JProperty("merchant_transaction_guid", mrcguid) ); var httpContent = new StringContent(payLoad.ToString(), Encoding.UTF8, "application/json"); using (HttpResponseMessage response = await client.PostAsync(serviceUrl, httpContent)) { try { response.EnsureSuccessStatusCode(); // Handle success } catch (HttpRequestException e) { // Handle failure } string responseBody = await response.Content.ReadAsStringAsync(); JObject json = JObject.Parse(responseBody); //gelen response daki bank_transaction_guid i where guid i mrcguid olanla dbde update et,tokendatayıda update et şekerim SaleResponse resp = new SaleResponse(); resp.token_data = json["token_data"].ToString(); resp.bank_transaction_guid = (long)json["bank_transaction_guid"]; sp.updateTransactionfromBank(mrcguid, resp); JObject jsonResponse = new JObject( new JProperty("token_data", resp.token_data) ); return(jsonResponse); } } }