Transaction Types

Canonical Nami transaction type codes shared across the platform — source of truth for the txnType field.

These are the canonical Nami transaction type codes. This page is the single source of truth for the txnType / trxnType field used across the Local API Middleware, Cloud Middleware, and SDKs.

CodeTransaction TypeECR ASCIIDescription
0PurchaseA1This is a normal payment transaction
1Purchase with Naqd (Cashback)A2This a payment request where you can pay an amount with the card and get Cash from the merchant. For example, you pay amount 10 at the payment machine, of which the actual value of the goods purchased is 4 and the remaining is given to you as Cash.
2RefundA6Refund will request a refund of the approved transaction. The merchant needs to have an agreement with the Acquiring bank(The bank who provides the POS) to enable refund on the Terminal
3Pre AuthorizationA4Pre-authorization places a hold on the specified amount without actually deducting money.
This is currently allowed only for Gas Station Self service fueling (AFD) scenarios
4Purchase Advice/Capture (Pre Auth Completion)A7Pre-authorization capture is when the amount that was held earlier during the Pre-authorization is captured, ie deducted from the card holder's balance. It can be full capture, where the complete amount that was on hold is deducted or partial capture, where a partial amount is deducted.
Full capture is applicable for mada, Visa and Mastercard. Partial Capture is applicable for mada and Mastercard only
5Pre Auth ExtensionA8Pre auth extension is to extend the amount holding period
6Pre Auth VoidA9Pre-authorization void is to cancel the hold on the amount that was held during the pre-authorization.
This is applicable for mada only.
8Cash AdvanceA3This transaction allows a card holder to get cash instead of purchasing an item for the specific amount deducted from his/her card
9ReversalA5Reversal transaction reverses the last transaction that was done and the time period available for this is 60 seconds from the transaction approval.
For AFD scenarios, the reversal is used instead of pre-auth void for Visa and Mastercard.
10ReconciliationB1This transaction is to reconcile the no. of transactions per scheme between payment device and the card scheme host (mada)
11Parameter Download(Full Download)B2This transaction is to initiate a full download of all the terminal parameters like Merchant name, address, card schemes supported etc from the SAMA TMS
12Set Settings (Set Parameter)B3This is a configuration type transaction to set certain parameters from the payment device
13Get Settings (Get Parameter)B4This is a configuration type transaction to get certain parameters from the payment device
17Register TerminalA0Registration is performed to link a payment device with the cashier/ERP application and fetch the terminal ID that uniquely identifies the payment device. This step is required before any purchase request can be sent to the terminal
18Start SessionB6Start session is used to start as session between the Cashier/ERP application and the payment terminal. This is deprecated in certain integration libraries like App to App and REST API
19End SessionB7End session is used to end a session that has already been started. This is also deprecated in certain integration libraries like App to App and REST API
20Bill PaymentB8This is to allow for bill payment through the payment device but it requires the payment/mada application on the payment device to support it
21Running Total (Print Detail Report)B9The running totals transaction is run to get a printout of the terminal's cumulative totals since the last running totals transaction was performed. Running this transaction resets the terminal's internal cumulative totals but does not communicate any totals to mada.
22Print Summary ReportC1This is print a summary of all the transactions performed on the payment device
23Last TransactionC2This transaction is used to fetch the last transaction that was done on any payment device with all its detail like approval status, reference number etc
24Check StatusC3This transaction checks the status of the connection between the cashier/ERP application and the payment device
25Partial DownloadC4This transaction is to initiate a partial download of only the terminal parameters that have been changed
26Snapshot TotalC5The snapshot totals transaction is run to get a printout of the terminal's cumulative totals since the last running totals transaction was performed. Running this transaction neither resets the terminal's internal cumulative totals nor communicates any totals to mada.
27Partial ReversalC6This transaction type is to deduct an amount held via a pre-authorization specifically for VISA cards.
This is for AFD scenario
28Suspect ReversalC7This transaction type is to allow the fueling app to indicate that reversal for VISA or Mastercard is a suspect transaction.
This is for AFD scenarios where the fueling status and the nozzle status is unknown.

Did this page help you?