---
title: "Make a transaction"
method: POST
path: "/makeTransaction"
tags: ["ECR API."]
---

# Make a transaction

`POST /makeTransaction`

Make a transaction

## Request body

- TransactionRequest — Request properties for processing a transaction.
  - `amount` string, required — Numeric Transaction Amount. According to the ISO 4217 currency exponent, for example: - EUR (exponent = 2): 12,55 EUR is represented as "1255" - BYR (exponent = 0): 15000 BYR is represented as "15000"
  - `authorization_number` string — For Gratuity (msg type 0009): the authorization number of the original transaction. Otherwise, leave this field empty.
  - `card_number` string, required — Depends on the transaction scenario: - **Standard Pin Pad transaction:** leave empty. - **Manual PAN input:** provide card number + "_" + expiration date (YYMM). - **Swiped card on ECR:** include Track2 data. - **Cancellation/Capture (msg type 0013):** "TXID" + original transaction number. - **Gratuity (msg type 0009) or Credit note (msg type 0011):** "TXID" + original transaction number. - **Cancellation/Capture from different terminal:** "TXID" + "_" + "_" (e.g., "TXID00000000001234567890_01_88091234").
  - `currency` string, required — ISO 4217 Alpha Currency Code (e.g., "EUR", "USD").
  - `cvc2` string — Card Verification Code.
  - `desired_currency` string — ISO 4217 Alpha Currency Code in which the transaction will be processed (e.g., "EUR", "USD").
  - `ecr_data` string — ECR Data field used to transfer user information for private-labeled cards (e.g., Fleet Card Company such as UTA, outex). This field is sent as received.
  - `language` string — ISO 639-1 language code used by the Pin Pad user interface during the transaction (e.g., "en", "de", "es").
  - `message_type` string — Message type code. Allowed values include: - 0001 = Purchase, Balance, or Preauthorization - 0005 = Purchase with authorization number - 0009 = Gratuity - 0011 = Credit note - 0013 = Cancellation/Capture - 0015 = Pre-paid (Mobile Recharge) - 0017 = Abort ongoing transaction - 0018 = External reader device restart command - 0027 = Voucher/Coupon generation - 0029 = Card to Card transfer - 0034 = End of day (Internal TC only) - 2667 = Get connection status (Internal TC only) - 2668 = Terminal send diagnostic message (Internal TC only) - 4544 = Kill application (Internal TC only) - 9043 = Get terminal status - 9999 = Initiate CTLS tap event simulator - 7976 = Pops-up terminal system menu (Internal TC only)
  - `password` string — Password - currently not used (filled with spaces).
  - `payment_reason` string — Payment reason (e.g., "Taxi journey"). Should be agreed with the acquirer. For Prepaid/Mobile recharge (msg type 0015): "+" followed by Operator Code and optional phone number. (UTF-8 encoded; maximum binary size is 39 bytes.)
  - `payment_reasonAsByte` string[] — Payment reason represented as a byte array.
  - `personal_id` string — Identification of the current user of the ECR or Terminal.
  - `receipt_layout` string — Receipt layout identifier.
  - `receipt_number` string — Receipt number.
  - `terminal_number` string, required — Terminal number provided by TECS. For Cancellation/Capture (msg type 0013), this is the terminal number of the original transaction.
  - `transaction_date_time` string, required — Transaction date and time (format: yyyymmddhhmmss).
  - `transaction_id` string, required — Unique transaction identifier. Must be unique for every transaction performed on the specified Terminal.
  - `transaction_origin_identifier` string — Transaction origin identifier: - 1 = Face to Face (Customer present) - 2 = MOTO (Customer not present) - 4 = Capture/Completion - 5 = Pre Authorization - 7 = Balance
  - `transaction_origin_indicator` string — Transaction origin indicator: - 0 = Request for card data on PIN PAD. - 1 = Face to Face (Magswipe on ECR, no PIN PAD). - 2 = Mail order/Telephone order/Manual entry (no PIN PAD).
  - `transaction_place` string — The transaction place; the first 5 characters should contain a formatted zip code.
  - `transaction_source_id` string — Identification number of the authorization source. In cancellation (msg type 0013), gratuity (0009), or credit note (msg type 0011), it should match the original transaction's source ID as provided by TECS.

## Response `200`

successfully routed to TecsClient.

## Other responses

- `400` — some error, explained in responseText
- `504` — Could not communicate with TecsClient

---

[API](https://skmtc.net/bluefin-com/apis/merchant-services.md) · [All operations](https://skmtc.net/bluefin-com/apis/merchant-services/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bluefin-com/merchant-services/versions/84e973bef72c/schema)
