Skip to main content
Check the current status of a fiat payment intent created via POST /payments/fiat/intent. Use this endpoint to poll for payment confirmation after the supporter has been shown checkout or bank transfer instructions. The response reflects the most up-to-date state, including completedAt when the payment has settled.

Request

GET https://tipstack.fun/api/payments/fiat/status
intentId
string
required
The intent identifier returned by POST /payments/fiat/intent. Must be the fossa_xxx formatted ID — not a transaction signature.

Response

success
boolean
true when the intent was found and the status was retrieved successfully.
intentId
string
The intent identifier you queried.
status
string
Current payment state. One of:
ValueDescription
requires_actionThe supporter has not yet completed payment. Checkout or bank transfer instructions are still valid.
completedPayment settled. The tip has been credited to the creator’s fiat wallet and recorded in Tip Stack.
failedPayment could not be completed. The supporter should create a new intent to retry.
cancelledThe intent was cancelled before payment was attempted.
completedAt
string | null
ISO 8601 timestamp of when the payment was confirmed. null while the intent is still pending.

Example request

cURL
curl "https://tipstack.fun/api/payments/fiat/status?intentId=fossa_7c3e9a1b2f4d8e0a6c5b"

Example response — pending

JSON
{
  "success": true,
  "intentId": "fossa_7c3e9a1b2f4d8e0a6c5b",
  "status": "requires_action",
  "completedAt": null
}

Example response — completed

JSON
{
  "success": true,
  "intentId": "fossa_7c3e9a1b2f4d8e0a6c5b",
  "status": "completed",
  "completedAt": "2025-01-15T14:32:07.000Z"
}
This endpoint sets Cache-Control: no-store on every response. Do not cache status responses — always fetch fresh data when polling.
Poll this endpoint every 5–10 seconds after the supporter initiates payment. Once status is completed, stop polling and update your UI to reflect a confirmed tip.