Skip to main content

Overview

Terminals are managed from the Partner Portal at https://partner.yourflexpay.com. This API is meant to be integrated into a collection terminal that has already been added and configured from the portal. The Terminal API provides endpoints for terminal-specific operations including profile management, money collection, and split payment functionality.
All terminal endpoints require three headers:
  • x-client-id: Your partner ID
  • x-api-key: Your partner API key
  • x-terminal: Terminal serial number
The x-terminal value must match a terminal already created in the Partner Portal.

Terminal Endpoints

Get Terminal Profile

GET /terminal - Retrieve terminal information and QR code

Initiate Transaction

POST /terminal/transaction - Process a terminal payment

List Transactions

GET /terminal/transactions - Get terminal transaction history

Get Transaction

GET /terminal/transaction/{reference} - Get specific transaction details

Split Payment Endpoints

Create Split

POST /terminal/split - Create a split payment

List Splits

GET /terminal/splits - Get all splits for terminal

Get Split

GET /terminal/split/{split} - Get split details

Split QR Code

GET /terminal/split/{split}/qr - Generate QR for split payment

Get Terminal Profile

Retrieve terminal information including balance, PayTag, and a dynamic QR code for accepting customer payments into Flex Wallet. Endpoint: GET /terminal Headers:
  • x-client-id: Your partner ID
  • x-api-key: Your API key
  • x-terminal: Terminal serial number (e.g., TERM-12345)

Response

The Qr field contains a QR payload that can be encoded into a QR code image for customers to scan and make payments through this terminal.

Initiate Transaction

Create a new collection transaction for the terminal. Endpoint: POST /terminal/transaction Request Body:

Request Example

Response: Transaction reference or QR payload token for customer to complete payment

List Terminal Transactions

Retrieve paginated transaction history for the terminal. Endpoint: GET /terminal/transactions Query Parameters:

Response Example


Create Split Payment

Create a split payment configuration that allows multiple parties to contribute to a total amount collected through the terminal. Endpoint: POST /terminal/split Request Body:

Request Example

Response


Generate Split Payment QR

Generate a QR code for a customer to contribute a specific amount to a split payment. Endpoint: GET /terminal/split/{split}/qr Path Parameters:
  • split: Split reference
Query Parameters:
  • amount (required): Amount this customer will pay

Request Example

Response: QR payload string to be encoded into QR code image

Split Payment Flow

1

Create Split

Create a split payment with the total amount (e.g., a shared order or group collection)
2

Generate Individual QRs

Generate separate QR codes for each contributing party with their share (e.g., equal amounts or custom splits)
3

Customers Scan & Pay

Each customer scans their QR code and pays their portion
4

Monitor Progress

Track payments using GET /terminal/split/{split} to see TotalPaid and Remaining
5

Complete

When TotalPaid reaches Amount, the split status changes to “Completed”

Transaction Statuses

Error Responses


Transactions API

Gateway transaction management

Overview

Partner API overview

OpenAPI Spec

Complete API specification
For complete request/response schemas, parameters, and examples, refer to the Partner OpenAPI Specification.