# Get transaction by ID

API to fetch a transaction (payment from a payer to beneficiary) using account-based routing.

Endpoint: GET /v1/collections/transactions/{transaction_id}
Version: 1.0.0
Security: Bearer

## Path parameters:

  - `transaction_id` (string, required)
    Unique identifier of the transaction to retrieve
    Example: "487ba009-56cf-4ad9-8b5c-045e27893e00"

## Response 200 fields (application/json):

  - `id` (string, required)
    Unique identifier for the transaction
    Example: "487ba009-56cf-4ad9-8b5c-045e27893e00"

  - `parent_id` (string, required)
    Identifier of the parent entity (collection link or channel) for this transaction
    Example: "e8d43598-107d-4694-9fb2-934e7484c3d4"

  - `account_id` (string, required)
    Identifier of the account associated with this transaction
    Example: "a1b2c3d4-e5f6-7890-abcd-ef1234567890"

  - `settlement_id` (string,null)
    Identifier of the settlement this transaction was included in, if any
    Example: "63dd59dd-88be-41a2-a246-2f6724209422"

  - `payer` (object, required)
    Payer partner details

  - `payer.id` (string, required)
    Unique identifier for the payer partner
    Example: "0c5479ff-3772-4123-b2b7-e679e71eb570"

  - `payer.name` (string, required)
    Full name of the payer partner
    Example: "Nigerian Imports Ltd."

  - `payer.email` (string, required)
    Email address of the payer partner
    Example: "nigerian@imports.com"

  - `beneficiary` (object, required)
    Beneficiary partner details

  - `beneficiary.id` (string, required)
    Unique identifier of the beneficiary partner
    Example: "01467076-8bb0-41c1-ad54-5751dd4a9e80"

  - `beneficiary.name` (string, required)
    Full name of the beneficiary partner
    Example: "Hong Kong Exports Ltd."

  - `beneficiary.email` (string, required)
    Email address of the beneficiary partner
    Example: "hongkong@exports.com"

  - `payment_amount` (object, required)
    Payment amount and asset

  - `payment_amount.value` (string, required)
    Payment amount as a string to preserve precision
    Example: "50.00000000"

  - `payment_amount.asset` (string, required)
    Asset symbol of the payment
    Example: "USDT"

  - `account_equivalent` (object, required)
    Account equivalent amounts for payment, fee, and net (converted to account's native currency)

  - `account_equivalent.gross_amount` (object, required)

  - `account_equivalent.gross_amount.value` (string, required)
    Gross amount in account currency
    Example: "50.00"

  - `account_equivalent.gross_amount.currency` (string, required)
    Account currency code
    Example: "USD"

  - `account_equivalent.fee_amount` (object, required)

  - `account_equivalent.fee_amount.value` (string, required)
    Fee amount in account currency
    Example: "0.50"

  - `account_equivalent.fee_amount.currency` (string, required)
    Account currency code
    Example: "USD"

  - `account_equivalent.net_amount` (object, required)

  - `account_equivalent.net_amount.value` (string, required)
    Net amount in account currency
    Example: "49.50"

  - `account_equivalent.net_amount.currency` (string, required)
    Account currency code
    Example: "USD"

  - `market_rate` (object, required)
    Market rate reference for the transaction

  - `market_rate.base` (string)
    Base currency for the exchange rate
    Example: "USDT"

  - `market_rate.counter` (string)
    Counter currency for the exchange rate
    Example: "USD"

  - `market_rate.rate` (string)
    Exchange rate from base to counter currency
    Example: "1.00"

  - `exchange_rate` (object, required)
    Exchange rate applied on the transaction

  - `exchange_rate.base` (string)
    Base currency for the exchange rate
    Example: "USDT"

  - `exchange_rate.counter` (string)
    Counter currency for the exchange rate
    Example: "USD"

  - `exchange_rate.rate` (string)
    Exchange rate from base to counter currency
    Example: "0.99"

  - `source_payment_method` (object, required)
    Source payment method details for a transaction

  - `status` (string, required)
    Transaction status
    Enum: "COMPLETED", "FAILED_KYT", "FAILED", "HOLD_KYT", "REFUNDED_KYT", "PROCESSING", "IGNORED"

  - `reason` (string,null)
    Reason for current status (if applicable)

  - `transaction_processed_date` (string, required)
    ISO 8601 timestamp of the transaction
    Example: "2025-06-17T12:20:00Z"

  - `date_created` (string, required)
    ISO 8601 timestamp when transaction was created
    Example: "2025-09-18T22:54:00.542Z"

  - `date_confirmed` (string, required)
    ISO 8601 timestamp when transaction was confirmed
    Example: "2025-09-18T22:54:00.542Z"

## Response 400 fields (application/json):

  - `code` (string, required)
    Error code identifying the type of error

  - `reason` (string, required)
    Human-readable error message


