Paymentsense Retail Transactions API

The Retail Transactions API from Paymentsense — 3 operation(s) for retail transactions.

Operations 4

POST /retail/terminals/{tpi}/transactions #
GET /retail/terminals/{tpi}/transactions/{requestId} #
DELETE /retail/terminals/{tpi}/transactions/{requestId} #
PUT /retail/terminals/{tpi}/transactions/{requestId}/signature #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/paymentsense-retail-transactions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

paymentsense-retail-transactions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 3.0-beta
  title: Connect REST Retail Transactions API
servers:
- url: https://your-host-here.test.connect.paymentsense.cloud/
security:
- connectBasicAuth: []
tags:
- name: Retail Transactions
paths:
  /retail/terminals/{tpi}/transactions:
    post:
      description: Starts a transaction on the given TPI
      tags:
      - Retail Transactions
      operationId: TransactionOnTPI
      parameters:
      - name: tpi
        in: path
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Transaction has successfully started. Returns the transaction requestId and the location of an endpoint for further details.
          content:
            application/connect.v0+json:
              schema:
                $ref: '#/components/schemas/requestLocationResponse'
        '401':
          description: Authorization credentials must be provided in the request headers.
        '401 ':
          description: The provided authorization credentials were not correct.
        '404 ':
          description: Unavailable terminal or no data available for terminal.
        '422 ':
          description: Incorrect JSON received.
        '422':
          description: The card machine is busy.
        '500 ':
          description: An internal Connect error has occurred.
      requestBody:
        content:
          application/connect.v0+json:
            schema:
              $ref: '#/components/schemas/transactionRequest'
        required: true
  /retail/terminals/{tpi}/transactions/{requestId}:
    get:
      description: Gets the transaction data for the given request
      tags:
      - Retail Transactions
      operationId: TransactionsByRequestId
      parameters:
      - name: tpi
        in: path
        required: true
        schema:
          type: string
      - name: requestId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Transaction details have been successfully returned.
          content:
            application/connect.v0+json:
              schema:
                $ref: '#/components/schemas/transaction'
        '401':
          description: Authorization credentials must be provided in the request headers.
        '401 ':
          description: The provided authorization credentials were not correct.
        '404':
          description: Unavailable terminal or no data available for terminal.
        '404 ':
          description: The requestId could not be found.
        '500 ':
          description: An internal Connect error has occurred.
    delete:
      description: Attempts to cancel the transaction for the given request.
      tags:
      - Retail Transactions
      operationId: TransactionsByRequestId
      parameters:
      - name: tpi
        in: path
        required: true
        schema:
          type: string
      - name: requestId
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Transaction associated to the requestId has been cancelled.
          content:
            application/connect.v0+json:
              schema: {}
        '401':
          description: Authorization credentials must be provided in the request headers.
        '401 ':
          description: The provided authorization credentials were not correct.
        '404 ':
          description: The requestId could not be found.
        '422 ':
          description: Transaction could not be cancelled.
        '500 ':
          description: An internal Connect error has occurred.
  /retail/terminals/{tpi}/transactions/{requestId}/signature:
    put:
      description: Verifies the signature for a given request.
      tags:
      - Retail Transactions
      operationId: VerifySignature
      parameters:
      - name: tpi
        in: path
        required: true
        schema:
          type: string
      - name: requestId
        in: path
        required: true
        schema:
          type: string
      responses:
        '202':
          description: Signature status has been successfully accepted.
          content:
            application/connect.v0+json:
              schema:
                $ref: '#/components/schemas/verifySignatureResponse'
        '401':
          description: Authorization credentials must be provided in the request headers.
        '401 ':
          description: The provided authorization credentials were not correct.
        '404 ':
          description: Unavailable terminal or no data available for terminal.
        '404  ':
          description: The requestId could not be found.
        '422  ':
          description: Incorrect JSON received.
        '422   ':
          description: Unable to action the signature check. When required, signatures must be verified within 80 seconds.
        '500    ':
          description: An internal Connect error has occurred.
      requestBody:
        content:
          application/connect.v0+json:
            schema:
              $ref: '#/components/schemas/signatureRequest'
        required: true
components:
  schemas:
    receiptLine:
      type: object
      required:
      - value
      properties:
        format:
          type: array
          items:
            $ref: '#/components/schemas/format'
        type:
          type: string
          $ref: '#/components/schemas/receiptLineTypeRetail'
        value:
          type: string
    currency:
      type: string
      enum:
      - GBP
      - EUR
    format:
      type: string
      enum:
      - BOLD
      - DOUBLE_HEIGHT
      - DOUBLE_WIDTH
    verifySignature:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/messageList'
    notifications:
      type: string
      enum:
      - APPROVED
      - BAD_SWIPE
      - CARD_ERROR
      - CARD_EXPIRED
      - CARD_NOT_SUPPORTED
      - CONNECTING
      - CONNECTION_MADE
      - DECLINED
      - DECLINED_BY_CARD
      - INSERT_CARD
      - PIN_ENTRY
      - PLEASE_WAIT
      - PRESENT_CARD
      - PRESENT_ONLY_ONE_CARD
      - PROCESSING_ERROR
      - REMOVE_CARD
      - RETRYING
      - REQUEST_SENT
      - RE_PRESENT_CARD
      - SIGNATURE_VERIFICATION
      - SIGNATURE_VERIFICATION_PROCESS_COMPLETED
      - SIGNATURE_VERIFICATION_PROCESS_COULD_NOT_BE_COMPLETED
      - SIGNATURE_VERIFICATION_IN_PROGRESS
      - SIGNATURE_VERIFICATION_TIMEOUT
      - TRANSACTION_FINISHED
      - TRANSACTION_STARTED
    messageList:
      type: array
      items:
        type: string
    transactionType:
      type: string
      enum:
      - SALE
      - REFUND
      - DUPLICATE
    transactionTypeResult:
      type: string
      enum:
      - LOGON
      - REFUND
      - REFUND_REVERSAL
      - SALE
      - SALE_REVERSAL
    transactionRequest:
      type: object
      properties:
        transactionType:
          $ref: '#/components/schemas/transactionType'
        amount:
          type: integer
        currency:
          $ref: '#/components/schemas/currency'
    cardholderVerificationMethod:
      type: string
      enum:
      - NONE
      - PIN
      - SIGNATURE
      - DEVICE
    receiptLineList:
      type: array
      items:
        $ref: '#/components/schemas/receiptLine'
    verifySignatureResponse:
      type: object
      properties:
        messages:
          $ref: '#/components/schemas/verifySignature'
    receiptLineTypeRetail:
      type: string
      enum:
      - TEXT
      - BOX_DECLINE
      - BOX_VOID
      - CARRIAGE_RETURN
      - LINE_SEPARATOR_SINGLE
      - LINE_SEPARATOR_DOUBLE
      - TICKET_FEED
    signatureRequest:
      type: object
      required:
      - accepted
      properties:
        accepted:
          type: boolean
    requestLocationResponse:
      type: object
      properties:
        requestId:
          type: string
        location:
          type: string
          description: The uri where this resource can be found.
    transaction:
      type: object
      properties:
        amountBase:
          description: The base amount of the transaction, without gratuity or cashback
          type: integer
          format: int32
        amountCashback:
          description: The amount of cashback on the transaction
          type: integer
          format: int32
        amountGratuity:
          description: The amount of gratuity on the transaction
          type: integer
          format: int32
        amountTotal:
          description: The total amount of the transaction, including cashback and gratuity
          type: integer
          format: int32
        applicationId:
          type: string
        applicationLabel:
          type: string
        authCode:
          type: string
        cardSchemeName:
          type: string
        cardHolderVerificationMethod:
          $ref: '#/components/schemas/cardholderVerificationMethod'
        currency:
          $ref: '#/components/schemas/currency'
        dateOfExpiry:
          description: In the format 'MM/YY'
          type: string
          format: MM/YY
        dateOfStart:
          description: In the format 'MM/YY'
          type: string
          format: MM/YY
        location:
          description: The uri where the information about this particular transaction can be found.
          type: string
          format: uri
        notifications:
          type: array
          items:
            $ref: '#/components/schemas/notifications'
        paymentMethod:
          $ref: '#/components/schemas/paymentMethod'
        primaryAccountNumber:
          type: string
        primaryAccountNumberSequence:
          type: string
        receiptLines:
          type: object
          properties:
            MERCHANT:
              $ref: '#/components/schemas/receiptLineList'
            CUSTOMER:
              $ref: '#/components/schemas/receiptLineList'
        requestId:
          description: An ID for this request, which can be used in other endpoints
          type: string
        transactionId:
          type: string
        transactionNumber:
          type: string
        transactionResult:
          $ref: '#/components/schemas/transactionResult'
        transactionTime:
          type: string
          format: date-time
        transactionType:
          $ref: '#/components/schemas/transactionTypeResult'
    paymentMethod:
      type: string
      enum:
      - UNKNOWN
      - KEYED
      - SWIPED
      - ICC_CHIP
      - CONTACTLESS
    transactionResult:
      type: string
      enum:
      - SUCCESSFUL
      - DECLINED
      - VOID
      - UNSUCCESSFUL
      - CANCELLED
      - TIMED_OUT
  securitySchemes:
    connectBasicAuth:
      type: http
      scheme: basic