> ## Documentation Index
> Fetch the complete documentation index at: https://docs.payluk.ng/llms.txt
> Use this file to discover all available pages before exploring further.

# Get merchant transactions

> Returns **your own** merchant ledger, as opposed to `GET /v1/payment/history`, which answers for one of your customers.

These are the movements on your merchant wallet: `commission` (your share of an escrow fee), `delivery` (a delivery fee you charged a buyer), and any withdrawals you made. Your customers' escrow and wallet activity is not included; read that per customer from `GET /v1/payment/history`.

By default the response is **paginated** (`{ pagination, data }`). Supplying any filter (`reference`, `fromDate`, or `toDate`) instead returns a **flat array** of the matching transactions.

Must **not** carry a `customer-id` header.



## OpenAPI

````yaml openapi.json GET /v1/merchant/transactions
openapi: 3.0.3
info:
  title: Payluk ThirdParty API
  version: 1.0.0
  description: >-
    Merchant / Business API for the Payluk escrow and payments platform.


    All routes are mounted under `/v1` and authenticated with a secret key.
    Every response uses the standard envelope `{ status, message, data }`.
  contact:
    name: Payluk Developer Support
    email: support@payluk.ng
    url: https://payluk.ng
servers:
  - url: https://staging.api.payluk.ng
    description: 'Staging: use sk_test_ keys here for safe testing'
  - url: https://api.payluk.ng
    description: 'Production: use sk_live_ keys'
security:
  - bearerAuth: []
tags:
  - name: Escrow
    description: Create and manage standard escrow payment links.
  - name: Milestone Escrow
    description: Escrows that release funds in parts as milestones are confirmed.
  - name: Vault Escrow
    description: >-
      Merchant-only pooled-stake escrows: customers stake from their wallets and
      the merchant declares the winner.
  - name: Categories
    description: Organise escrows into merchant-defined categories.
  - name: Merchant Customers
    description: Manage the buyers and sellers that transact under your merchant account.
  - name: Merchant Account
    description: Your own balance and ledger, as distinct from your customers’.
  - name: Disputes
    description: Confirm deliveries, raise disputes and resolve them.
  - name: Payments
    description: Fund wallets and escrows, verify references and manage payout details.
  - name: Debit Cards
    description: List and remove customers' saved debit cards.
  - name: Crypto Whitelist
    description: Manage whitelisted crypto withdrawal addresses.
  - name: Misc
    description: Supporting reference data.
paths:
  /v1/merchant/transactions:
    get:
      tags:
        - Merchant Account
      summary: Get merchant transaction history
      description: >-
        Returns **your own** merchant ledger, as opposed to `GET
        /v1/payment/history`, which answers for one of your customers.


        These are the movements on your merchant wallet: `commission` (your
        share of an escrow fee), `delivery` (a delivery fee you charged a
        buyer), and any withdrawals you made. Your customers' escrow and wallet
        activity is not included; read that per customer from `GET
        /v1/payment/history`.


        By default the response is **paginated** (`{ pagination, data }`).
        Supplying any filter (`reference`, `fromDate`, or `toDate`) instead
        returns a **flat array** of the matching transactions.


        Must **not** carry a `customer-id` header.
      operationId: getMerchantTransactions
      parameters:
        - name: page
          in: query
          required: false
          schema:
            type: integer
            default: 1
            minimum: 1
          description: >-
            Page number for the paginated (unfiltered) response. 1-based: the
            first page is 1.
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            default: 10
            minimum: 1
            maximum: 100
          description: >-
            Transactions per page, between 1 and 100. Defaults to 10. A larger
            value is capped at 100, and an unusable one falls back to the
            default. Applies to the paginated response only: a filtered response
            is a flat array and is not paged.
        - name: type
          in: query
          required: false
          schema:
            type: string
            enum:
              - deposit
              - withdrawal
              - transfer
              - wallet_transfer
              - escrow
              - commission
              - delivery
          description: >-
            Filter by transaction type. `commission` is your share of an escrow
            fee; `delivery` is a delivery fee you charged a buyer.
        - name: reference
          in: query
          required: false
          schema:
            type: string
          description: Filter by a specific reference. Returns a flat array.
        - name: fromDate
          in: query
          required: false
          schema:
            type: string
            format: date
          description: Start of a date range (inclusive). Returns a flat array.
        - name: toDate
          in: query
          required: false
          schema:
            type: string
            format: date
          description: End of a date range (inclusive). Returns a flat array.
      responses:
        '200':
          description: >-
            Transactions retrieved. Paginated by default; a flat array when a
            filter is supplied.
          content:
            application/json:
              example:
                status: 200
                message: Transactions retrieved successfully
                data:
                  pagination:
                    count: 2
                    pages: 1
                    isLastPage: true
                    nextPage: null
                    previousPage: null
                  data:
                    - id: 694967685589d47015d23b27
                      amount: 15
                      reference: CMSN-79994766547485
                      fee: 0
                      transactionType: commission
                      currency: NGN
                      transferDetails: null
                      depositDetails: null
                      walletDetails: null
                      withdrawalDetails: null
                      escrowDetails:
                        beneficiary:
                          name: Mary Patrick
                          phone: '08101264901'
                        description: Watches
                        amount: 1000
                        fee: 15
                        paymentToken: PY_zAPRJikk4252
                        purpose: Boxes
                        channel: API
                        callbackUrl: null
                      metadata: null
                      status: success
                      creditType: credit
                      createdAt: '2026-08-22T15:44:40.023Z'
                      updatedAt: '2026-08-22T15:44:41.260Z'
                    - id: 6949648e5589d47015d23ad3
                      amount: 500
                      reference: DLV-7ws5Gix7McIVYOoFqpR
                      fee: 0
                      transactionType: delivery
                      currency: NGN
                      transferDetails: null
                      depositDetails: null
                      walletDetails: null
                      withdrawalDetails: null
                      escrowDetails:
                        beneficiary:
                          name: Mary Patrick
                          phone: '08101264901'
                        description: Watches
                        amount: 1000
                        fee: 15
                        paymentToken: PY_bOffh0Ee2407
                        purpose: Boxes
                        channel: API
                        callbackUrl: null
                      metadata: null
                      status: success
                      creditType: credit
                      createdAt: '2026-08-21T15:32:30.903Z'
                      updatedAt: '2026-08-21T15:32:30.903Z'
        '400':
          description: >-
            A `customer-id` header was supplied. This endpoint answers only for
            the merchant.
          content:
            application/json:
              example:
                status: 400
                message: customer-id is not allowed in request header
                data: null
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Your secret key as a Bearer token. The key prefix selects the
        environment: `sk_test_...` (test) or `sk_live_...` (live).

````