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
http://108.168.205.37/payREST/public/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
http://108.168.205.37/payREST/public/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
http://108.168.205.37/payREST/public/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("http://108.168.205.37/payREST/public/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("http://108.168.205.37/payREST/public/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("http://108.168.205.37/payREST/public/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("http://108.168.205.37/payREST/public/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("http://108.168.205.37/payREST/public/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("http://108.168.205.37/payREST/public/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': 'http://108.168.205.37/payREST/public/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': 'http://108.168.205.37/payREST/public/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': 'http://108.168.205.37/payREST/public/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 => 'http://108.168.205.37/payREST/public/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 => 'http://108.168.205.37/payREST/public/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 => 'http://108.168.205.37/payREST/public/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 = "http://108.168.205.37/payREST/public/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 = "http://108.168.205.37/payREST/public/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 = "http://108.168.205.37/payREST/public/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: "http://108.168.205.37/payREST/public/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: "http://108.168.205.37/payREST/public/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: "http://108.168.205.37/payREST/public/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
}