public async Task <BhdPaymentButtonResponse> PayWithBhdButton(BhdPaymentButtonApiDto dto) { var client = new RestClient(_configuration["BhdService"]); var request = new RestRequest(Method.POST); request.AddHeader("Content-Type", "application/json"); request.AddJsonBody(new BhdPaymentButtonRequest { billingNumber = dto.billingNumber, transactionId = dto.transactionId, amount = dto.amount, returnedURL = dto.returnedURL, cancelledURL = dto.cancelledURL, scope = dto.scope, description = dto.description, //Las llaves no las manda el api, porque estan guardadas en tu servidor clientId = GetKeyByRestaurant(dto.restaurantType, "ClientId"), clientSecret = GetKeyByRestaurant(dto.restaurantType, "ClientSecret"), }); IRestResponse response = await client.ExecuteAsync(request); if (!response.IsSuccessful) { //Manejas tu error y devuelves un 403 con un mensaje de error } BhdPaymentButtonResponse result = JsonConvert.DeserializeObject <BhdPaymentButtonResponse>(response.Content); return(result); }
public async Task <IActionResult> PayWithBhdButton([FromBody] BhdPaymentButtonApiDto dto) { return(Ok(await _bhdPaymentButtonService.PayWithBhdButton(dto))); }