Generate Auth Token
Create a new JWT-based access token using your API Key, Secret Key, and Scope. The token must be included in the request header when calling any protected endpoint across iPOS Transact, Batch Report, Recurring Payments, Merchant Onboarding, Transaction Status Check, and Hosted Payment Page.
How to Generate API and Secret Keys
The apiKey and secretKey can be generated through the iPOSpays portal using an ISO, Agent
Office, or Merchant Admin account.
- Log in via your ISO Admin account.
- Navigate to Settings → Generate API & Secret Key.
- Under Generate Keys, click Generate Keys, then use the copy icon — the Secret Key is masked by default.
- Click Reset Secret Key to regenerate it if needed.
- Use the generated credentials to authenticate your API requests.
Header Parameters
The apiKey can be generated from the iPOSpays portal using an ISO, Agent Office, and Merchant Admin account. These keys are required for authentication.
The secret key can be generated from the iPOSpays portal using an ISO, Agent Office, and Merchant Admin account. These keys are required for authentication.
Custom token expiry time in minutes. Minimum value is 30 minutes, maximum value is 24 hours (1440 minutes).
30 <= value <= 1440Response Body
200 application/json — Token generated successfully.
Numeric response status indicator ("00" typically signifies success).
Status message return text.
Epoch timestamp string indicating token generation completion.
Encrypted JWT Bearer Authentication Token.
400 application/json — Bad Request / Validation Errors.
Unique authentication process error identifier.
Human-readable clarification outlining the failure cause.
401 application/json — Unauthorized.
Unique authentication process error identifier.
Human-readable clarification outlining the failure cause.
Always keep your API Key and Secret Key confidential, and use only the scopes that match your integration level.
curl -X POST "https://auth.ipospays.tech/v1/authenticate-token" \ -H "apiKey: your_api_key_here" \ -H "secretKey: your_secret_key_here" \ -H "TokenExpiryMinutes: 1000"
const response = await fetch("https://auth.ipospays.tech/v1/authenticate-token", {
method: "POST",
headers: {
apiKey: "your_api_key_here",
secretKey: "your_secret_key_here",
TokenExpiryMinutes: "1000",
},
});
const data = await response.json();package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("POST", "https://auth.ipospays.tech/v1/authenticate-token", nil)
req.Header.Set("apiKey", "your_api_key_here")
req.Header.Set("secretKey", "your_secret_key_here")
req.Header.Set("TokenExpiryMinutes", "1000")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}import requests
response = requests.post(
"https://auth.ipospays.tech/v1/authenticate-token",
headers={
"apiKey": "your_api_key_here",
"secretKey": "your_secret_key_here",
"TokenExpiryMinutes": "1000",
},
)
print(response.json())HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://auth.ipospays.tech/v1/authenticate-token"))
.header("apiKey", "your_api_key_here")
.header("secretKey", "your_secret_key_here")
.header("TokenExpiryMinutes", "1000")
.POST(HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://auth.ipospays.tech/v1/authenticate-token");
request.Headers.Add("apiKey", "your_api_key_here");
request.Headers.Add("secretKey", "your_secret_key_here");
request.Headers.Add("TokenExpiryMinutes", "1000");
var response = await client.SendAsync(request);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);{
"responseCode": "00",
"responseMessage": "Success",
"createdDt": "1749532846158",
"token": "Your Auth Token"
}Last updated on September 8, 2026