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.
| Code | Transaction Type | ECR ASCII | Description |
|---|---|---|---|
| 0 | Purchase | A1 | This is a normal payment transaction |
| 1 | Purchase with Naqd (Cashback) | A2 | This 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. |
| 2 | Refund | A6 | Refund 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 |
| 3 | Pre Authorization | A4 | Pre-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 |
| 4 | Purchase Advice/Capture (Pre Auth Completion) | A7 | Pre-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 |
| 5 | Pre Auth Extension | A8 | Pre auth extension is to extend the amount holding period |
| 6 | Pre Auth Void | A9 | Pre-authorization void is to cancel the hold on the amount that was held during the pre-authorization. This is applicable for mada only. |
| 8 | Cash Advance | A3 | This transaction allows a card holder to get cash instead of purchasing an item for the specific amount deducted from his/her card |
| 9 | Reversal | A5 | Reversal 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. |
| 10 | Reconciliation | B1 | This transaction is to reconcile the no. of transactions per scheme between payment device and the card scheme host (mada) |
| 11 | Parameter Download(Full Download) | B2 | This transaction is to initiate a full download of all the terminal parameters like Merchant name, address, card schemes supported etc from the SAMA TMS |
| 12 | Set Settings (Set Parameter) | B3 | This is a configuration type transaction to set certain parameters from the payment device |
| 13 | Get Settings (Get Parameter) | B4 | This is a configuration type transaction to get certain parameters from the payment device |
| 17 | Register Terminal | A0 | Registration 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 |
| 18 | Start Session | B6 | Start 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 |
| 19 | End Session | B7 | End 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 |
| 20 | Bill Payment | B8 | This is to allow for bill payment through the payment device but it requires the payment/mada application on the payment device to support it |
| 21 | Running Total (Print Detail Report) | B9 | The 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. |
| 22 | Print Summary Report | C1 | This is print a summary of all the transactions performed on the payment device |
| 23 | Last Transaction | C2 | This 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 |
| 24 | Check Status | C3 | This transaction checks the status of the connection between the cashier/ERP application and the payment device |
| 25 | Partial Download | C4 | This transaction is to initiate a partial download of only the terminal parameters that have been changed |
| 26 | Snapshot Total | C5 | The 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. |
| 27 | Partial Reversal | C6 | This transaction type is to deduct an amount held via a pre-authorization specifically for VISA cards. This is for AFD scenario |
| 28 | Suspect Reversal | C7 | This 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. |
Updated 25 days ago
Did this page help you?
