Terminal payments

Create and manage card-present payments via VINR terminals.

View as Markdown

A terminal payment represents a card-present transaction initiated through a VINR hardware terminal. You create the payment via the API and, in cloud mode, the terminal executes the reader interaction automatically. Listen for the terminal_payment.completed webhook to confirm the outcome rather than polling.

Illustrative content. Hand-authored to demonstrate the Standard/Advanced pattern; the production page will be generated from the VINR OpenAPI spec (roadmap item #1). Field names are representative.

The terminal payment objectAsk

idstring

Unique identifier for the terminal payment, e.g. tpy_4Rk9.

terminalIdstring

The ID of the VINR terminal that executed or will execute this payment.

amountinteger

Amount intended to be collected, in the smallest currency unit (e.g. cents).

currencystring

Three-letter ISO 4217 currency code, e.g. EUR.

statusenum

One of pending, processing, authorized, completed, failed, cancelled, or expired.

captureMethodenum

Either automatic (default — authorize and capture in one step) or manual (authorize now, capture later).

amountCapturedinteger

Amount already captured, in the smallest currency unit.

amountCapturableinteger

Remaining authorized amount available to capture, in the smallest currency unit.

referencestring

Your internal order or transaction reference, echoed back on webhooks and the dashboard.

paymentMethodobject

Details of the instrument presented at the terminal.

tipobject

Tip collected at the terminal, if any.

metadataobject

Set of key-value pairs you can attach to the payment. See Metadata.

createdAtinteger

Unix timestamp (seconds) when the payment was created.

completedAtinteger | null

Unix timestamp (seconds) when the payment reached a terminal state. null while still in progress.

Create a terminal paymentAsk

Pass a terminalId, amount, and currency. In cloud mode the terminal begins the reader interaction automatically. The returned object has status: "pending" — subscribe to the terminal_payment.completed webhook for the final outcome.

Retrieve a terminal paymentAsk

Capture a terminal paymentAsk

Required when captureMethod was set to manual at creation. The payment must be in authorized status. Omit amount to capture the full authorized amount, or pass a lower value to do a partial capture.

Cancel a terminal paymentAsk

Cancellation is only valid while status is pending — before the terminal begins executing the reader interaction. Once the terminal is processing or beyond, cancellation is not possible.

List terminal paymentsAsk

Returns a paginated list of terminal payments ordered by createdAt descending.

ParameterTypeDescription
terminalIdstringFilter by terminal ID.
locationIdstringFilter by the location the terminal belongs to.
statusenumOne of pending, processing, authorized, completed, failed, cancelled, expired.
fromDateintegerUnix timestamp — return payments created at or after this time.
toDateintegerUnix timestamp — return payments created at or before this time.
limitintegerNumber of results to return. Default 10, max 100.
starting_afterstringCursor for forward pagination — the id of the last item from the previous page.

Next stepsAsk

Was this page helpful?