# Get transactions for a merchant

This endpoint allows you to retrieve a merchant's list of transactions for a given terminal business day.

Endpoint: GET /reporting/merchants/{mid}/transactions?transactionDate={transactionDate}&limit=100&page=1
Version: 1.0
Security: JWT

## Path parameters:

  - `mid` (string, required)
    The merchant ID associated with the Tyro account. Used to identify the merchant whose transaction data is being retrieved.

## Query parameters:

  - `transactionDate` (string, required)
    The date (YYYY-MM-DD) that the terminal has processed the requested transactions. Must be within the past 3 years.

  - `limit` (number, required)
    Specifies the amount of results to be retrieved.
    Example: 100

  - `page` (number, required)
    Specify the page to retrieve.

Page-numbering is based on the value of "limit". If limit=5, then page=1 will display the hits from 1 to 5, page=3 will display the hits from 11 to 15.

Page numbers start at 1.

A request for a non-existing page will yield 0 results.
    Example: 2

## Header parameters:

  - `Authorization` (string, required)

## Response 200 fields (application/json):

  - `terminalBusinessDay` (string, required)
    The date (YYYY-MM-DD) that the terminal has processed the requested transactions.
    Example: "2025-05-26"

  - `merchantDetails` (object, required)
    Details of the merchant for whom the transactions are reported.

  - `merchantDetails.mid` (string, required)
    The merchant ID associated with the Tyro account.
    Example: "111"

  - `merchantDetails.tradingName` (string, required)
    The trading name of the merchant.
    Example: "Test Merchant"

  - `transactions` (array, required)
    List of transactions for the specified merchant and date.

  - `transactions.transactionId` (string, required)
    Unique identifier for the transaction.
    Example: "5c05f70e3f0e3bd3b5359d5cf20e5a75fb4dd525229350e15137e78f1bfa4de6"

  - `transactions.transactionLocalDateTime` (string, required)
    The local date and time on the terminal when the transaction was processed.
    Example: "2025-05-26T14:30:15"

  - `transactions.transactionStatus` (string, required)
    Status of the transaction. Possible values include APPROVED, DECLINED, CANCELLED, TIMED_OUT, VOIDED, PRE_AUTHORISED.
    Example: "APPROVED"

  - `transactions.transactionDescription` (string,null, required)
    Description of the transaction.
    Example: "Card Payment"

  - `transactions.locationId` (string, required)
    A unique identifier used to represent a specific location of a merchant.
    Example: "122"

  - `transactions.tid` (integer, required)
    A unique identifier of the terminal used to process the transaction.
    Example: 12345

  - `transactions.deviceType` (string,null, required)
    Type of device used to process the transaction.
    Example: "DX4000"

  - `transactions.mobilePlatformType` (string,null, required)
    Mobile platform type if applicable.
    Example: "IOS"

  - `transactions.paymentType` (string, required)
    Payment method type. Possible values include GOODS_AND_SERVICES, REFUND_GOODS_AND_SERVICES, GOODS_AND_SERVICES_WITH_CASH, CASH_WITHDRAWAL, CREDIT_ADJUSTMENT.
    Example: "GOODS_AND_SERVICES"

  - `transactions.feeType` (string, required)
    Fee structure applied. Possible values include DEBIT_EFTPOS_CASHOUT, DEBIT_EFTPOS_NO_CASHOUT, CREDIT_SWIPED, CREDIT_COMMERCIAL_AND_PREMIUM, INTERNATIONAL, MASTERCARD_INTERNATIONAL, UNION_PAY_INTERNATIONAL_DEBIT, DEBIT_SCHEME_SWIPED, AMEX_JCB_FEES, ALIPAY, NO_FEES, UNKNOWN.
    Example: "DEBIT_EFTPOS_NO_CASHOUT"

  - `transactions.fromAccountType` (string,null, required)
    Source account type. Possible values include DEFAULT, SAVINGS, CHEQUE, CREDIT.
    Example: "CREDIT"

  - `transactions.isExpressPayment` (boolean,null, required)
    Whether this was an express payment (i.e. Visa or Mastercard purchases under $35).

  - `transactions.card` (object, required)

  - `transactions.card.type` (string, required)
    Card type/scheme. Possible values include VISA, MASTERCARD, EFTPOS, UNION_PAY, AMEX, JCB, DINERS.
    Example: "VISA"

  - `transactions.card.cardLastFour` (string, required)
    Masked card number, with only the last four digits visible.
    Example: "XXXXXXXXXXXX0009"

  - `transactions.card.cardEntryMode` (string, required)
    How the card payment was processed. Possible values include CHIP, CONTACTLESS, CONTACTLESS_MAG_STRIPE, MAG_STRIPE, CHIP_ERROR_MAG_STRIPE_USED, MANUAL, UNKNOWN.
    Example: "MAG_STRIPE"

  - `transactions.card.cardPresent` (boolean,null, required)
    Whether the card was physically present.
    Example: true

  - `transactions.isEcommerceTransaction` (boolean, required)
    Whether this is an e-commerce transaction.

  - `transactions.ecommerceOrderId` (string,null, required)
    E-commerce order id if applicable.

  - `transactions.isRefund` (boolean, required)
    Whether this transaction is a refund.

  - `transactions.refundReason` (string,null, required)
    Reason for refund if applicable.

  - `transactions.isReversal` (boolean, required)
    Whether this transaction is a reversal.

  - `transactions.reversalReason` (string,null, required)
    Reason for reversal if applicable.

  - `transactions.isInternational` (boolean,null, required)
    Whether the transaction was processed with in a foreign currency.

  - `transactions.dcc` (object, required)
    Details for a Dynamic Currency Conversion (DCC) transaction.

  - `transactions.dcc.currencyCode` (string,null, required)
    Foreign currency code for DCC transaction.
    Example: "USD"

  - `transactions.dcc.exchangeRate` (number,null, required)
    Exchange rate applied for DCC.
    Example: 1.45

  - `transactions.dcc.foreignCurrencyAmount` (number,null, required)
    Amount in foreign currency (in cents).
    Example: 5862

  - `transactions.dcc.merchantCommissionAmount` (number, required)
    Commission amount for DCC (in cents).
    Example: 120

  - `transactions.amountDetails` (object, required)

  - `transactions.amountDetails.saleAmount` (number, required)
    Sale amount (in cents).
    Example: 12550

  - `transactions.amountDetails.refundAmount` (number, required)
    Refund amount (negative value, in cents).
    Example: -550

  - `transactions.amountDetails.tipAmount` (number, required)
    Tip amount (in cents).

  - `transactions.amountDetails.cashOutAmount` (number, required)
    Cash out amount (in cents).

  - `transactions.amountDetails.surchargeAmount` (number, required)
    Surcharge amount (in cents).
    Example: 215

  - `transactions.amountDetails.donationAmount` (number, required)
    Donation amount (in cents).

  - `transactions.totalAmount` (number, required)
    Total transaction amount (in cents).
    Example: 12765

  - `transactions.amountToPayMerchant` (number, required)
    Amount to be paid to merchant (in cents).
    Example: 12550

  - `transactions.settlementAmount` (number, required)
    Net settlement amount after fees (in cents).
    Example: 12335

  - `transactions.merchantAcquiringFee` (number, required)
    Acquiring fee charged to merchant (in cents).
    Example: 0.3839

  - `transactions.acquirerActionCode` (string, required)
    Action code from acquirer. Possible values include APPROVED, DECLINED, CALL_ISSUER, CAPTURE_CARD.
    Example: "APPROVED"

  - `transactions.rrn` (number,null, required)
    Retrieval Reference Number.

  - `transactions.tyroReference` (number,null, required)
    Tyro transaction reference number. Maximum six digits.

  - `transactions.integratedTransactionId` (string,null, required)
    Identifier used by the POS to process an integrated transaction with the terminal.

  - `pagination` (object, required)
    Pagination details for the transaction results.

  - `pagination.page` (integer, required)
    The current page number.
    Example: 1

  - `pagination.size` (integer, required)
    The number of transactions per page.
    Example: 10

  - `pagination.limit` (integer, required)
    The maximum number of transactions that can be returned per page.
    Example: 100

  - `pagination.total` (integer, required)
    The total number of transactions.
    Example: 45

## Response 400 fields (application/json):

  - `error` (string)

  - `errorCode` (string)

  - `errors` (array)

  - `message` (string)

## Response 403 fields (application/json):

  - `error` (string)


