4. Refresh Token

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