public CreateTransactionResponseDto(IDictionary<string,string> values, IConfiguration configuration)
{
if (values.ContainsKey("trx_id"))
TransactionId = Convert.ToUInt64(values["trx_id"]);
if (values.ContainsKey("token"))
Token = values["token"];
if (values.ContainsKey("respuesta"))
WithError = values["respuesta"] != "00";
if (values.ContainsKey("monto"))
Currency = new CurrencyDto(values["monto"]);
if (values.ContainsKey("error"))
ErrorMessage = values["error"];
if (values.ContainsKey("medio_pago"))
PaymentMethod = values["medio_pago"] == "999"
? null
: (PaymentMethod?) Enum.Parse(typeof (PaymentMethod), int.Parse(values["medio_pago"]).ToString(CultureInfo.InvariantCulture));
ProcessUrl = configuration.GetProcessTransactionUrl() + "/" + Token;
}