Pasos para actualizar token vencido.
Una vez el access_token generado ha llegado a su vida útil (11 horas con 59 segundos), es necesario solicitar uno nuevo de la misma forma que en el apartado anterior o en su defecto utilizar el refresh_token.
Si se desea utilizar el refresh_token se puede solicitar sobre la misma url y que anexamos a continuación:
https://api-154.api-netpay.com/oauth-service/oauth/token
Posteriormente en el body, sobre el campo grant_type se debe enviar el valor o texto "refresh_token" de la petición tipo POST y se debe crear un nuevo campo refresh_token ingresando el valor previamente guardado en la generación del acces_token.
3.1 Ejemplo de solicitud.
A continuación, se muestra ejemplos en diferentes lenguajes de programación para realizar una petición de refresh_token y de esta manera se devuelva un nuevo token para continuar transaccionando.
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api-154.api-netpay.com/oauth-service/oauth/token',
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 => 'grant_type=refresh_token&refresh_token={{REFRESH_TOKEN}}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/x-www-form-urlencoded',
'Authorization: Basic {{BASE64_ENCODE('CLIENT_ID:CLIENT_SECRET')}}',
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import requests
url = "https://api-154.api-netpay.com/oauth-service/oauth/token"
payload = 'grant_type=refresh_token&refresh_token={{REFRESH_TOKEN}}'
headers = {
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': 'Basic {{BASE64_ENCODE('CLIENT_ID:CLIENT_SECRET')}}',
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
3.2 Ejemplo de respuesta.
Finalmente se anexa un ejemplo de la respuesta generada después de la generación del refresh_token:
{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJks",
"token_type": "bearer",
"refresh_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQ",
"expires_in": 43199,
"scope": "read write",
"jti": "666d013d-9fcb-4921-a726-9be98ccdefdf"
}