Skip to main content

Create session

Create a new session on an available terminal.

You can create a terminal session on any Available terminal. If, as part of your integration, you need to develop logic for finding out which terminals are available, use one of the GET /terminals endpoint. A payment intent is automatically initiated on the terminal when you create a terminal session.

Path

POST /terminal-sessions

Session types

There are three Terminal session types:

  • a sale, which is associated with a payment intent and therefore requires a paymentIntentId.
  • a matchedRefund, which also requires a paymentIntentId.
  • an unlinkedRefund, which is a refund that has not yet been associated with a payment intent.

For an unlinkedRefund, you will have to specify the amount (the value in minor units, and the currencyCode) when you post the request to create a terminal session. For a matchedRefund, you will have to specify the paymentIntentId as well.

Matched refund

A matched refund requires the card and the customer to be physically present on the premises. The request references a payment intent and uses a terminal to process a negative transaction, which is the movement of funds to the card from the merchant account.

Unlinked refund

An unlinked refund also requires the card and the customer to be physically present, but it contains no reference to a payment intent. An unlinked refund theoretically allows for any amount of money to be refunded to anyone. This is ideal for EPOS systems which do not store previous transaction data, where refunds are processed without reference to the original sale's paymentIntentId.

Sample requests

omni-payments/terminals/curl/create-session.sh
loading...