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. } }
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. }
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 }