Remittance order list
x-on-behalf-of required
This member’s remittance orders under your merchant, newest first. Cross-merchant and cross-member access is excluded; x-on-behalf-of is a strict scope.
Query Parameters
| Field | Type | Required | Description |
|---|---|---|---|
limit |
integer | Optional | Items per page. Defaults to 20, capped at 100; invalid values fall back to 20. |
cursor |
string | Optional | next_cursor from the previous page. Opaque string; do not construct it yourself. This is a keyset cursor, not OFFSET, so new orders arriving during pagination do not make you see the same row twice. |
Request Headers
| Field | Type | Required | Description |
|---|---|---|---|
x-on-behalf-of |
string | Required | Member on whose behalf the call is made. |
Response
{
"data": [
{
"id": "rmt_9c1f0a7e-3b2d-4f81-9a55-1d2e3f4a5b6c",
"line": "express",
"status": "processing",
"status_version": 3,
"source_asset": "USDT",
"ledger_scale": 6,
"locked_amount": "504.979800",
"settled_amount": "0.000000",
"fee": "2.480000",
"payout_currency": "GBP",
"payout_amount": "380.00",
"rate": "1.2743",
"rate_is_dealt": false,
"purpose_code": "FAMILY_SUPPORT",
"reference": "Rent Aug",
"failure_code": "",
"payout_date": "2026-08-13",
"payee": {
"summary": "Barclays ····4821",
"holder": "MARY SMITH"
},
"created_at": "2026-08-12T09:30:00Z",
"updated_at": "2026-08-12T09:31:12Z"
}
],
"next_cursor": "MjAyNi0wOC0xMlQwOTozMDowMFp8OWMxZjBhN2U",
"has_more": false
}Additional Details
More fields than order details, with useful additional context
locked_amount / settled_amount / fee are fixed-point decimal strings with decimal points included, using the same row’s ledger_scale. Before execution, settled_amount is "0.000000". The final debit is only meaningful at settlement; do not display that field as an already-charged amount beforehand.
rate and rate_is_dealt belong together
When rate_is_dealt: false, rate is indicative. Label it “indicative exchange rate” instead of implying execution; only true identifies the execution price. Without this distinction, users may believe a changing number is fixed.
status and status_version
pending_merchant_funds maps to pending, as in creation responses. Other statuses are returned unchanged. Expose unknown values as received, never defaulting to “processing”. When merging query responses, only update forward by status_version; a slow response must not regress “received” to “processing”.
failure_code is nonempty only for failures and contains a stable public code, not an internal reason.
payout_date: the user’s first question
After dispatch, this is the settlement date recognized by the upstream, YYYY-MM-DD; before dispatch, it is empty. Without it you might hardcode “1-3 business days”, which does not adequately describe the difference between same-day GBP Faster Payments and USD SWIFT T+2. For an indication before ordering, use GET /v1/remit/conversion-dates.
⚠ This is the value date on which funds leave the upstream, not a guaranteed recipient arrival date. The receiving bank’s clearing network controls the final leg, which neither we nor the upstream guarantee.
⚠ Do not infer completion from this date; status is always authoritative. Cases where the date arrives but funds do not, such as upstream document requests or bank returns, especially require follow-up.
curl -X GET 'https://api.zinfra.vip/v1/remittances' \
-H 'x-auth-token: Bearer $TOKEN' \
-H 'x-on-behalf-of: $MEMBER_ID'const res = await fetch("https://api.zinfra.vip/v1/remittances", {
method: "GET",
headers: {
"x-auth-token": "Bearer $TOKEN",
"x-on-behalf-of": "$MEMBER_ID",
},
});
// Keep monetary amounts as strings, never numbers.
const data = await res.json();import requests
res = requests.get(
"https://api.zinfra.vip/v1/remittances",
headers={
"x-auth-token": "Bearer $TOKEN",
"x-on-behalf-of": "$MEMBER_ID",
},
)
# Use Decimal(str(...)) for amounts, not float.
data = res.json()req, _ := http.NewRequest("GET", "https://api.zinfra.vip/v1/remittances",
nil)
req.Header.Set("x-auth-token", "Bearer $TOKEN")
req.Header.Set("x-on-behalf-of", "$MEMBER_ID")
res, err := http.DefaultClient.Do(req)
// Decode amount fields as string, not float64.HttpRequest req = HttpRequest.newBuilder()
.uri(URI.create("https://api.zinfra.vip/v1/remittances"))
.header("x-auth-token", "Bearer $TOKEN")
.header("x-on-behalf-of", "$MEMBER_ID")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
// Use String / BigDecimal for amounts, not double.$ch = curl_init('https://api.zinfra.vip/v1/remittances');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'x-auth-token: Bearer $TOKEN',
'x-on-behalf-of: $MEMBER_ID',
],
]);
$res = curl_exec($ch);
// Use bcmath / strings for amounts, not floatval.
{
"data": [
{
"id": "rmt_9c1f0a7e-3b2d-4f81-9a55-1d2e3f4a5b6c",
"line": "express",
"status": "processing",
"status_version": 3,
"source_asset": "USDT",
"ledger_scale": 6,
"locked_amount": "504.979800",
"settled_amount": "0.000000",
"fee": "2.480000",
"payout_currency": "GBP",
"payout_amount": "380.00",
"rate": "1.2743",
"rate_is_dealt": false,
"purpose_code": "FAMILY_SUPPORT",
"reference": "Rent Aug",
"failure_code": "",
"payout_date": "2026-08-13",
"payee": {
"summary": "Barclays ····4821",
"holder": "MARY SMITH"
},
"created_at": "2026-08-12T09:30:00Z",
"updated_at": "2026-08-12T09:31:12Z"
}
],
"next_cursor": "MjAyNi0wOC0xMlQwOTozMDowMFp8OWMxZjBhN2U",
"has_more": false
}