Current status of a payment
GET
/payments/{paymentId}/status
const url = 'https://hub.stablezact.com/api/v1/payments/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/status';const options = {method: 'GET', headers: {'X-Public-Key': '<X-Public-Key>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://hub.stablezact.com/api/v1/payments/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/status \ --header 'X-Public-Key: <X-Public-Key>'Reads the payment’s live state, including how much has arrived. This and
/payments/status/{paymentId} are the same handler on two paths; either
is fine.
Poll this from your server rather than the browser. A status read in the customer’s browser can be faked by the customer.
An id that does not exist returns 500 rather than 404.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”paymentId
required
string format: uuid
Responses
Section titled “Responses”The payment’s current state.
Media typeapplication/json
Returned by both /payments/{paymentId}/status and /payments/status/{paymentId}, which are one handler on two paths.
object
success
boolean
payment
object
status
string
amount
string
amountReceived
string | null
currency
string
confirmations
integer
detectedAt
string | null format: date-time
confirmedAt
string | null format: date-time
expiresAt
string | null format: date-time
bridgeStatus
string | null
Examplegenerated
{ "success": true, "payment": { "status": "example", "amount": "example", "amountReceived": "example", "currency": "example", "confirmations": 1, "detectedAt": "2026-04-15T12:00:00Z", "confirmedAt": "2026-04-15T12:00:00Z", "expiresAt": "2026-04-15T12:00:00Z", "bridgeStatus": "example" }}Missing or invalid credentials.
Media typeapplication/json
object
success
boolean
error
required
Short machine-ish reason.
string
message
Longer explanation, when there is one.
string
Example
{ "error": "API credentials required. Use x-public-key header or x-api-key and x-api-secret headers."}