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)));
 }