Authentication
How to obtain and use bearer tokens for the Payments API and the Disbursement API
Both the Payments API and the Disbursement API use Bearer token authentication. Each API has its own token endpoint, its own token, and its own environment variable — a Payments API token cannot be used against the Disbursement API, and vice versa.
Payments API — Create Token
POST /v1/biller/token/create
Generates the bearer token used to authenticate every other Payments API request.
- Credentials (
username,password) are passed as query parameters, not a JSON body. - Requires a header
X-Server: 1. - Returns a token valid for up to 60 minutes (
expires_in: 3600seconds).
Example request
Example response
Usage Guidelines
Call this no more than once every 55 minutes — reuse the token rather than re-authenticating on every request.
- Store the token securely. An in-memory cache is recommended; encrypted local storage or your system’s secure key store are acceptable alternatives.
expires_inis in seconds —3600means 60 minutes.- Send the token on every subsequent request as:
- A
Signature Keyis also issued alongside your sandbox credentials (9XAgVZzU4WhqrXA6jEvMtkF85j8wKZZhQ5RE2hsDPwa5rjPT7RpCmJceu8jNt4Wy) as part of your merchant credential set.
Disbursement API — Create Access Token
POST /v1/auth/token
Generates the bearer token used to authenticate every other Disbursement API request.
- Credentials are passed as a JSON body, not query parameters.
- Returns a token valid for approximately 60 minutes (
expires_in~3600 seconds).
Example request
Example response
Usage Guidelines
- Must be called before any other Disbursement API request.
- On success, the token is automatically saved to the
tokenenvironment variable, so it’s immediately available to every other request in the collection — no manual copy/paste needed. - Use your assigned sandbox/staging test credentials while integrating.
Sending the Token
Regardless of which API you’re calling, authenticated requests all use the same header format: