---
title: "Payment Manual - Process card payment via TECS XML gateway"
method: POST
path: "/public/paymentManual"
tags: ["Merchant Portal services API"]
---

# Payment Manual - Process card payment via TECS XML gateway

`POST /public/paymentManual`

## Request

- Base URL: `https://test.tecs.at/merchantservices`
- URL: `https://test.tecs.at/merchantservices/public/paymentManual`
- Auth: HTTP bearer

Processes a card payment via TECS XML gateway.<br>
Collects data from request, transforms it to TecsXML message, and sends it for processing.<br>
Response from TecsXML is extracted and mapped to JSON response.<br>

Required role for operation: BO_VIRTUAL_TERMINAL or VIRTUAL_TERMINAL.<br>
Create MPauditlog record with event type : PaymentManual (35).<br>

Transaction ID is generated automatically as YYYYMMDDhhmmss.<br>
TX-Origin is set to 2 for SALE, 5 for PRE-AUTH.<br>

Card number must pass Luhn validation.<br>
Expiry date must not be in the past (end-of-month check).<br>

Supports authentication with Bearer token.<br>

## Request body

- PaymentManualRequest: Payment Manual request for processing card payments via TECS XML gateway
  - `terminalId` string, required: Terminal ID - 8 digits
  - `currency` string, required: Currency code - 3 uppercase letters (ISO 4217)
  - `amount` integer, required: Transaction amount in minor units (cents)
  - `txtype` 'SALE' | 'PRE-AUTH', required: Transaction type
  - `cardNumber` string, required: Card number - 12 to 19 digits, must pass Luhn validation
  - `expDate` string, required: Card expiry date in MMYY format
  - `cvc` string: Card verification code - 3-4 digits (optional)
  - `password` string: Terminal password sent as Kennwort in TECS XML (optional)

## Response `200`

Successful operation

- PaymentManualResponse: Payment Manual response from TECS XML gateway
  - `responseCode` string: Response code - 00 for success, otherwise error code
  - `responseMessage` string: Response message - 'Approved' for success, error description otherwise
  - `transactionId` string: Transaction ID generated by the backend
  - `originalTransactionId` string: Original transaction ID from gateway
  - `terminalId` string: Terminal ID used for the transaction
  - `dateTimeTx` string: Date and time of the transaction
  - `authorizationNumber` string: Authorization number from the gateway
  - `merchantId` string: Merchant ID (VU-NUMMER)
  - `acquirerName` string: Acquirer name parsed from KKG field
  - `cardType` string: Card type parsed from KKG field

## Other responses

- `400`: * Invalid JSON * Invalid terminalId - must be 8 digits * Invalid currency - must be 3 uppercase letters * Invalid amount - must be greater than 0 * Invalid txtype - must be SALE or PRE-AUTH * Invalid cardNumber - must be 12-19 digits and Luhn-valid * Invalid expDate - must be MMYY format and not expired * Invalid cvc - must be 3-4 digits if provided
- `401`: Unauthorized - Authentication failed
- `403`: Forbidden - Missing role: BO_VIRTUAL_TERMINAL or VIRTUAL_TERMINAL
- `500`: Internal server error
- `502`: Gateway error - TECS XML gateway error or invalid XML response

## Changes

- **2026-11-03** `6e0e5a5a2b2f`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/bluefin-com/apis/merchant-services/changes/public/paymentManual/post.md)

---

[API](https://skmtc.dev/bluefin-com/apis/merchant-services.md) - [All operations](https://skmtc.dev/bluefin-com/apis/merchant-services/llms.txt) - [OpenAPI document](https://skmtc.dev/bluefin-com/apis/merchant-services/revisions/6e0e5a5a2b2f?raw)
