# Retrieve a transaction

Retrieve a specific transaction by its ID.

Endpoint: GET /transaction/{id}
Version: 1.0
Security: Bearer

## Path parameters:

  - `id` (integer, required)
    ID of the transaction to operate on.
    Example: 123

## Response 200 fields (application/json):

  - `code` (integer)
    HTTP status code of the response.
    Example: 200

  - `message` (string)
    HTTP message of the response.
    Example: "Success"

  - `data` (object)

  - `data.id` (integer)
    Unique transaction ID.

  - `data.siteId` (integer)
    ID of the site where the transaction occurred.

  - `data.orderId` (integer)
    ID of the associated order.

  - `data.customerId` (integer)
    ID of the customer.

  - `data.customerData` (object)

  - `data.customerData.id` (integer)
    Customer unique identifier.
    Example: 123

  - `data.customerData.siteId` (integer)
    Site ID which the customer belongs.
    Example: 123

  - `data.customerData.identifier` (string)
    External identifier for the customer.
    Example: "customer-123"

  - `data.customerData.firstName` (string)
    Customer's first name.
    Example: "John"

  - `data.customerData.lastName` (string)
    Customer's last name.
    Example: "Doe"

  - `data.customerData.country` (string)
    Customer's country of residence.
    Example: "US"

  - `data.customerData.state` (string)
    Customer's state of residence.
    Example: "NY"

  - `data.customerData.city` (string)
    Customer's city of residence.
    Example: "New York"

  - `data.customerData.zipCode` (string)
    Customer's zip code.
    Example: "10001"

  - `data.customerData.address` (string)
    Customer's street address.
    Example: "123 Main St"

  - `data.customerData.phone` (string)
    Customer's phone number.
    Example: "+1 555 555 5555"

  - `data.customerData.email` (string)
    Customer's email address.

  - `data.customerData.creationDate` (string)
    Creation date of customer.
    Example: "2020-05-18T00:00:00+00:00"

  - `data.customerData.creationTimestamp` (integer)
    Creation timestamp of customer.
    Example: 1589788800

  - `data.transactionType` (string)
    Type of transaction.
    Enum: "deposit", "refund", "credit", "chargeback", "representment"

  - `data.transactionMethod` (string)
    Method of transaction.
    Enum: "card", "wallet", "transfer"

  - `data.transactionStatus` (string)
    Status of transaction.
    Enum: "complete-ok", "cancel-ok", "refund-ok", "void-ok", "charge-back", "complete-failed", "in-progress", "3d-pending"

  - `data.ip` (string)
    IP address of the customer.

  - `data.amount` (string)
    Transaction amount.

  - `data.currency` (string)
    Currency of the transaction.

  - `data.amountInEur` (string)
    Transaction amount in EUR.

  - `data.description` (string)
    Description of the transaction.

  - `data.customerCountry` (string,null)
    Customer's country.

  - `data.creationDate` (string)
    Transaction creation date and time.

  - `data.creationTimestamp` (integer)
    Transaction creation timestamp.

  - `data.transactionSource` (string)
    Source of the transaction.
    Enum: "service-call", "re-bill", "re-bill-micro", "card-change"

  - `data.cardProviderId` (integer)
    ID of the card provider.

  - `data.cardProvider` (string)
    Name of the card provider.

  - `data.cardProviderName` (string)
    Name of the card provider (more descriptive).

  - `data.cardHolderName` (string,null)
    Name of the card holder.

  - `data.cardHolderCountry` (string,null)
    Country of the card holder.

  - `data.cardHolderState` (string,null)
    State of the card holder.

  - `data.cardType` (string)
    Type of card.
    Enum: "visa", "mastercard", "maestro"

  - `data.cardNumber` (string)
    Masked card number.

  - `data.cardExpiryDate` (string)
    Card expiry date.

  - `data.email` (string)
    Email address associated with the card.

  - `data.cardId` (integer)
    ID of the card.

  - `data.cardStatus` (string)
    Status of the card.
    Enum: "active", "deleted"

  - `data.backUrl` (string,null)
    Back URL.

  - `data.cardDescriptor` (string,null)
    Card descriptor.

  - `data.externalCustomData` (string)
    External custom data (JSON string). Consider defining a separate schema for this if its structure is known.

  - `data.fraudScore` (integer,null)
    Fraud score.

  - `data.transactionOption` (string,null)
    Transaction option.

  - `data.components` (array)
    Detailed transaction components. This array is included on detailed transaction responses and contains provider-level identifiers and response data.

  - `data.components.componentId` (integer)
    Unique transaction component ID.

  - `data.components.componentType` (string)
    Transaction component type.

  - `data.components.componentDate` (string)
    Component date and time.

  - `data.components.componentTimestamp` (integer)
    Component Unix timestamp.

  - `data.components.providerIntRef` (string,null)
    Provider internal reference.

  - `data.components.providerRc` (string,null)
    Provider response code.

  - `data.components.providerMessage` (string,null)
    Provider response message.

  - `data.components.providerAuth` (string,null)
    Provider authorization code.

  - `data.components.providerRrn` (string,null)
    Provider retrieval reference number.

  - `data.components.providerArn` (string,null)
    Provider acquirer reference number.

  - `data.components.providerIrd` (string,null)
    Provider interchange reimbursement descriptor.

  - `data.components.providerEci` (string,null)
    Electronic Commerce Indicator returned by the provider.

  - `data.components.providerC` (string,null)
    Provider component classification value.

  - `data.components.providerNetworkTransactionId` (string,null)
    Network transaction identifier returned by the payment provider or scheme for this component. Store this value only when tokenization happens outside xMoney and your integration needs to reference the original transaction for future stored-credential or merchant-initiated payments.

  - `data.components.data` (object)
    Raw provider request and response data attached to the component.

  - `data.splitStatus` (string,null)
    Split status.

  - `data.relatedTransactionIds` (array)
    An array of IDs of related transactions.

## Response 404 fields (application/json):

  - `code` (integer)
    Example: 404

  - `message` (string)
    Example: "Not Found"

  - `error` (array)

  - `error.code` (integer)
    Example: 824

  - `error.message` (string)
    Example: "Transaction not found"

  - `error.type` (string)
    Example: "Exception"


