Terminal Payments

Retrieve historical payments processed by one specific terminal. Use this endpoint for device-level reconciliation, in-store reporting, or quick troubleshooting.

Endpoint

GET https://api.test.devs.beadpay.io/Terminals/{id}/payments
Path parameter
Type
Description

id

string

The unique terminalId you want to query.

Query parameters

All pagination, sorting, and filter options are documented on the Pagination & Sorting page. Add any combination of the following to the query string:

page, pageSize, sortBy, sortDirection, fromDate, toDate, status

Request example

bashCopyEditGET /Terminals/abc123xyz4567890/payments
  ?page=0&pageSize=50
  &sortBy=created&sortDirection=desc
  &fromDate=2025-04-01T00:00:00Z
  &toDate=2025-04-24T23:59:59Z

cURL

curl "https://api.test.devs.beadpay.io/Terminals/abc123xyz4567890/payments?page=0&pageSize=50&sortBy=created&sortDirection=desc&fromDate=2025-04-01T00:00:00Z&toDate=2025-04-24T23:59:59Z"

(No -X flag is required because curl defaults to GET.)

Response example (trimmed)

{
  "data": [
    {
      "id": "pay_5d3a9e",
      "created": "2025-04-18T14:22:31Z",
      "updated": "2025-04-18T14:22:31Z",
      "terminalId": "abc123xyz4567890",
      "statusCode": "completed",
      "trackingId": "trk_p3a7",
      "amounts": {
        "requested": {
          "inPaymentCurrency": { "amount": 4200, "amountPrecision": 2, "currencyId": 840 }
        },
        "paid": {
          "inPaymentCurrency": { "amount": 4200, "amountPrecision": 2, "currencyId": 840 }
        }
      },
      "reference": "INV-1001",
      "description": "POS sale #1001"
    }
  ],
  "total": 27,
  "page": 0
}

Key fields

Field
Description

statusCode

Current payment status (completed, underpaid, overpaid, etc.).

trackingId

Use with /Payments/tracking/{trackingId} to poll for real-time status.

amounts.requested / amounts.paid

Requested vs. final authorized amounts.

reference

Your own invoice or order identifier.


Common errors

Code
When it happens
How to fix

400

Bad date format or unsupported status value.

Check ISO-8601 dates and allowed status values.

404

Unknown terminalId.

Verify the ID is correct and belongs to your account.

429

Rate limit exceeded.

Reduce call frequency or add back-off logic.


Usage tips

  • Device reconciliation – Call nightly to match on-device totals against your ledger.

  • Quick look-back – For an in-store UI, request pageSize=20&sortDirection=desc to show the most recent transactions first.

  • Investigations – Combine status=underpaid|overpaid with narrow date ranges to surface discrepancies quickly.

Last updated