Get Transaction Status
Payment Collection
Get Payment Transaction Status
Poll the current status of a payment collection or payout. Prefer webhooks; use this only when you cannot receive them.
GET
Get Transaction Status
Overview
GET /payment/transactions/{transactionId}/status returns the current status of a payment collection or payout. It is intended as a fallback when you cannot receive webhooks — for production traffic, the webhook flow is more reliable and lower-latency.
When to use it
- Your webhook receiver was down and you need to reconcile what you missed.
- You’re polling from a worker that doesn’t expose a public webhook endpoint.
- You’re investigating a specific transaction during support.
Polling guidance
- Cadence: Poll at most once every 5 seconds. After 30 seconds, switch to exponential backoff (10s, 20s, 40s, …).
- Stop conditions: Stop polling once
statusisSUCCESSorFAILED. Both are terminal. - Timeout: If the status remains
PENDING/PROCESSINGfor more than 15 minutes, treat the transaction as failed and reach out to support.
Prerequisites
- The transaction must belong to your company (or you supply
skipCompanyCheck=trueand have the privilege — see below).
Request
Headers
| Name | Required | Description |
|---|---|---|
Authorization | Yes | Bearer <access_token> |
Path parameters
| Name | Type | Description |
|---|---|---|
transactionId | string | Cartevo transaction ID (UUID) returned at initiation. |
Query parameters
| Name | Type | Default | Description |
|---|---|---|---|
doubleCheck | boolean | false | If true, force a re-fetch from the upstream operator before returning. Slower; useful when local state seems stale. |
includeUpstreamResponse | boolean | false | If true, attach the raw upstream-operator payload as upstream in the response. For debugging. |
skipCompanyCheck | boolean | false | Internal/ops use only. Bypasses the company-ownership check. Requires elevated privileges; ordinary tokens are ignored. |
Response
200 — Success
| Field | Type | Description |
|---|---|---|
transaction_id | string | Echoes the path parameter. |
external_id | string | Your idempotency key (or auto-generated). |
status | string | One of PENDING, PROCESSING, SUCCESS, FAILED. Both terminal: SUCCESS, FAILED. |
type | string | COLLECTION or PAYOUT. |
reason | string | Short human-readable reason. |
description | string | Free-form description (echoes the purpose field if you set one). |
error_message | string | Populated only when status: FAILED. |
Error responses
| Status | Trigger |
|---|---|
404 | Transaction does not exist or belongs to another company. |
Code examples
cURL
Node.js (axios) — polling pattern
Related
- Webhooks — preferred way to learn outcomes.
POST /payment/collectPOST /payment/payout
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Transaction UUID