Page tree
Skip to end of metadata
Go to start of metadata

En este apartado, explicaremos cómo obtener autorización para los servicios web de Pago TIC. Además, te mostraremos algunos ejemplos y posibles errores que podrían ocurrir.


Todos los servicios web de Pago TIC requieren autorización.

Credenciales

Para acceder a todos los servicios web de Pago TIC, es necesario contar con credenciales de acceso válidas. El primer paso para obtenerlas es registrarse en la página web de Pago TIC. Si aún no lo has hecho, Ingresá a https://pagotic.com/contacto/ y completá el formulario de contacto, un asesor comercial se comunicará con vos a la brevedad .
Una vez que ya tienes una cuenta en nuestra plataforma, nuestro equipo de atención al cliente te facilitará las credenciales de acceso a la API.

Es fundamental guardar estas credenciales bajo estrictas normas de seguridad.

Solicitud

Una vez que contamos con las credenciales, debemos solicitar autorización mediante un servicio web. Para ello, se debe enviar un POST a la siguiente URL: https://a.paypertic.com/auth/realms/entidades/protocol/openid-connect/token

El cuerpo del mensaje debe ser del tipo x-www-form-urlencoded y debe contener todos los campos de las credenciales: username, password, grant_type, client_id y client_secret.


Por ejemplo:

curl --location 'https://a.paypertic.com/auth/realms/entidades/protocol/openid-connect/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'username=USUARIO' \
--data-urlencode 'password=PASSWORD' \
--data-urlencode 'grant_type=password' \
--data-urlencode 'client_id=16465308-1844-4abe-abe6-f184149ee740' \
--data-urlencode 'client_secret=a2d03fa3-f6c4-45e5-9792-dc0d8b51a25c'


Si la solicitud fue exitosa, el servicio responderá con un código HTTP 200. Además, en el cuerpo del mensaje se encontrará un JSON que contiene los siguientes campos:

access_token: Este es el token de acceso que debemos utilizar en el encabezado de autorización (Authorization) de todas las solicitudes hacia los servicios de Pago TIC.

expires_in: Este valor representa el tiempo de duración del access_token. El mismo se encuentra expresado en segundos.

refresh_token: Token de refresco que nos permitirá solicitar un token de acceso sin enviar las credenciales en cada solicitud. Ver Solicitar autorización con refresh_token.

refresh_expires_in: Tiempo que puede pasar sin utilizarse el refresh_token antes de su expiración. Está expresado en segundos.

token_type: Tipo de token.

not-before-policy: Campo de uso interno.

session_state: Campo de uso interno.

Con esta respuesta, completamos la solicitud de autorización y ya estamos en condiciones de consumir los servicios web de Pago TIC. Solo es necesario añadir el encabezado Authorization con el valor "Bearer access_token", donde access_token debe ser reemplazado por el valor obtenido en la respuesta del servicio de autorización.


Por ejemplo:

curl --location 'https://api.paypertic.com/pagos' \
--header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJLdnB0T0R6RXdlQUp4LXZVWDc1NFJWVnFlak51NGwtTXUxUE9UbVB4Q1dBIn0.eyJqdGkiOiIzYzk3ZDkxNi1iNWNmLTQyM2ItODRhMC05Y2UwMDU4Yjc0M2UiLCJleHAiOjE1NTc2MjQzMjMsIm5iZiI6MCwiaWF0IjoxNTU3NjIxMzIzLCJpc3MiOiJodHRwczovL2EucGF5cGVydGljLmNvbS9hdXRoL3JlYWxtcy9lbnRpZGFkZXMiLCJhdWQiOiIxNjQ2NTMwOC0xODQ0LTRhYmUtYWJlNi1mMTg0MTQ5ZWU3NDAiLCJzdWIiOiI0MGZlOTFkNi1mNmQ5LTRmOTMtOWZhOC05MGExYmFiMDllNmEiLCJ0eXAiOiJCZWFyZXIiLCJhenAiOiIxNjQ2NTMwOC0xODQ0LTRhYmUtYWJlNi1mMTg0MTQ5ZWU3NDAiLCJhdXRoX3RpbWUiOjAsInNlc3Npb25fc3RhdGUiOiJmOTRiNDdmMS02M2M5LTRlZDEtODE1My0zM2M3MmE3ZmNkMTMiLCJhY3IiOiIxIiwiYWxsb3dlZC1vcmlnaW5zIjpbXSwicmVzb3VyY2VfYWNjZXNzIjp7IjE2NDY1MzA4LTE4NDQtNGFiZS1hYmU2LWYxODQxNDllZTc0MCI6eyJyb2xlcyI6WyJmaWxlLWV4cG9ydCIsImNyZWF0ZS1zdWJzY3JpcHRpb24iLCJhZG1pbmlzdHJhdG9yIiwicmVxdWVzdC1yZWZ1bmQiLCJjcmVhdGUtcGF5bWVudCIsImFwaS11c2VyIiwidW1hX3Byb3RlY3Rpb24iLCJjYW5jZWwtcGF5bWVudCIsImJhc2UtdXNlciIsInJldHJ5LXBheW1lbnQiXX0sImFjY291bnQiOnsicm9sZXMiOlsiYWRtaW5pc3RyYXRvciIsImJhc2UtdXNlciIsInZpZXctcHJvZmlsZSJdfX0sInNpZ25hdHVyZSI6Ijk5OSIsInByZWZlcnJlZF91c2VybmFtZSI6ImVudGlkYWRwcnVlYmEiLCJlbWFpbCI6ImVudGlkYWRwcnVlYmFAcGF5cGVydGljLmNvbSIsInNpZ25hdHVyZXMiOiJbMTE0NiwxMTQ3LDExNDgsOTk5XSJ9.RtDumNL2KWEJkpSnauCl023q1EvKZfow0ArpQhRxhqoYtKDv6opbMP0NffTIG1jMduWawtJ4fi9BJO5PnS4JTgKtKTzhh5xD6FK0ohKCxJ-XiD57bLFucTJi0q9UL3Lh6UN5DyOxbBWwbW8L5zCK0bxCGOkSb-4Xj8eJCzMWfUheAUWSxxja_gQy6n3FOsc_bLkOnsNiD639UPX8p6ONpzeMfQxwEt0P_hHwI5AUGCeYahdzK1XwLmMWOSmbDw8x5hLpCNWjxCIB6YO4CSo5MMtVS8PTk39X6Kv73JyHDxF1dOfi8vaNPZ_yW0AKt0djXlKttajUKxcAnkrme9BN2w'\ ... 

Posibles Errores

{
    "error": "invalid_request",
    "error_description": "Missing form parameter: grant_type"
}

Este error indica que falta un parámetro requerido en la solicitud: grant_type. Puede haber dos posibles causas:

  • El parámetro no se envió en la solicitud. Verifique que el campo correspondiente haya sido enviado y agregue el parámetro y su valor, siguiendo la guía proporcionada.
  • El formato del mensaje no es correcto. Recuerde que el formato debe ser tipo x-www-form-urlencoded.

{
    "error": "invalid_request",
    "error_description": "Missing parameter: username"
}

Este error indica que falta un parámetro requerido en la solicitud: username. Verifique que el campo correspondiente haya sido enviado en la solicitud.

{
    "error": "invalid_grant",
    "error_description": "Invalid user credentials"
}

Este error indica que las credenciales de usuario enviadas (username y password) no son válidas. Hay varias posibles causas:

  • El campo password no se envió en la solicitud. Verifique que el campo correspondiente haya sido enviado.
  • El usuario introducido es incorrecto. Verifique que el usuario ingresado sea el correcto.
  • La contraseña enviada es incorrecta. Verifique que la contraseña enviada sea la correcta, teniendo en cuenta que este campo distingue entre mayúsculas y minúsculas. Si después de estos controles el problema persiste, comuníquese con nosotros para obtener más ayuda.

{
    "error": "unauthorized_client",
    "error_description": "UNKNOWN_CLIENT: Client was not identified by any client authenticator"
}


  • El campo client_id no se envió en la solicitud. Verifique que el campo correspondiente haya sido enviado.
  • El valor de client_id es incorrecto. Verifique que el valor ingresado en el campo sea el indicado en sus credenciales.

    Si después de estos controles el problema persiste, comuníquese con nosotros para obtener más ayuda.


{
    "error": "unauthorized_client",
    "error_description": "Client secret not provided in request"
}


Este error indica que el campo client_secret no se envió en la solicitud. Verifique que el campo correspondiente haya sido enviado.

{
    "error": "unauthorized_client",
    "error_description": "Invalid client secret"
}


Este error indica que el valor del campo client_secret no es correcto. Verifique que el valor enviado sea el que indica sus credenciales.

Si después de este control el problema persiste, comuníquese con nosotros para obtener más ayuda.


Si el error que recibe no se encuentra resuelto en este apartado, le rogamos comunicarse con nuestro equipo de soporte.

  • No labels