#!/usr/bin/env bash
# Beta. Fetch a settlement batch's status and totals by reference.
set -euo pipefail
API_BASE="${RADIUMONE_API_BASE:-https://api-sandbox.radiumone.io/gateway}"
: "${RADIUMONE_ACCESS_TOKEN:?set RADIUMONE_ACCESS_TOKEN to a Bearer access token with the settlement-read scope}"
: "${RADIUMONE_SETTLEMENT_REFERENCE:?set RADIUMONE_SETTLEMENT_REFERENCE to the batch reference}"
curl -sS "$API_BASE/v1/settlement/$RADIUMONE_SETTLEMENT_REFERENCE" \
-H "Authorization: Bearer $RADIUMONE_ACCESS_TOKEN"#!/usr/bin/env python3
"""Beta. Fetch a settlement batch's status and totals by reference."""
import json
import os
import requests
API_BASE = os.environ.get("RADIUMONE_API_BASE", "https://api-sandbox.radiumone.io/gateway")
def retrieve_settlement_batch() -> dict:
reference = os.environ["RADIUMONE_SETTLEMENT_REFERENCE"]
resp = requests.get(
f"{API_BASE}/v1/settlement/{reference}",
headers={"Authorization": f"Bearer {os.environ.get('RADIUMONE_ACCESS_TOKEN', '')}"},
timeout=30,
)
payload = resp.json()
if not resp.ok:
code = payload.get("type") or payload.get("code")
raise RuntimeError(f"settlement fetch failed: {code} ({resp.status_code})")
return payload
if __name__ == "__main__":
print(json.dumps(retrieve_settlement_batch(), indent=2))
{
"data": {
"batch_date": "2023-12-25",
"batch_id": "<string>",
"batch_number": "<string>",
"presented_currency": "<string>",
"settlement_currency": "<string>",
"state": "<string>",
"total_presented_amount": 123,
"totals_provisional": true,
"tx_count": 123,
"closed_at": "2023-11-07T05:31:56Z",
"confirmed_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"device_id": "<string>",
"reconciled_at": "2023-11-07T05:31:56Z",
"submitted_at": "2023-11-07T05:31:56Z",
"total_settlement_amount": 123
},
"message": "<string>",
"request_id": "<string>",
"status": "ok"
}{
"detail": "Missing or invalid Bearer token.",
"status": 401,
"title": "Authentication Required",
"type": "urn:radiumone:gateway:authentication-required"
}{
"detail": "Insufficient permissions for this operation.",
"status": 403,
"title": "Permission Denied",
"type": "urn:radiumone:gateway:permission-denied"
}{
"detail": "The requested resource does not exist.",
"status": 404,
"title": "Not Found",
"type": "urn:radiumone:gateway:not-found"
}{
"detail": "An unexpected error occurred.",
"status": 500,
"title": "Internal Server Error",
"type": "urn:radiumone:gateway:internal-server-error"
}Settlement batch - Payments API
Poll a settlement batch’s status and totals, whether it closed on the daily cutoff or early.
#!/usr/bin/env bash
# Beta. Fetch a settlement batch's status and totals by reference.
set -euo pipefail
API_BASE="${RADIUMONE_API_BASE:-https://api-sandbox.radiumone.io/gateway}"
: "${RADIUMONE_ACCESS_TOKEN:?set RADIUMONE_ACCESS_TOKEN to a Bearer access token with the settlement-read scope}"
: "${RADIUMONE_SETTLEMENT_REFERENCE:?set RADIUMONE_SETTLEMENT_REFERENCE to the batch reference}"
curl -sS "$API_BASE/v1/settlement/$RADIUMONE_SETTLEMENT_REFERENCE" \
-H "Authorization: Bearer $RADIUMONE_ACCESS_TOKEN"#!/usr/bin/env python3
"""Beta. Fetch a settlement batch's status and totals by reference."""
import json
import os
import requests
API_BASE = os.environ.get("RADIUMONE_API_BASE", "https://api-sandbox.radiumone.io/gateway")
def retrieve_settlement_batch() -> dict:
reference = os.environ["RADIUMONE_SETTLEMENT_REFERENCE"]
resp = requests.get(
f"{API_BASE}/v1/settlement/{reference}",
headers={"Authorization": f"Bearer {os.environ.get('RADIUMONE_ACCESS_TOKEN', '')}"},
timeout=30,
)
payload = resp.json()
if not resp.ok:
code = payload.get("type") or payload.get("code")
raise RuntimeError(f"settlement fetch failed: {code} ({resp.status_code})")
return payload
if __name__ == "__main__":
print(json.dumps(retrieve_settlement_batch(), indent=2))
{
"data": {
"batch_date": "2023-12-25",
"batch_id": "<string>",
"batch_number": "<string>",
"presented_currency": "<string>",
"settlement_currency": "<string>",
"state": "<string>",
"total_presented_amount": 123,
"totals_provisional": true,
"tx_count": 123,
"closed_at": "2023-11-07T05:31:56Z",
"confirmed_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"device_id": "<string>",
"reconciled_at": "2023-11-07T05:31:56Z",
"submitted_at": "2023-11-07T05:31:56Z",
"total_settlement_amount": 123
},
"message": "<string>",
"request_id": "<string>",
"status": "ok"
}{
"detail": "Missing or invalid Bearer token.",
"status": 401,
"title": "Authentication Required",
"type": "urn:radiumone:gateway:authentication-required"
}{
"detail": "Insufficient permissions for this operation.",
"status": 403,
"title": "Permission Denied",
"type": "urn:radiumone:gateway:permission-denied"
}{
"detail": "The requested resource does not exist.",
"status": 404,
"title": "Not Found",
"type": "urn:radiumone:gateway:not-found"
}{
"detail": "An unexpected error occurred.",
"status": 500,
"title": "Internal Server Error",
"type": "urn:radiumone:gateway:internal-server-error"
}Request
Path parameterreference (batch UUID) — from a
settlement.settled / settlement.rejected webhook.
Response
totals_provisional is true while the batch is still open (totals are
running estimates) and false once closed, when total_settlement_amount
becomes authoritative. total_settlement_amount stays null until the
batch reaches a confirmed state. Returns 404 — never 403 — for a batch
that doesn’t exist or belongs to a different merchant, to prevent batch-ID
enumeration.
See Settlement and reconciliation
for batch lifecycle states.Authorizations
Bearer access token from POST /v1/auth/token. Treat it as an opaque string — do not depend on its internal encoding, which has changed before and isn't part of the contract.
Path Parameters
The settlement batch reference returned when the batch was created, or carried on a settlement.settled / settlement.rejected webhook.
Response
Successful Response
Standard success envelope. Every successful response has this shape, with the operation's own payload under data.
The operation's result. Its shape is documented per operation; omitted on responses that carry no payload.
Show child attributes
Show child attributes
Optional human-readable note. Omitted from the response when not set, which is the case for every payment operation today. Never parse it.
Correlation ID for this HTTP request, for logs and support. Send your own in the X-Request-Id header (letters, digits and hyphens, up to 36 characters -- other characters are stripped) or the gateway generates one. This is NOT the request_id idempotency key you send in a transaction body; the two are unrelated.
Always ok on a successful (2xx) response. Errors use a different body shape entirely (RFC 9457 problem details), so branch on the HTTP status code, not on this field.