Encriptado del payload

Método requerido para la encriptación de los datos que seran enviados en el cuerpo de los métodos de autenticación y pago con tarjeta de débito

https://apiq.finhack.in/api/pay/enkey

POST

Content-Type: application/x-www-form-urlencoded

{
    "key": "STRING", Llave de cifrado suministrada para uso del servicio
    "data": {
        "doc_id": INTEGER, Número de cédula del tarjeta habiente.
        "full_name": "STRING", Nombre del tarjeta habiente.
        "card_number": INTEGER, Número de tarjeta de crédito.
        "expired_date": "STRING", Fecha de vencimiento (AAAA/MM).
        "monto_compra": INTEGER, Monto de la operación.
        "email": "STRING", Correo electrónico del tarjeta habiente.
        "account_type": "STRING", Tipo de cuenta (CA, CC).
        "compra_id": INTEGER, Identificador del producto o servicio.
        "ip_usuario": "STRING", IP del dispositivo que consume el servicio.
        "os_name": "Array STRING", OS del dispositivo del cliente.***
        "concepto": ["Array STRING"], Concepto de la operación.
    }
}
Autenticación para pagos con tarjeta de debito

Método requerido para solicitar el tipo de autenticación que se utilizara para la confirmación del pago con tarjeta de débito

https://apiq.finhack.in/api/pay/authTDD

POST

Content-Type: application/x-www-form-urlencoded

{
    "encriptado": "STRING", Datos del body cifrados.
    "codigo_tienda": "STRING", Código de tienda suministrado para uso del servicio.
}
Pago con tarjetas de débito

Método requerido para realizar el pago con tarjeta de débito

https://apiq.finhack.in/api/pay/authTDD

POST

Content-Type: application/x-www-form-urlencoded

{
    "encriptado": "STRING", Datos del body cifrados (paso 4A).
    "codigo_tienda": "STRING", Código de tienda suministrado para uso del servicio.
    "twofactauth": "STRING", (otp ó clavebancatelefonica ó claveinternet). *
    "pin": "STRING", (Solo para tarjetas del grupo CREDICARD). **
    "phone": INTEGER, (Solo para Mi Banco). **
    "cvv": INTEGER, Código de seguridad de la TDD.
}

* La OTP sera enviada por el Banco al télefono del titular o a su correo electrónico.

** Los campos "pin" y "phone" deberan ser enviados solo si la respuesta del método
Autenticación para pagos con tarjeta de debito lo solicita en el objeto:
"additional_data_required" (Ver ejemplos)


    var client = new RestClient("https://apiq.finhack.in/api/pay/enkey");
    client.Timeout = -1;
    var request = new RestRequest(Method.POST);
    request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
    request.AddParameter("data[doc_id]", "V001234567");
    request.AddParameter("data[full_name]", "ANDRES R BETANCOURT M");
    request.AddParameter("data[card_number]", "5018780544021000");
    request.AddParameter("data[expired_date]", "2020/11");
    request.AddParameter("data[monto_compra]", "10");
    request.AddParameter("data[email]", "[email protected]");
    request.AddParameter("data[account_type]", "CC");
    request.AddParameter("data[compra_id]", "1");
    request.AddParameter("data[ip_usuario]", "127.0.0.1");
    request.AddParameter("data[os_name]", "Windows");
    request.AddParameter("data[concepto][]", "compra");
    request.AddParameter("key", "payr3st$andbox2020");
    IRestResponse response = client.Execute(request);
    Console.WriteLine(response.Content);
                            
    {
       "message": "Datos encriptados",
       "encriptado":
       "eyJlbmNyeXB0ZWRfZGF0YSI6InRseGRTVmZQQksyRVgydlo1VzZcL0JhR09ZcUFD
       c0dLZHJIUllGb2hmK084czRFaVwvR3JDNkp5RWRUc3BCVzZSakVDbExJc0QraDIw
       eFVZWitzaVVSTXROcHRuQXl1ZjVJajhrMmN6TDNmbjRwemFxd1wvR054eUUreE83
       bTRoMnBtcE9TUERpYlFGZGp2azhnREpsWDhRYWZwNFVRR0RKT0huckhMQmRKenQy
       RzdsYXUzYUpDVERZZkdKNUtXSndMSjlTVHE0R0pQaURUaEJlZXV0cm9WWW0zS2JD
       eXJ0V3lXTGlaYVwvOHkzNnY1SW1PZ2kyWnhrQ0lMdlVYTTBiRVFrbzFqdko2WHRH
       UW1TVlBxcFBVTFN6VmZIN2xGTkhzZHV2bG9XTzhuNHFQbFpiU1FXNk9aeGphR1VG
       N2RmZVR2ZlwvSlVzVHhWZzFXNVVlVW9VaVZ5S0NqamJOdExsYmRMRDZOSUk1T2F
       sNjdLK1wvSVJ0ZHBMc1FjY3VGdHVNRnJGc1dhTkRcL0FXaVJoVGk2MnRKZklTTkpl
       TEdZQ2ZPVndjSUdjXC9ZbDVBeW9yZnNBNTc0QXNRN2dscHl4Z3VEZ0hDNjR6aDNkR
       XZMdkV2XC8xZTZYNHhlXC9INDRZYmJ5eWgxMU9QNWIwNFRyVTlMWVpEZjNKcG14dm
       IyeXVteXhNY1BcL2V3RUFSWTJzSkdzUWdcL2hOaFJoYk1cL3puRTd3N3p4V2N6Q01
       md0RGemp3R2M9IiwiaXYiOiJHMFozeG1lTFZ1dlRBTmhpeUZFSXBBPT0ifQ=="
    }
                            
    var client = new RestClient("https://apiq.finhack.in/api/pay/authTDD");
    client.Timeout = -1;
    var request = new RestRequest(Method.POST);
    request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
    request.AddParameter(
       "encriptado", "eyJlbmNyeXB0ZWRfZGF0YSI6InRseGRTVmZQQksyRVgydlo1VzZcL0J
       hR09ZcUFDc0dLZHJIUllGb2hmK084czRFaVwvR3JDNkp5RWRUc3BCVzZSakVDbExJc0Qra
       DIweFVZWitzaVVSTXROcHRuQXl1ZjVJajhrMmN6TDNmbjRwemFxd1wvR054eUUreE83bTRo
       MnBtcE9TUERpYlFGZGp2azhnREpsWDhRYWZwNFVRR0RKT0huckhMQmRKenQyRzdsYXUzYUp
       DVERZZkdKNUtXSndMSjlTVHE0R0pQaURUaEJlZXV0cm9WWW0zS2JDeXJ0V3lXTGlaYVwvOH
       kzNnY1SW1PZ2kyWnhrQ0lMdlVYTTBiRVFrbzFqdko2WHRHUW1TVlBxcFBVTFN6VmZIN2xGT
       khzZHV2bG9XTzhuNHFQbFpiU1FXNk9aeGphR1VGN2RmZVR2ZlwvSlVzVHhWZzFXNVVlVW9V
       aVZ5S0NqamJOdExsYmRMRDZOSUk1T2FsNjdLK1wvSVJ0ZHBMc1FjY3VGdHVNRnJGc1dhTkR
       cL0FXaVJoVGk2MnRKZklTTkplTEdZQ2ZPVndjSUdjXC9ZbDVBeW9yZnNBNTc0QXNRN2dscHl4Z3
       VEZ0hDNjR6aDNkRXZMdkV2XC8xZTZYNHhlXC9INDRZYmJ5eWgxMU9QNWIwNFRyVTlMWVpEZjNKc
       G14dmIyeXVteXhNY1BcL2V3RUFSWTJzSkdzUWdcL2hOaFJoYk1cL3puRTd3N3p4V2N6Q01md0RG
       emp3R2M9IiwiaXYiOiJHMFozeG1lTFZ1dlRBTmhpeUZFSXBBPT0ifQ=="
    );
    request.AddParameter("codigo_tienda", "TESTUSER");
    IRestResponse response = client.Execute(request);
    Console.WriteLine(response.Content);
                            
    {
      "message": "Verificado",
      "encriptado": "eyJlbmNyeXB0ZWRfZGF0YSI6InRseGRTVmZQQksyRVgydlo
         1VzZcL0JhR09ZcUFDc0dLZHJIUllGb2hmK084czRFaVwvR3JDNkp5RWRUc
         3BCVzZSakVDbExJc0QraDIweFVZWitzaVVSTXROcHRuQXl1ZjVJajhrMmN
         6TDNmbjRwemFxd1wvR054eUUreE83bTRoMnBtcE9TUERpYlFGZGp2azh
         nREpsWDhRYWZwNFVRR0RKT0huckhMQmRKenQyRzdsYXUzYUpDVERZZkdKN
         UtXSndMSjlTVHE0R0pQaURUaEJlZXV0cm9WWW0zS2JDeXJ0V3lXTGlaYVw
         vOHkzNnY1SW1PZ2kyWnhrQ0lMdlVYTTBiRVFrbzFqdko2WHRHUW1TVlBxc
         FBVTFN6VmZIN2xGTkhzZHV2bG9XTzhuNHFQbFpiU1FXNk9aeGphR1VGN2R
         mZVR2ZlwvSlVzVHhWZzFXNVVlVW9VaVZ5S0NqamJOdExsYmRMRDZOSUk1T
         2FsNjdLK1wvSVJ0ZHBMc1FjY3VGdHVNRnJGc1dhTkRcL0FXaVJoVGk2Mn
         RKZklTTkplTEdZQ2ZPVndjSUdjXC9ZbDVBeW9yZnNBNTc0QXNRN2dscHl4
         Z3VEZ0hDNjR6aDNkRXZMdkV2XC8xZTZYNHhlXC9INDRZYmJ5eWgxMU9QNW
         IwNFRyVTlMWVpEZjNKcG14dmIyeXVteXhNY1BcL2V3RUFSWTJzSkdzUWdc
         L2hOaFJoYk1cL3puRTd3N3p4V2N6Q01md0RGemp3R2M9IiwiaXYiOiJHMF
         ozeG1lTFZ1dlRBTmhpeUZFSXBBPT0ifQ==",
      "sigla_cliente": "TESTUSER",
      "tipo_2FA": "claveinternet",
      "additional_data_required": {
        "pin": {
            "description": "pin",
            "datatype": "string",
            "minlength": 4,
            "maxlength": 6
        },
        "twofactauth": {
            "description": "OTP ó claveinternet ó clavebancatelefonica",
            "datatype": "string",
            "minlength": 4,
            "maxlength": 6
        }
    },
      "fecha_salida": "2021-01-22",
      "hora_salida": "14:09:28",
      "intentos": 1,
      "codigo_respuesta": 2
    }
                            
    var client = new RestClient("https://apiq.finhack.in/api/pay/TDD");
    client.Timeout = -1;
    var request = new RestRequest(Method.POST);
    request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
    request.AddParameter("codigo_tienda", "TESTUSER");
    request.AddParameter("cvv", "000");
    request.AddParameter("twofactauth", "0000");
    request.AddParameter(
        "encriptado", "eyJlbmNyeXB0ZWRfZGF0YSI6InRseGRTVmZQQksyRVgydlo1VzZcL0J
        hR09ZcUFDc0dLZHJIUllGb2hmK084czRFaVwvR3JDNkp5RWRUc3BCVzZSakVDbExJc0Qra
        DIweFVZWitzaVVSTXROcHRuQXl1ZjVJajhrMmN6TDNmbjRwemFxd1wvR054eUUreE83bTR
        oMnBtcE9TUERpYlFGZGp2azhnREpsWDhRYWZwNFVRR0RKT0huckhMQmRKenQyRzdsYXUzY
        UpDVERZZkdKNUtXSndMSjlTVHE0R0pQaURUaEJlZXV0cm9WWW0zS2JDeXJ0V3lXTGlaYVw
        vOHkzNnY1SW1PZ2kyWnhrQ0lMdlVYTTBiRVFrbzFqdko2WHRHUW1TVlBxcFBVTFN6VmZIN2
        xGTkhzZHV2bG9XTzhuNHFQbFpiU1FXNk9aeGphR1VGN2RmZVR2ZlwvSlVzVHhWZzFXNVVlV
        W9VaVZ5S0NqamJOdExsYmRMRDZOSUk1T2FsNjdLK1wvSVJ0ZHBMc1FjY3VGdHVNRnJGc1dh
        TkRcL0FXaVJoVGk2MnRKZklTTkplTEdZQ2ZPVndjSUdjXC9ZbDVBeW9yZnNBNTc0QXNRN2d
        scHl4Z3VEZ0hDNjR6aDNkRXZMdkV2XC8xZTZYNHhlXC9INDRZYmJ5eWgxMU9QNWIwNFRyVT
        lMWVpEZjNKcG14dmIyeXVteXhNY1BcL2V3RUFSWTJzSkdzUWdcL2hOaFJoYk1cL3puRTd3N
        3p4V2N6Q01md0RGemp3R2M9IiwiaXYiOiJHMFozeG1lTFZ1dlRBTmhpeUZFSXBBPT0ifQ==");
    IRestResponse response = client.Execute(request);
    Console.WriteLine(response.Content);
                            
    {
       "message": "Pago Exitoso",
       "monto_recibido": "10",
       "sigla_cliente": "TESTUSER",
       "numero_confirmacion": "0082387431630",
       "numero_factura": "112021012206",
       "recibo": "eyJlbmNyeXB0ZWRfZGF0YSI6Im1HQ0xZSnRsUjltVVBoR0dodmVic
          VF6QVRLVjRGeWxrTFh0TFhGd3grSnBuTWtKeWpjYmJ5MkNvSnczYnB5c1hzYn
          BhMFpYektIYStadVhmakkzNXlQb2ZTdStIRDdZeUFFQ280Y3NqXC9VWnRLU2k
          3cjdvRmpNQ2VIWER5dkhqN2hHWjZpNlRXbXd5dXZFamtGUVFoR0E9PSIsIml2
          IjoiNUpMaHdLbWYrTGwrWUNWc0RLTFordz09In0=",
       "fecha_salida": "2021-01-22",
       "hora_salida": "14:31:51",
       "intentos": 1,
       "codigo_respuesta": 2
    }
                            
    OkHttpClient client = new OkHttpClient().newBuilder()
    .build();
    MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
    RequestBody body = RequestBody.create(
       mediaType, "data[doc_id]=V001234567&data[full_name]=
       ANDRES R BETANCOURT M&data[card_number]=
       5018780544021000&data[expired_date]=
       2020/11&data[monto_compra]=10&data[email]=
       [email protected]&data[account_type]=CORRIENTE&data[compra_id]=
       1&data[ip_usuario]=127.0.0.1&data[os_name]=
       Windows&data[concepto][]=compra&key=payr3st$andbox2020");
    Request request = new Request.Builder()
    .url("https://apiq.finhack.in/api/pay/enkey")
    .method("POST", body)
    .addHeader("Content-Type", "application/x-www-form-urlencoded")
    .build();
    Response response = client.newCall(request).execute();
                            
    {
       "message": "Datos encriptados",
       "encriptado":
       "eyJlbmNyeXB0ZWRfZGF0YSI6InRseGRTVmZQQksyRVgydlo1VzZcL0JhR09ZcUFD
       c0dLZHJIUllGb2hmK084czRFaVwvR3JDNkp5RWRUc3BCVzZSakVDbExJc0QraDIw
       eFVZWitzaVVSTXROcHRuQXl1ZjVJajhrMmN6TDNmbjRwemFxd1wvR054eUUreE83
       bTRoMnBtcE9TUERpYlFGZGp2azhnREpsWDhRYWZwNFVRR0RKT0huckhMQmRKenQy
       RzdsYXUzYUpDVERZZkdKNUtXSndMSjlTVHE0R0pQaURUaEJlZXV0cm9WWW0zS2JD
       eXJ0V3lXTGlaYVwvOHkzNnY1SW1PZ2kyWnhrQ0lMdlVYTTBiRVFrbzFqdko2WHRH
       UW1TVlBxcFBVTFN6VmZIN2xGTkhzZHV2bG9XTzhuNHFQbFpiU1FXNk9aeGphR1VG
       N2RmZVR2ZlwvSlVzVHhWZzFXNVVlVW9VaVZ5S0NqamJOdExsYmRMRDZOSUk1T2F
       sNjdLK1wvSVJ0ZHBMc1FjY3VGdHVNRnJGc1dhTkRcL0FXaVJoVGk2MnRKZklTTkpl
       TEdZQ2ZPVndjSUdjXC9ZbDVBeW9yZnNBNTc0QXNRN2dscHl4Z3VEZ0hDNjR6aDNkR
       XZMdkV2XC8xZTZYNHhlXC9INDRZYmJ5eWgxMU9QNWIwNFRyVTlMWVpEZjNKcG14dm
       IyeXVteXhNY1BcL2V3RUFSWTJzSkdzUWdcL2hOaFJoYk1cL3puRTd3N3p4V2N6Q01
       md0RGemp3R2M9IiwiaXYiOiJHMFozeG1lTFZ1dlRBTmhpeUZFSXBBPT0ifQ=="
    }
                            
    OkHttpClient client = new OkHttpClient().newBuilder()
    .build();
    MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
    RequestBody body = RequestBody.create(
       mediaType, "encriptado=eyJlbmNyeXB0ZWRfZGF0YSI6InRseGRTVmZQQksyRVgy
       dlo1VzZcL0JhR09ZcUFDc0dLZHJIUllGb2hmK084czRFaVwvR3JDNkp5RWRUc3BCVzZ
       SakVDbExJc0QraDIweFVZWitzaVVSTXROcHRuQXl1ZjVJajhrMmN6TDNmbjRwemFxd1
       wvR054eUUreE83bTRoMnBtcE9TUERpYlFGZGp2azhnREpsWDhRYWZwNFVRR0RKT0huc
       khMQmRKenQyRzdsYXUzYUpDVERZZkdKNUtXSndMSjlTVHE0R0pQaURUaEJlZXV0cm9W
       WW0zS2JDeXJ0V3lXTGlaYVwvOHkzNnY1SW1PZ2kyWnhrQ0lMdlVYTTBiRVFrbzFqdko
       2WHRHUW1TVlBxcFBVTFN6VmZIN2xGTkhzZHV2bG9XTzhuNHFQbFpiU1FXNk9aeGphR1
       VGN2RmZVR2ZlwvSlVzVHhWZzFXNVVlVW9VaVZ5S0NqamJOdExsYmRMRDZOSUk1T2FsN
       jdLK1wvSVJ0ZHBMc1FjY3VGdHVNRnJGc1dhTkRcL0FXaVJoVGk2MnRKZklTTkplTEdZ
       Q2ZPVndjSUdjXC9ZbDVBeW9yZnNBNTc0QXNRN2dscHl4Z3VEZ0hDNjR6aDNkRXZMdkV
       2XC8xZTZYNHhlXC9INDRZYmJ5eWgxMU9QNWIwNFRyVTlMWVpEZjNKcG14dmIyeXVteX
       hNY1BcL2V3RUFSWTJzSkdzUWdcL2hOaFJoYk1cL3puRTd3N3p4V2N6Q01md0RGemp3R
       2M9IiwiaXYiOiJHMFozeG1lTFZ1dlRBTmhpeUZFSXBBPT0ifQ==&codigo_tienda=
       TESTUSER");
    Request request = new Request.Builder()
    .url("https://apiq.finhack.in/api/pay/authTDD")
    .method("POST", body)
    .addHeader("Content-Type", "application/x-www-form-urlencoded")
    .build();
    Response response = client.newCall(request).execute();
                            
    {
      "message": "Verificado",
      "encriptado": "eyJlbmNyeXB0ZWRfZGF0YSI6InRseGRTVmZQQksyRVgydlo
         1VzZcL0JhR09ZcUFDc0dLZHJIUllGb2hmK084czRFaVwvR3JDNkp5RWRUc
         3BCVzZSakVDbExJc0QraDIweFVZWitzaVVSTXROcHRuQXl1ZjVJajhrMmN
         6TDNmbjRwemFxd1wvR054eUUreE83bTRoMnBtcE9TUERpYlFGZGp2azh
         nREpsWDhRYWZwNFVRR0RKT0huckhMQmRKenQyRzdsYXUzYUpDVERZZkdKN
         UtXSndMSjlTVHE0R0pQaURUaEJlZXV0cm9WWW0zS2JDeXJ0V3lXTGlaYVw
         vOHkzNnY1SW1PZ2kyWnhrQ0lMdlVYTTBiRVFrbzFqdko2WHRHUW1TVlBxc
         FBVTFN6VmZIN2xGTkhzZHV2bG9XTzhuNHFQbFpiU1FXNk9aeGphR1VGN2R
         mZVR2ZlwvSlVzVHhWZzFXNVVlVW9VaVZ5S0NqamJOdExsYmRMRDZOSUk1T
         2FsNjdLK1wvSVJ0ZHBMc1FjY3VGdHVNRnJGc1dhTkRcL0FXaVJoVGk2Mn
         RKZklTTkplTEdZQ2ZPVndjSUdjXC9ZbDVBeW9yZnNBNTc0QXNRN2dscHl4
         Z3VEZ0hDNjR6aDNkRXZMdkV2XC8xZTZYNHhlXC9INDRZYmJ5eWgxMU9QNW
         IwNFRyVTlMWVpEZjNKcG14dmIyeXVteXhNY1BcL2V3RUFSWTJzSkdzUWdc
         L2hOaFJoYk1cL3puRTd3N3p4V2N6Q01md0RGemp3R2M9IiwiaXYiOiJHMF
         ozeG1lTFZ1dlRBTmhpeUZFSXBBPT0ifQ==",
      "sigla_cliente": "TESTUSER",
      "tipo_2FA": "claveinternet",
      "additional_data_required": {
        "pin": {
            "description": "pin",
            "datatype": "string",
            "minlength": 4,
            "maxlength": 6
        },
        "twofactauth": {
            "description": "OTP ó claveinternet ó clavebancatelefonica",
            "datatype": "string",
            "minlength": 4,
            "maxlength": 6
        }
    },
      "fecha_salida": "2021-01-22",
      "hora_salida": "14:09:28",
      "intentos": 1,
      "codigo_respuesta": 2
    }
                            
    OkHttpClient client = new OkHttpClient().newBuilder()
    .build();
    MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
    RequestBody body = RequestBody.create(
       mediaType, "codigo_tienda=TESTUSER&cvv=000&twofactauth=0000&encriptado=
       eyJlbmNyeXB0ZWRfZGF0YSI6InRseGRTVmZQQksyRVgydlo1VzZcL0JhR09ZcUFDc0dLZHJI
       UllGb2hmK084czRFaVwvR3JDNkp5RWRUc3BCVzZSakVDbExJc0QraDIweFVZWitzaVVSTXRO
       cHRuQXl1ZjVJajhrMmN6TDNmbjRwemFxd1wvR054eUUreE83bTRoMnBtcE9TUERpYlFGZGp2
       azhnREpsWDhRYWZwNFVRR0RKT0huckhMQmRKenQyRzdsYXUzYUpDVERZZkdKNUtXSndMSjlT
       VHE0R0pQaURUaEJlZXV0cm9WWW0zS2JDeXJ0V3lXTGlaYVwvOHkzNnY1SW1PZ2kyWnhrQ0lM
       dlVYTTBiRVFrbzFqdko2WHRHUW1TVlBxcFBVTFN6VmZIN2xGTkhzZHV2bG9XTzhuNHFQbFpi
       U1FXNk9aeGphR1VGN2RmZVR2ZlwvSlVzVHhWZzFXNVVlVW9VaVZ5S0NqamJOdExsYmRMRDZO
       SUk1T2FsNjdLK1wvSVJ0ZHBMc1FjY3VGdHVNRnJGc1dhTkRcL0FXaVJoVGk2MnRKZklTTkpl
       TEdZQ2ZPVndjSUdjXC9ZbDVBeW9yZnNBNTc0QXNRN2dscHl4Z3VEZ0hDNjR6aDNkRXZMdkV2
       XC8xZTZYNHhlXC9INDRZYmJ5eWgxMU9QNWIwNFRyVTlMWVpEZjNKcG14dmIyeXVteXhNY1Bc
       L2V3RUFSWTJzSkdzUWdcL2hOaFJoYk1cL3puRTd3N3p4V2N6Q01md0RGemp3R2M9IiwiaXYi
       OiJHMFozeG1lTFZ1dlRBTmhpeUZFSXBBPT0ifQ==");
    Request request = new Request.Builder()
    .url("https://apiq.finhack.in/api/pay/TDD")
    .method("POST", body)
    .addHeader("Content-Type", "application/x-www-form-urlencoded")
    .build();
    Response response = client.newCall(request).execute();
                            
    {
       "message": "Pago Exitoso",
       "monto_recibido": "10",
       "sigla_cliente": "TESTUSER",
       "numero_confirmacion": "0082387431630",
       "numero_factura": "112021012206",
       "recibo": "eyJlbmNyeXB0ZWRfZGF0YSI6Im1HQ0xZSnRsUjltVVBoR0dodmVic
          VF6QVRLVjRGeWxrTFh0TFhGd3grSnBuTWtKeWpjYmJ5MkNvSnczYnB5c1hzYn
          BhMFpYektIYStadVhmakkzNXlQb2ZTdStIRDdZeUFFQ280Y3NqXC9VWnRLU2k
          3cjdvRmpNQ2VIWER5dkhqN2hHWjZpNlRXbXd5dXZFamtGUVFoR0E9PSIsIml2
          IjoiNUpMaHdLbWYrTGwrWUNWc0RLTFordz09In0=",
       "fecha_salida": "2021-01-22",
       "hora_salida": "14:31:51",
       "intentos": 1,
       "codigo_respuesta": 2
    }
                            
    var request = require('request');
    var options = {
        'method': 'POST',
        'url': 'https://apiq.finhack.in/api/pay/enkey',
        'headers': {
        'Content-Type': 'application/x-www-form-urlencoded'
        },
        form: {
        'data[doc_id]': 'V001234567',
        'data[full_name]': 'ANDRES R BETANCOURT M',
        'data[card_number]': '5018780544021000',
        'data[expired_date]': '2020/11',
        'data[monto_compra]': '10',
        'data[email]': '[email protected]',
        'data[account_type]': 'CORRIENTE',
        'data[compra_id]': '1',
        'data[ip_usuario]': '127.0.0.1',
        'data[os_name]': 'Windows',
        'data[concepto][]': 'compra',
        'key': 'payr3st$andbox2020'
        }
    };
    request(options, function (error, response) {
        if (error) throw new Error(error);
        console.log(response.body);
    });
                            
    {
       "message": "Datos encriptados",
       "encriptado":
       "eyJlbmNyeXB0ZWRfZGF0YSI6InRseGRTVmZQQksyRVgydlo1VzZcL0JhR09ZcUFD
       c0dLZHJIUllGb2hmK084czRFaVwvR3JDNkp5RWRUc3BCVzZSakVDbExJc0QraDIw
       eFVZWitzaVVSTXROcHRuQXl1ZjVJajhrMmN6TDNmbjRwemFxd1wvR054eUUreE83
       bTRoMnBtcE9TUERpYlFGZGp2azhnREpsWDhRYWZwNFVRR0RKT0huckhMQmRKenQy
       RzdsYXUzYUpDVERZZkdKNUtXSndMSjlTVHE0R0pQaURUaEJlZXV0cm9WWW0zS2JD
       eXJ0V3lXTGlaYVwvOHkzNnY1SW1PZ2kyWnhrQ0lMdlVYTTBiRVFrbzFqdko2WHRH
       UW1TVlBxcFBVTFN6VmZIN2xGTkhzZHV2bG9XTzhuNHFQbFpiU1FXNk9aeGphR1VG
       N2RmZVR2ZlwvSlVzVHhWZzFXNVVlVW9VaVZ5S0NqamJOdExsYmRMRDZOSUk1T2F
       sNjdLK1wvSVJ0ZHBMc1FjY3VGdHVNRnJGc1dhTkRcL0FXaVJoVGk2MnRKZklTTkpl
       TEdZQ2ZPVndjSUdjXC9ZbDVBeW9yZnNBNTc0QXNRN2dscHl4Z3VEZ0hDNjR6aDNkR
       XZMdkV2XC8xZTZYNHhlXC9INDRZYmJ5eWgxMU9QNWIwNFRyVTlMWVpEZjNKcG14dm
       IyeXVteXhNY1BcL2V3RUFSWTJzSkdzUWdcL2hOaFJoYk1cL3puRTd3N3p4V2N6Q01
       md0RGemp3R2M9IiwiaXYiOiJHMFozeG1lTFZ1dlRBTmhpeUZFSXBBPT0ifQ=="
    }
                            
    var request = require('request');
    var options = {
        'method': 'POST',
        'url': 'https://apiq.finhack.in/api/pay/authTDD',
        'headers': {
        'Content-Type': 'application/x-www-form-urlencoded'
        },
        form: {
        'encriptado': 'eyJlbmNyeXB0ZWRfZGF0YSI6InRseGRTVmZQQksyRVgydlo
           1VzZcL0JhR09ZcUFDc0dLZHJIUllGb2hmK084czRFaVwvR3JDNkp5RWRUc3
           BCVzZSakVDbExJc0QraDIweFVZWitzaVVSTXROcHRuQXl1ZjVJajhrMmN6T
           DNmbjRwemFxd1wvR054eUUreE83bTRoMnBtcE9TUERpYlFGZGp2azhnREps
           WDhRYWZwNFVRR0RKT0huckhMQmRKenQyRzdsYXUzYUpDVERZZkdKNUtXSnd
           MSjlTVHE0R0pQaURUaEJlZXV0cm9WWW0zS2JDeXJ0V3lXTGlaYVwvOHkzNn
           Y1SW1PZ2kyWnhrQ0lMdlVYTTBiRVFrbzFqdko2WHRHUW1TVlBxcFBVTFN6V
           mZIN2xGTkhzZHV2bG9XTzhuNHFQbFpiU1FXNk9aeGphR1VGN2RmZVR2Zlwv
           SlVzVHhWZzFXNVVlVW9VaVZ5S0NqamJOdExsYmRMRDZOSUk1T2FsNjdLK1w
           vSVJ0ZHBMc1FjY3VGdHVNRnJGc1dhTkRcL0FXaVJoVGk2MnRKZklTTkplTE
           dZQ2ZPVndjSUdjXC9ZbDVBeW9yZnNBNTc0QXNRN2dscHl4Z3VEZ0hDNjR6a
           DNkRXZMdkV2XC8xZTZYNHhlXC9INDRZYmJ5eWgxMU9QNWIwNFRyVTlMWVpE
           ZjNKcG14dmIyeXVteXhNY1BcL2V3RUFSWTJzSkdzUWdcL2hOaFJoYk1cL3p
           uRTd3N3p4V2N6Q01md0RGemp3R2M9IiwiaXYiOiJHMFozeG1lTFZ1dlRBTm
           hpeUZFSXBBPT0ifQ==',
        'codigo_tienda': 'TESTUSER'
        }
    };
    request(options, function (error, response) {
        if (error) throw new Error(error);
        console.log(response.body);
    });
                            
    {
      "message": "Verificado",
      "encriptado": "eyJlbmNyeXB0ZWRfZGF0YSI6InRseGRTVmZQQksyRVgydlo
         1VzZcL0JhR09ZcUFDc0dLZHJIUllGb2hmK084czRFaVwvR3JDNkp5RWRUc
         3BCVzZSakVDbExJc0QraDIweFVZWitzaVVSTXROcHRuQXl1ZjVJajhrMmN
         6TDNmbjRwemFxd1wvR054eUUreE83bTRoMnBtcE9TUERpYlFGZGp2azh
         nREpsWDhRYWZwNFVRR0RKT0huckhMQmRKenQyRzdsYXUzYUpDVERZZkdKN
         UtXSndMSjlTVHE0R0pQaURUaEJlZXV0cm9WWW0zS2JDeXJ0V3lXTGlaYVw
         vOHkzNnY1SW1PZ2kyWnhrQ0lMdlVYTTBiRVFrbzFqdko2WHRHUW1TVlBxc
         FBVTFN6VmZIN2xGTkhzZHV2bG9XTzhuNHFQbFpiU1FXNk9aeGphR1VGN2R
         mZVR2ZlwvSlVzVHhWZzFXNVVlVW9VaVZ5S0NqamJOdExsYmRMRDZOSUk1T
         2FsNjdLK1wvSVJ0ZHBMc1FjY3VGdHVNRnJGc1dhTkRcL0FXaVJoVGk2Mn
         RKZklTTkplTEdZQ2ZPVndjSUdjXC9ZbDVBeW9yZnNBNTc0QXNRN2dscHl4
         Z3VEZ0hDNjR6aDNkRXZMdkV2XC8xZTZYNHhlXC9INDRZYmJ5eWgxMU9QNW
         IwNFRyVTlMWVpEZjNKcG14dmIyeXVteXhNY1BcL2V3RUFSWTJzSkdzUWdc
         L2hOaFJoYk1cL3puRTd3N3p4V2N6Q01md0RGemp3R2M9IiwiaXYiOiJHMF
         ozeG1lTFZ1dlRBTmhpeUZFSXBBPT0ifQ==",
      "sigla_cliente": "TESTUSER",
      "tipo_2FA": "claveinternet",
      "additional_data_required": {
        "pin": {
            "description": "pin",
            "datatype": "string",
            "minlength": 4,
            "maxlength": 6
        },
        "twofactauth": {
            "description": "OTP ó claveinternet ó clavebancatelefonica",
            "datatype": "string",
            "minlength": 4,
            "maxlength": 6
        }
    },
      "fecha_salida": "2021-01-22",
      "hora_salida": "14:09:28",
      "intentos": 1,
      "codigo_respuesta": 2
    }
                            
    var request = require('request');
    var options = {
        'method': 'POST',
        'url': 'https://apiq.finhack.in/api/pay/TDD',
        'headers': {
        'Content-Type': 'application/x-www-form-urlencoded'
        },
        form: {
        'codigo_tienda': 'TESTUSER',
        'cvv': '000',
        'twofactauth': '0000',
        'encriptado': 'eyJlbmNyeXB0ZWRfZGF0YSI6InRseGRTVmZQQksyRV
           gydlo1VzZcL0JhR09ZcUFDc0dLZHJIUllGb2hmK084czRFaVwvR3JD
           Nkp5RWRUc3BCVzZSakVDbExJc0QraDIweFVZWitzaVVSTXROcHRuQX
           l1ZjVJajhrMmN6TDNmbjRwemFxd1wvR054eUUreE83bTRoMnBtcE9T
           UERpYlFGZGp2azhnREpsWDhRYWZwNFVRR0RKT0huckhMQmRKenQyRz
           dsYXUzYUpDVERZZkdKNUtXSndMSjlTVHE0R0pQaURUaEJlZXV0cm9W
           WW0zS2JDeXJ0V3lXTGlaYVwvOHkzNnY1SW1PZ2kyWnhrQ0lMdlVYTT
           BiRVFrbzFqdko2WHRHUW1TVlBxcFBVTFN6VmZIN2xGTkhzZHV2bG9X
           TzhuNHFQbFpiU1FXNk9aeGphR1VGN2RmZVR2ZlwvSlVzVHhWZzFXNV
           VlVW9VaVZ5S0NqamJOdExsYmRMRDZOSUk1T2FsNjdLK1wvSVJ0ZHBM
           c1FjY3VGdHVNRnJGc1dhTkRcL0FXaVJoVGk2MnRKZklTTkplTEdZQ2
           ZPVndjSUdjXC9ZbDVBeW9yZnNBNTc0QXNRN2dscHl4Z3VEZ0hDNjR6
           aDNkRXZMdkV2XC8xZTZYNHhlXC9INDRZYmJ5eWgxMU9QNWIwNFRyVT
           lMWVpEZjNKcG14dmIyeXVteXhNY1BcL2V3RUFSWTJzSkdzUWdcL2hO
           aFJoYk1cL3puRTd3N3p4V2N6Q01md0RGemp3R2M9IiwiaXYiOiJHMF
           ozeG1lTFZ1dlRBTmhpeUZFSXBBPT0ifQ=='
        }
    };
    request(options, function (error, response) {
        if (error) throw new Error(error);
        console.log(response.body);
    });

                            
    {
       "message": "Pago Exitoso",
       "monto_recibido": "10",
       "sigla_cliente": "TESTUSER",
       "numero_confirmacion": "0082387431630",
       "numero_factura": "112021012206",
       "recibo": "eyJlbmNyeXB0ZWRfZGF0YSI6Im1HQ0xZSnRsUjltVVBoR0dodmVic
          VF6QVRLVjRGeWxrTFh0TFhGd3grSnBuTWtKeWpjYmJ5MkNvSnczYnB5c1hzYn
          BhMFpYektIYStadVhmakkzNXlQb2ZTdStIRDdZeUFFQ280Y3NqXC9VWnRLU2k
          3cjdvRmpNQ2VIWER5dkhqN2hHWjZpNlRXbXd5dXZFamtGUVFoR0E9PSIsIml2
          IjoiNUpMaHdLbWYrTGwrWUNWc0RLTFordz09In0=",
       "fecha_salida": "2021-01-22",
       "hora_salida": "14:31:51",
       "intentos": 1,
       "codigo_respuesta": 2
    }
                            
    $curl = curl_init();

    curl_setopt_array($curl, array(
        CURLOPT_URL => 'https://apiq.finhack.in/api/pay/enkey',
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_ENCODING => '',
        CURLOPT_MAXREDIRS => 10,
        CURLOPT_TIMEOUT => 0,
        CURLOPT_FOLLOWLOCATION => true,
        CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
        CURLOPT_CUSTOMREQUEST => 'POST',
        CURLOPT_POSTFIELDS => 'data%5Bdoc_id%5D=V001234567&data%5Bfull_name%5D
           =ANDRES%20R%20BETANCOURT%20M&data%5Bcard_number%5D=
           5018780544021000&data%5Bexpired_date%5D=
           2020%2F11&data%5Bmonto_compra%5D=10&data%5Bemail%5D=
           correo%40dominio.com&data%5Baccount_type%5D=
           CORRIENTE&data%5Bcompra_id%5D=1&data%5Bip_usuario%5D=
           127.0.0.1&data%5Bos_name%5D=Windows&data%5Bconcepto%5D%5B%5D=
           compra&key=payr3st%24andbox2020',
        CURLOPT_HTTPHEADER => array(
        'Content-Type: application/x-www-form-urlencoded'
        ),
    ));

    $response = curl_exec($curl);

    curl_close($curl);
    echo $response;
                            
    {
       "message": "Datos encriptados",
       "encriptado":
       "eyJlbmNyeXB0ZWRfZGF0YSI6InRseGRTVmZQQksyRVgydlo1VzZcL0JhR09ZcUFD
       c0dLZHJIUllGb2hmK084czRFaVwvR3JDNkp5RWRUc3BCVzZSakVDbExJc0QraDIw
       eFVZWitzaVVSTXROcHRuQXl1ZjVJajhrMmN6TDNmbjRwemFxd1wvR054eUUreE83
       bTRoMnBtcE9TUERpYlFGZGp2azhnREpsWDhRYWZwNFVRR0RKT0huckhMQmRKenQy
       RzdsYXUzYUpDVERZZkdKNUtXSndMSjlTVHE0R0pQaURUaEJlZXV0cm9WWW0zS2JD
       eXJ0V3lXTGlaYVwvOHkzNnY1SW1PZ2kyWnhrQ0lMdlVYTTBiRVFrbzFqdko2WHRH
       UW1TVlBxcFBVTFN6VmZIN2xGTkhzZHV2bG9XTzhuNHFQbFpiU1FXNk9aeGphR1VG
       N2RmZVR2ZlwvSlVzVHhWZzFXNVVlVW9VaVZ5S0NqamJOdExsYmRMRDZOSUk1T2F
       sNjdLK1wvSVJ0ZHBMc1FjY3VGdHVNRnJGc1dhTkRcL0FXaVJoVGk2MnRKZklTTkpl
       TEdZQ2ZPVndjSUdjXC9ZbDVBeW9yZnNBNTc0QXNRN2dscHl4Z3VEZ0hDNjR6aDNkR
       XZMdkV2XC8xZTZYNHhlXC9INDRZYmJ5eWgxMU9QNWIwNFRyVTlMWVpEZjNKcG14dm
       IyeXVteXhNY1BcL2V3RUFSWTJzSkdzUWdcL2hOaFJoYk1cL3puRTd3N3p4V2N6Q01
       md0RGemp3R2M9IiwiaXYiOiJHMFozeG1lTFZ1dlRBTmhpeUZFSXBBPT0ifQ=="
    }
                            
    $curl = curl_init();

    curl_setopt_array($curl, array(
        CURLOPT_URL => 'https://apiq.finhack.in/api/pay/authTDD',
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_ENCODING => '',
        CURLOPT_MAXREDIRS => 10,
        CURLOPT_TIMEOUT => 0,
        CURLOPT_FOLLOWLOCATION => true,
        CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
        CURLOPT_CUSTOMREQUEST => 'POST',
        CURLOPT_POSTFIELDS => 'encriptado=eyJlbmNyeXB0ZWRfZGF0YSI6I
           nRseGRTVmZQQksyRVgydlo1VzZcL0JhR09ZcUFDc0dLZHJIUllGb2hmK
           084czRFaVwvR3JDNkp5RWRUc3BCVzZSakVDbExJc0QraDIweFVZWitza
           VVSTXROcHRuQXl1ZjVJajhrMmN6TDNmbjRwemFxd1wvR054eUUreE83b
           TRoMnBtcE9TUERpYlFGZGp2azhnREpsWDhRYWZwNFVRR0RKT0huckhMQ
           mRKenQyRzdsYXUzYUpDVERZZkdKNUtXSndMSjlTVHE0R0pQaURUaEJlZ
           XV0cm9WWW0zS2JDeXJ0V3lXTGlaYVwvOHkzNnY1SW1PZ2kyWnhrQ0lMd
           lVYTTBiRVFrbzFqdko2WHRHUW1TVlBxcFBVTFN6VmZIN2xGTkhzZHV2b
           G9XTzhuNHFQbFpiU1FXNk9aeGphR1VGN2RmZVR2ZlwvSlVzVHhWZzFXN
           VVlVW9VaVZ5S0NqamJOdExsYmRMRDZOSUk1T2FsNjdLK1wvSVJ0ZHBMc
           1FjY3VGdHVNRnJGc1dhTkRcL0FXaVJoVGk2MnRKZklTTkplTEdZQ2ZPV
           ndjSUdjXC9ZbDVBeW9yZnNBNTc0QXNRN2dscHl4Z3VEZ0hDNjR6aDNkR
           XZMdkV2XC8xZTZYNHhlXC9INDRZYmJ5eWgxMU9QNWIwNFRyVTlMWVpEZ
           jNKcG14dmIyeXVteXhNY1BcL2V3RUFSWTJzSkdzUWdcL2hOaFJoYk1cL
           3puRTd3N3p4V2N6Q01md0RGemp3R2M9IiwiaXYiOiJHMFozeG1lTFZ1d
           lRBTmhpeUZFSXBBPT0ifQ%3D%3D&codigo_tienda=TESTUSER',
        CURLOPT_HTTPHEADER => array(
        'Content-Type: application/x-www-form-urlencoded'
        ),
    ));

    $response = curl_exec($curl);

    curl_close($curl);
    echo $response;

                            
    {
      "message": "Verificado",
      "encriptado": "eyJlbmNyeXB0ZWRfZGF0YSI6InRseGRTVmZQQksyRVgydlo
         1VzZcL0JhR09ZcUFDc0dLZHJIUllGb2hmK084czRFaVwvR3JDNkp5RWRUc
         3BCVzZSakVDbExJc0QraDIweFVZWitzaVVSTXROcHRuQXl1ZjVJajhrMmN
         6TDNmbjRwemFxd1wvR054eUUreE83bTRoMnBtcE9TUERpYlFGZGp2azh
         nREpsWDhRYWZwNFVRR0RKT0huckhMQmRKenQyRzdsYXUzYUpDVERZZkdKN
         UtXSndMSjlTVHE0R0pQaURUaEJlZXV0cm9WWW0zS2JDeXJ0V3lXTGlaYVw
         vOHkzNnY1SW1PZ2kyWnhrQ0lMdlVYTTBiRVFrbzFqdko2WHRHUW1TVlBxc
         FBVTFN6VmZIN2xGTkhzZHV2bG9XTzhuNHFQbFpiU1FXNk9aeGphR1VGN2R
         mZVR2ZlwvSlVzVHhWZzFXNVVlVW9VaVZ5S0NqamJOdExsYmRMRDZOSUk1T
         2FsNjdLK1wvSVJ0ZHBMc1FjY3VGdHVNRnJGc1dhTkRcL0FXaVJoVGk2Mn
         RKZklTTkplTEdZQ2ZPVndjSUdjXC9ZbDVBeW9yZnNBNTc0QXNRN2dscHl4
         Z3VEZ0hDNjR6aDNkRXZMdkV2XC8xZTZYNHhlXC9INDRZYmJ5eWgxMU9QNW
         IwNFRyVTlMWVpEZjNKcG14dmIyeXVteXhNY1BcL2V3RUFSWTJzSkdzUWdc
         L2hOaFJoYk1cL3puRTd3N3p4V2N6Q01md0RGemp3R2M9IiwiaXYiOiJHMF
         ozeG1lTFZ1dlRBTmhpeUZFSXBBPT0ifQ==",
      "sigla_cliente": "TESTUSER",
      "tipo_2FA": "claveinternet",
      "additional_data_required": {
        "pin": {
            "description": "pin",
            "datatype": "string",
            "minlength": 4,
            "maxlength": 6
        },
        "twofactauth": {
            "description": "OTP ó claveinternet ó clavebancatelefonica",
            "datatype": "string",
            "minlength": 4,
            "maxlength": 6
        }
    },
      "fecha_salida": "2021-01-22",
      "hora_salida": "14:09:28",
      "intentos": 1,
      "codigo_respuesta": 2
    }
                            
    $curl = curl_init();

    curl_setopt_array($curl, array(
        CURLOPT_URL => 'https://apiq.finhack.in/api/pay/TDD',
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_ENCODING => '',
        CURLOPT_MAXREDIRS => 10,
        CURLOPT_TIMEOUT => 0,
        CURLOPT_FOLLOWLOCATION => true,
        CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
        CURLOPT_CUSTOMREQUEST => 'POST',
        CURLOPT_POSTFIELDS => 'codigo_tienda=TESTUSER&cvv=
           000&twofactauth=0000&encriptado=eyJlbmNyeXB0ZWRfZGF0Y
           SI6InRseGRTVmZQQksyRVgydlo1VzZcL0JhR09ZcUFDc0dLZHJIUl
           lGb2hmK084czRFaVwvR3JDNkp5RWRUc3BCVzZSakVDbExJc0QraDI
           weFVZWitzaVVSTXROcHRuQXl1ZjVJajhrMmN6TDNmbjRwemFxd1wv
           R054eUUreE83bTRoMnBtcE9TUERpYlFGZGp2azhnREpsWDhRYWZwN
           FVRR0RKT0huckhMQmRKenQyRzdsYXUzYUpDVERZZkdKNUtXSndMSj
           lTVHE0R0pQaURUaEJlZXV0cm9WWW0zS2JDeXJ0V3lXTGlaYVwvOHk
           zNnY1SW1PZ2kyWnhrQ0lMdlVYTTBiRVFrbzFqdko2WHRHUW1TVlBx
           cFBVTFN6VmZIN2xGTkhzZHV2bG9XTzhuNHFQbFpiU1FXNk9aeGphR
           1VGN2RmZVR2ZlwvSlVzVHhWZzFXNVVlVW9VaVZ5S0NqamJOdExsYm
           RMRDZOSUk1T2FsNjdLK1wvSVJ0ZHBMc1FjY3VGdHVNRnJGc1dhTkR
           cL0FXaVJoVGk2MnRKZklTTkplTEdZQ2ZPVndjSUdjXC9ZbDVBeW9y
           ZnNBNTc0QXNRN2dscHl4Z3VEZ0hDNjR6aDNkRXZMdkV2XC8xZTZYN
           HhlXC9INDRZYmJ5eWgxMU9QNWIwNFRyVTlMWVpEZjNKcG14dmIyeX
           VteXhNY1BcL2V3RUFSWTJzSkdzUWdcL2hOaFJoYk1cL3puRTd3N3p
           4V2N6Q01md0RGemp3R2M9IiwiaXYiOiJHMFozeG1lTFZ1dlRBTmhp
           eUZFSXBBPT0ifQ%3D%3D',
        CURLOPT_HTTPHEADER => array(
        'Content-Type: application/x-www-form-urlencoded'
        ),
    ));

    $response = curl_exec($curl);

    curl_close($curl);
    echo $response;

                            
    {
       "message": "Pago Exitoso",
       "monto_recibido": "10",
       "sigla_cliente": "TESTUSER",
       "numero_confirmacion": "0082387431630",
       "numero_factura": "112021012206",
       "recibo": "eyJlbmNyeXB0ZWRfZGF0YSI6Im1HQ0xZSnRsUjltVVBoR0dodmVic
          VF6QVRLVjRGeWxrTFh0TFhGd3grSnBuTWtKeWpjYmJ5MkNvSnczYnB5c1hzYn
          BhMFpYektIYStadVhmakkzNXlQb2ZTdStIRDdZeUFFQ280Y3NqXC9VWnRLU2k
          3cjdvRmpNQ2VIWER5dkhqN2hHWjZpNlRXbXd5dXZFamtGUVFoR0E9PSIsIml2
          IjoiNUpMaHdLbWYrTGwrWUNWc0RLTFordz09In0=",
       "fecha_salida": "2021-01-22",
       "hora_salida": "14:31:51",
       "intentos": 1,
       "codigo_respuesta": 2
    }
                            
    import requests

    url = "https://apiq.finhack.in/api/pay/enkey"

    payload='data%5Bdoc_id%5D=V001234567&data%5Bfull_name%5D=
       ANDRES%20R%20BETANCOURT%20M&data%5Bcard_number%5D=
       5018780544021000&data%5Bexpired_date%5D=
       2020%2F11&data%5Bmonto_compra%5D=10&data%5Bemail%5D=
       correo%40dominio.com&data%5Baccount_type%5D=
       CORRIENTE&data%5Bcompra_id%5D=1&data%5Bip_usuario%5D=
       127.0.0.1&data%5Bos_name%5D=Windows&data%5Bconcepto%5D%5B%5D=
       compra&key=payr3st%24andbox2020'
    headers = {
        'Content-Type': 'application/x-www-form-urlencoded'
    }

    response = requests.request("POST", url, headers=headers, data=payload)

    print(response.text)
                            
    {
       "message": "Datos encriptados",
       "encriptado":
       "eyJlbmNyeXB0ZWRfZGF0YSI6InRseGRTVmZQQksyRVgydlo1VzZcL0JhR09ZcUFD
       c0dLZHJIUllGb2hmK084czRFaVwvR3JDNkp5RWRUc3BCVzZSakVDbExJc0QraDIw
       eFVZWitzaVVSTXROcHRuQXl1ZjVJajhrMmN6TDNmbjRwemFxd1wvR054eUUreE83
       bTRoMnBtcE9TUERpYlFGZGp2azhnREpsWDhRYWZwNFVRR0RKT0huckhMQmRKenQy
       RzdsYXUzYUpDVERZZkdKNUtXSndMSjlTVHE0R0pQaURUaEJlZXV0cm9WWW0zS2JD
       eXJ0V3lXTGlaYVwvOHkzNnY1SW1PZ2kyWnhrQ0lMdlVYTTBiRVFrbzFqdko2WHRH
       UW1TVlBxcFBVTFN6VmZIN2xGTkhzZHV2bG9XTzhuNHFQbFpiU1FXNk9aeGphR1VG
       N2RmZVR2ZlwvSlVzVHhWZzFXNVVlVW9VaVZ5S0NqamJOdExsYmRMRDZOSUk1T2F
       sNjdLK1wvSVJ0ZHBMc1FjY3VGdHVNRnJGc1dhTkRcL0FXaVJoVGk2MnRKZklTTkpl
       TEdZQ2ZPVndjSUdjXC9ZbDVBeW9yZnNBNTc0QXNRN2dscHl4Z3VEZ0hDNjR6aDNkR
       XZMdkV2XC8xZTZYNHhlXC9INDRZYmJ5eWgxMU9QNWIwNFRyVTlMWVpEZjNKcG14dm
       IyeXVteXhNY1BcL2V3RUFSWTJzSkdzUWdcL2hOaFJoYk1cL3puRTd3N3p4V2N6Q01
       md0RGemp3R2M9IiwiaXYiOiJHMFozeG1lTFZ1dlRBTmhpeUZFSXBBPT0ifQ=="
    }
                            
    import requests

    url = "https://apiq.finhack.in/api/pay/authTDD"

    payload='encriptado=eyJlbmNyeXB0ZWRfZGF0YSI6InRseGRTVmZQQksyRVgy
       dlo1VzZcL0JhR09ZcUFDc0dLZHJIUllGb2hmK084czRFaVwvR3JDNkp5RWRUc3BC
       VzZSakVDbExJc0QraDIweFVZWitzaVVSTXROcHRuQXl1ZjVJajhrMmN6TDNmbjRw
       emFxd1wvR054eUUreE83bTRoMnBtcE9TUERpYlFGZGp2azhnREpsWDhRYWZwNFVR
       R0RKT0huckhMQmRKenQyRzdsYXUzYUpDVERZZkdKNUtXSndMSjlTVHE0R0pQaURU
       aEJlZXV0cm9WWW0zS2JDeXJ0V3lXTGlaYVwvOHkzNnY1SW1PZ2kyWnhrQ0lMdlVY
       TTBiRVFrbzFqdko2WHRHUW1TVlBxcFBVTFN6VmZIN2xGTkhzZHV2bG9XTzhuNHFQ
       bFpiU1FXNk9aeGphR1VGN2RmZVR2ZlwvSlVzVHhWZzFXNVVlVW9VaVZ5S0NqamJO
       dExsYmRMRDZOSUk1T2FsNjdLK1wvSVJ0ZHBMc1FjY3VGdHVNRnJGc1dhTkRcL0FX
       aVJoVGk2MnRKZklTTkplTEdZQ2ZPVndjSUdjXC9ZbDVBeW9yZnNBNTc0QXNRN2ds
       cHl4Z3VEZ0hDNjR6aDNkRXZMdkV2XC8xZTZYNHhlXC9INDRZYmJ5eWgxMU9QNWIw
       NFRyVTlMWVpEZjNKcG14dmIyeXVteXhNY1BcL2V3RUFSWTJzSkdzUWdcL2hOaFJo
       Yk1cL3puRTd3N3p4V2N6Q01md0RGemp3R2M9IiwiaXYiOiJHMFozeG1lTFZ1dlRB
       TmhpeUZFSXBBPT0ifQ%3D%3D&codigo_tienda=TESTUSER'
    headers = {
        'Content-Type': 'application/x-www-form-urlencoded'
    }

    response = requests.request("POST", url, headers=headers, data=payload)

    print(response.text)


                            
    {
      "message": "Verificado",
      "encriptado": "eyJlbmNyeXB0ZWRfZGF0YSI6InRseGRTVmZQQksyRVgydlo
         1VzZcL0JhR09ZcUFDc0dLZHJIUllGb2hmK084czRFaVwvR3JDNkp5RWRUc
         3BCVzZSakVDbExJc0QraDIweFVZWitzaVVSTXROcHRuQXl1ZjVJajhrMmN
         6TDNmbjRwemFxd1wvR054eUUreE83bTRoMnBtcE9TUERpYlFGZGp2azh
         nREpsWDhRYWZwNFVRR0RKT0huckhMQmRKenQyRzdsYXUzYUpDVERZZkdKN
         UtXSndMSjlTVHE0R0pQaURUaEJlZXV0cm9WWW0zS2JDeXJ0V3lXTGlaYVw
         vOHkzNnY1SW1PZ2kyWnhrQ0lMdlVYTTBiRVFrbzFqdko2WHRHUW1TVlBxc
         FBVTFN6VmZIN2xGTkhzZHV2bG9XTzhuNHFQbFpiU1FXNk9aeGphR1VGN2R
         mZVR2ZlwvSlVzVHhWZzFXNVVlVW9VaVZ5S0NqamJOdExsYmRMRDZOSUk1T
         2FsNjdLK1wvSVJ0ZHBMc1FjY3VGdHVNRnJGc1dhTkRcL0FXaVJoVGk2Mn
         RKZklTTkplTEdZQ2ZPVndjSUdjXC9ZbDVBeW9yZnNBNTc0QXNRN2dscHl4
         Z3VEZ0hDNjR6aDNkRXZMdkV2XC8xZTZYNHhlXC9INDRZYmJ5eWgxMU9QNW
         IwNFRyVTlMWVpEZjNKcG14dmIyeXVteXhNY1BcL2V3RUFSWTJzSkdzUWdc
         L2hOaFJoYk1cL3puRTd3N3p4V2N6Q01md0RGemp3R2M9IiwiaXYiOiJHMF
         ozeG1lTFZ1dlRBTmhpeUZFSXBBPT0ifQ==",
      "sigla_cliente": "TESTUSER",
      "tipo_2FA": "claveinternet",
      "additional_data_required": {
        "pin": {
            "description": "pin",
            "datatype": "string",
            "minlength": 4,
            "maxlength": 6
        },
        "twofactauth": {
            "description": "OTP ó claveinternet ó clavebancatelefonica",
            "datatype": "string",
            "minlength": 4,
            "maxlength": 6
        }
    },
      "fecha_salida": "2021-01-22",
      "hora_salida": "14:09:28",
      "intentos": 1,
      "codigo_respuesta": 2
    }
                            
    import requests

    url = "https://apiq.finhack.in/api/pay/TDD"

    payload='codigo_tienda=TESTUSER&cvv=000&twofactauth=0000&
       encriptado=eyJlbmNyeXB0ZWRfZGF0YSI6InRseGRTVmZQQksyRVgydl
       o1VzZcL0JhR09ZcUFDc0dLZHJIUllGb2hmK084czRFaVwvR3JDNkp5RWR
       Uc3BCVzZSakVDbExJc0QraDIweFVZWitzaVVSTXROcHRuQXl1ZjVJajhr
       MmN6TDNmbjRwemFxd1wvR054eUUreE83bTRoMnBtcE9TUERpYlFGZGp2a
       zhnREpsWDhRYWZwNFVRR0RKT0huckhMQmRKenQyRzdsYXUzYUpDVERZZk
       dKNUtXSndMSjlTVHE0R0pQaURUaEJlZXV0cm9WWW0zS2JDeXJ0V3lXTGl
       aYVwvOHkzNnY1SW1PZ2kyWnhrQ0lMdlVYTTBiRVFrbzFqdko2WHRHUW1T
       VlBxcFBVTFN6VmZIN2xGTkhzZHV2bG9XTzhuNHFQbFpiU1FXNk9aeGphR
       1VGN2RmZVR2ZlwvSlVzVHhWZzFXNVVlVW9VaVZ5S0NqamJOdExsYmRMRD
       ZOSUk1T2FsNjdLK1wvSVJ0ZHBMc1FjY3VGdHVNRnJGc1dhTkRcL0FXaVJ
       oVGk2MnRKZklTTkplTEdZQ2ZPVndjSUdjXC9ZbDVBeW9yZnNBNTc0QXNR
       N2dscHl4Z3VEZ0hDNjR6aDNkRXZMdkV2XC8xZTZYNHhlXC9INDRZYmJ5e
       WgxMU9QNWIwNFRyVTlMWVpEZjNKcG14dmIyeXVteXhNY1BcL2V3RUFSWT
       JzSkdzUWdcL2hOaFJoYk1cL3puRTd3N3p4V2N6Q01md0RGemp3R2M9Iiw
       iaXYiOiJHMFozeG1lTFZ1dlRBTmhpeUZFSXBBPT0ifQ%3D%3D'
    headers = {
        'Content-Type': 'application/x-www-form-urlencoded'
    }

    response = requests.request("POST", url, headers=headers, data=payload)

    print(response.text)

                            
    {
       "message": "Pago Exitoso",
       "monto_recibido": "10",
       "sigla_cliente": "TESTUSER",
       "numero_confirmacion": "0082387431630",
       "numero_factura": "112021012206",
       "recibo": "eyJlbmNyeXB0ZWRfZGF0YSI6Im1HQ0xZSnRsUjltVVBoR0dodmVic
          VF6QVRLVjRGeWxrTFh0TFhGd3grSnBuTWtKeWpjYmJ5MkNvSnczYnB5c1hzYn
          BhMFpYektIYStadVhmakkzNXlQb2ZTdStIRDdZeUFFQ280Y3NqXC9VWnRLU2k
          3cjdvRmpNQ2VIWER5dkhqN2hHWjZpNlRXbXd5dXZFamtGUVFoR0E9PSIsIml2
          IjoiNUpMaHdLbWYrTGwrWUNWc0RLTFordz09In0=",
       "fecha_salida": "2021-01-22",
       "hora_salida": "14:31:51",
       "intentos": 1,
       "codigo_respuesta": 2
    }
                            
    import Foundation
    #if canImport(FoundationNetworking)
    import FoundationNetworking
    #endif

    var semaphore = DispatchSemaphore (value: 0)

    let parameters = "data%5Bdoc_id%5D=V001234567&data%5Bfull_name%5D=
       ANDRES%20R%20BETANCOURT%20M&data%5Bcard_number%5D=
       5018780544021000&data%5Bexpired_date%5D=
       2020%2F11&data%5Bmonto_compra%5D=10&data%5Bemail%5D=
       correo%40dominio.com&data%5Baccount_type%5D=
       CORRIENTE&data%5Bcompra_id%5D=
       1&data%5Bip_usuario%5D=127.0.0.1&data%5Bos_name%5D=
       Windows&data%5Bconcepto%5D%5B%5D=compra&key=payr3st%24andbox2020"
    let postData =  parameters.data(using: .utf8)

    var request = URLRequest(
        url: URL(string: "https://apiq.finhack.in/api/pay/enkey")
            !,timeoutInterval: Double.infinity
        )
    request.addValue(
        "application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type"
        )

    request.httpMethod = "POST"
    request.httpBody = postData

    let task = URLSession.shared.dataTask(with: request)
        { data, response, error in
            guard let data = data else {
            print(String(describing: error))
            semaphore.signal()
            return
        }
        print(String(data: data, encoding: .utf8)!)
        semaphore.signal()
    }

    task.resume()
    semaphore.wait()

                            
    {
       "message": "Datos encriptados",
       "encriptado":
       "eyJlbmNyeXB0ZWRfZGF0YSI6InRseGRTVmZQQksyRVgydlo1VzZcL0JhR09ZcUFD
       c0dLZHJIUllGb2hmK084czRFaVwvR3JDNkp5RWRUc3BCVzZSakVDbExJc0QraDIw
       eFVZWitzaVVSTXROcHRuQXl1ZjVJajhrMmN6TDNmbjRwemFxd1wvR054eUUreE83
       bTRoMnBtcE9TUERpYlFGZGp2azhnREpsWDhRYWZwNFVRR0RKT0huckhMQmRKenQy
       RzdsYXUzYUpDVERZZkdKNUtXSndMSjlTVHE0R0pQaURUaEJlZXV0cm9WWW0zS2JD
       eXJ0V3lXTGlaYVwvOHkzNnY1SW1PZ2kyWnhrQ0lMdlVYTTBiRVFrbzFqdko2WHRH
       UW1TVlBxcFBVTFN6VmZIN2xGTkhzZHV2bG9XTzhuNHFQbFpiU1FXNk9aeGphR1VG
       N2RmZVR2ZlwvSlVzVHhWZzFXNVVlVW9VaVZ5S0NqamJOdExsYmRMRDZOSUk1T2F
       sNjdLK1wvSVJ0ZHBMc1FjY3VGdHVNRnJGc1dhTkRcL0FXaVJoVGk2MnRKZklTTkpl
       TEdZQ2ZPVndjSUdjXC9ZbDVBeW9yZnNBNTc0QXNRN2dscHl4Z3VEZ0hDNjR6aDNkR
       XZMdkV2XC8xZTZYNHhlXC9INDRZYmJ5eWgxMU9QNWIwNFRyVTlMWVpEZjNKcG14dm
       IyeXVteXhNY1BcL2V3RUFSWTJzSkdzUWdcL2hOaFJoYk1cL3puRTd3N3p4V2N6Q01
       md0RGemp3R2M9IiwiaXYiOiJHMFozeG1lTFZ1dlRBTmhpeUZFSXBBPT0ifQ=="
    }
                            
    import Foundation
    #if canImport(FoundationNetworking)
    import FoundationNetworking
    #endif

    var semaphore = DispatchSemaphore (value: 0)

    let parameters = "encriptado=eyJlbmNyeXB0ZWRfZGF0YSI6InRseGRTVmZQQksyRVgy
    dlo1VzZcL0JhR09ZcUFDc0dLZHJIUllGb2hmK084czRFaVwvR3JDNkp5RWRUc3BCVzZSakVDb
    ExJc0QraDIweFVZWitzaVVSTXROcHRuQXl1ZjVJajhrMmN6TDNmbjRwemFxd1wvR054eUUreE
    83bTRoMnBtcE9TUERpYlFGZGp2azhnREpsWDhRYWZwNFVRR0RKT0huckhMQmRKenQyRzdsYXU
    zYUpDVERZZkdKNUtXSndMSjlTVHE0R0pQaURUaEJlZXV0cm9WWW0zS2JDeXJ0V3lXTGlaYVwv
    OHkzNnY1SW1PZ2kyWnhrQ0lMdlVYTTBiRVFrbzFqdko2WHRHUW1TVlBxcFBVTFN6VmZIN2xGT
    khzZHV2bG9XTzhuNHFQbFpiU1FXNk9aeGphR1VGN2RmZVR2ZlwvSlVzVHhWZzFXNVVlVW9VaV
    Z5S0NqamJOdExsYmRMRDZOSUk1T2FsNjdLK1wvSVJ0ZHBMc1FjY3VGdHVNRnJGc1dhTkRcL0F
    XaVJoVGk2MnRKZklTTkplTEdZQ2ZPVndjSUdjXC9ZbDVBeW9yZnNBNTc0QXNRN2dscHl4Z3VE
    Z0hDNjR6aDNkRXZMdkV2XC8xZTZYNHhlXC9INDRZYmJ5eWgxMU9QNWIwNFRyVTlMWVpEZjNKc
    G14dmIyeXVteXhNY1BcL2V3RUFSWTJzSkdzUWdcL2hOaFJoYk1cL3puRTd3N3p4V2N6Q01md0
    RGemp3R2M9IiwiaXYiOiJHMFozeG1lTFZ1dlRBTmhpeUZFSXBBPT0ifQ%3D%3D&
    codigo_tienda=TESTUSER"
    let postData =  parameters.data(using: .utf8)

    var request = URLRequest(url: URL(
            string: "https://apiq.finhack.in/api/pay/authTDD"
        )!,timeoutInterval: Double.infinity)
    request.addValue(
        "application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type"
        )

    request.httpMethod = "POST"
    request.httpBody = postData

    let task = URLSession.shared.dataTask(with: request)
        { data, response, error in
            guard let data = data else {
            print(String(describing: error))
            semaphore.signal()
            return
        }
        print(String(data: data, encoding: .utf8)!)
        semaphore.signal()
    }

    task.resume()
    semaphore.wait()



                            
    {
      "message": "Verificado",
      "encriptado": "eyJlbmNyeXB0ZWRfZGF0YSI6InRseGRTVmZQQksyRVgydlo
         1VzZcL0JhR09ZcUFDc0dLZHJIUllGb2hmK084czRFaVwvR3JDNkp5RWRUc
         3BCVzZSakVDbExJc0QraDIweFVZWitzaVVSTXROcHRuQXl1ZjVJajhrMmN
         6TDNmbjRwemFxd1wvR054eUUreE83bTRoMnBtcE9TUERpYlFGZGp2azh
         nREpsWDhRYWZwNFVRR0RKT0huckhMQmRKenQyRzdsYXUzYUpDVERZZkdKN
         UtXSndMSjlTVHE0R0pQaURUaEJlZXV0cm9WWW0zS2JDeXJ0V3lXTGlaYVw
         vOHkzNnY1SW1PZ2kyWnhrQ0lMdlVYTTBiRVFrbzFqdko2WHRHUW1TVlBxc
         FBVTFN6VmZIN2xGTkhzZHV2bG9XTzhuNHFQbFpiU1FXNk9aeGphR1VGN2R
         mZVR2ZlwvSlVzVHhWZzFXNVVlVW9VaVZ5S0NqamJOdExsYmRMRDZOSUk1T
         2FsNjdLK1wvSVJ0ZHBMc1FjY3VGdHVNRnJGc1dhTkRcL0FXaVJoVGk2Mn
         RKZklTTkplTEdZQ2ZPVndjSUdjXC9ZbDVBeW9yZnNBNTc0QXNRN2dscHl4
         Z3VEZ0hDNjR6aDNkRXZMdkV2XC8xZTZYNHhlXC9INDRZYmJ5eWgxMU9QNW
         IwNFRyVTlMWVpEZjNKcG14dmIyeXVteXhNY1BcL2V3RUFSWTJzSkdzUWdc
         L2hOaFJoYk1cL3puRTd3N3p4V2N6Q01md0RGemp3R2M9IiwiaXYiOiJHMF
         ozeG1lTFZ1dlRBTmhpeUZFSXBBPT0ifQ==",
      "sigla_cliente": "TESTUSER",
      "tipo_2FA": "claveinternet",
      "additional_data_required": {
        "pin": {
            "description": "pin",
            "datatype": "string",
            "minlength": 4,
            "maxlength": 6
        },
        "twofactauth": {
            "description": "OTP ó claveinternet ó clavebancatelefonica",
            "datatype": "string",
            "minlength": 4,
            "maxlength": 6
        }
    },
      "fecha_salida": "2021-01-22",
      "hora_salida": "14:09:28",
      "intentos": 1,
      "codigo_respuesta": 2
    }
                            
    import Foundation
    #if canImport(FoundationNetworking)
    import FoundationNetworking
    #endif

    var semaphore = DispatchSemaphore (value: 0)

    let parameters = "codigo_tienda=TESTUSER&cvv=000&twofactauth=
       0000&encriptado=eyJlbmNyeXB0ZWRfZGF0YSI6InRseGRTVmZQQksyRVgydlo1
       VzZcL0JhR09ZcUFDc0dLZHJIUllGb2hmK084czRFaVwvR3JDNkp5RWRUc3BCVzZS
       akVDbExJc0QraDIweFVZWitzaVVSTXROcHRuQXl1ZjVJajhrMmN6TDNmbjRwemFx
       d1wvR054eUUreE83bTRoMnBtcE9TUERpYlFGZGp2azhnREpsWDhRYWZwNFVRR0RK
       T0huckhMQmRKenQyRzdsYXUzYUpDVERZZkdKNUtXSndMSjlTVHE0R0pQaURUaEJl
       ZXV0cm9WWW0zS2JDeXJ0V3lXTGlaYVwvOHkzNnY1SW1PZ2kyWnhrQ0lMdlVYTTBi
       RVFrbzFqdko2WHRHUW1TVlBxcFBVTFN6VmZIN2xGTkhzZHV2bG9XTzhuNHFQbFpi
       U1FXNk9aeGphR1VGN2RmZVR2ZlwvSlVzVHhWZzFXNVVlVW9VaVZ5S0NqamJOdExs
       YmRMRDZOSUk1T2FsNjdLK1wvSVJ0ZHBMc1FjY3VGdHVNRnJGc1dhTkRcL0FXaVJo
       VGk2MnRKZklTTkplTEdZQ2ZPVndjSUdjXC9ZbDVBeW9yZnNBNTc0QXNRN2dscHl4
       Z3VEZ0hDNjR6aDNkRXZMdkV2XC8xZTZYNHhlXC9INDRZYmJ5eWgxMU9QNWIwNFRy
       VTlMWVpEZjNKcG14dmIyeXVteXhNY1BcL2V3RUFSWTJzSkdzUWdcL2hOaFJoYk1c
       L3puRTd3N3p4V2N6Q01md0RGemp3R2M9IiwiaXYiOiJHMFozeG1lTFZ1dlRBTmhp
       eUZFSXBBPT0ifQ%3D%3D"
    let postData =  parameters.data(using: .utf8)

    var request = URLRequest(url: URL(
          string: "https://apiq.finhack.in/api/pay/TDD"
        )!,timeoutInterval: Double.infinity)
    request.addValue(
        "application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type"
        )

    request.httpMethod = "POST"
    request.httpBody = postData

    let task = URLSession.shared.dataTask(with: request)
        { data, response, error in
            guard let data = data else {
            print(String(describing: error))
            semaphore.signal()
            return
        }
        print(String(data: data, encoding: .utf8)!)
        semaphore.signal()
    }

    task.resume()
    semaphore.wait()


                            
    {
       "message": "Pago Exitoso",
       "monto_recibido": "10",
       "sigla_cliente": "TESTUSER",
       "numero_confirmacion": "0082387431630",
       "numero_factura": "112021012206",
       "recibo": "eyJlbmNyeXB0ZWRfZGF0YSI6Im1HQ0xZSnRsUjltVVBoR0dodmVic
          VF6QVRLVjRGeWxrTFh0TFhGd3grSnBuTWtKeWpjYmJ5MkNvSnczYnB5c1hzYn
          BhMFpYektIYStadVhmakkzNXlQb2ZTdStIRDdZeUFFQ280Y3NqXC9VWnRLU2k
          3cjdvRmpNQ2VIWER5dkhqN2hHWjZpNlRXbXd5dXZFamtGUVFoR0E9PSIsIml2
          IjoiNUpMaHdLbWYrTGwrWUNWc0RLTFordz09In0=",
       "fecha_salida": "2021-01-22",
       "hora_salida": "14:31:51",
       "intentos": 1,
       "codigo_respuesta": 2
    }