---
title: "Get an online transaction"
method: GET
path: "/v2/transactions/online/{authentication_id}"
tags: ["Transactions"]
---

# Get an online transaction

`GET /v2/transactions/online/{authentication_id}`

## Request

- Base URL: `https://docs.teya.com` (the document declares no server; this is the origin it was published from)
- URL: `https://docs.teya.com/v2/transactions/online/{authentication_id}`
- Auth: OAuth 2
  - Authorization code: `https://id.teya.com/oauth/v2/oauth-authorize`
  - Client credentials
  - Token URL: `https://id.teya.com/oauth/v2/oauth-token`
- TypeScript: <https://skmtc.dev/teya/apis/teya-apis-for-external-plugins/docs/v2/transactions/online/:authentication_id/get.ts> (a function with typed inputs; its response is checked against the schema)

API to return details of a given online transaction by its authentication id.
<br><strong>Access Token Required scope:</strong> transactions/online/id/get

## Path parameters

- `authentication_id` string, uuid, required: The unique identifier for the new transaction by its authentication id

## Headers

- `User-Agent` string, required

## Response `200`

Transaction has been returned

- EcommerceTransactionPaymentsPublicOnlineTransaction: The response for a transaction request
  - `authentication_id` string, uuid, required: The unique identifier for the authentication
  - `created_at` string, date-time, required: The datetime that the transaction was created (ISO 8601 format)
  - `issuer_result` EcommerceTransactionPaymentsPublicIssuerResult: Result data for the transaction according to issuer's response
    - `approval_code` string: Identifier of the authorisation returned by the issuer. When the transaction is not authorised, this field is empty
    - `response_code` string: Response code returned by the issuer, indicating the result of the operation as per ISO-8583 (https://en.wikipedia.org/wiki/ISO_8583#Ver_1987)
  - `status` 'SUCCESS' | 'FAILURE' | 'PENDING', required: The status of the transaction
  - `status_reason` 'ACCOUNT_INVALID' | 'BLOCKED_CARD' | 'BLOCKED_CROSS_BORDER_TRANSACTION' | 'AMOUNT_TOO_SMALL' | 'CANNOT_VALIDATE_AUTHENTICATION' | 'CARD_COUNT_EXCEEDED' | 'CARD_DECLINED' | 'CARD_EXPIRED' | 'CARD_LIMIT_EXCEEDED' | 'CARD_NOT_ACTIVE' | 'DISABLED_ACCOUNT' | 'DO_NOT_HONOR' | 'ECOM_NEGATIVE_CARD_AUTHENTICATION_VERIFICATION' | 'EXCEEDS_AMOUNT_LIMIT' | 'FORMAT_ERROR' | 'INCORRECT_CARD_AUTHENTICATION' | 'INSUFFICIENT_FUNDS' | 'INVALID_CARD_NUMBER' | 'INVALID_TRANSACTION' | 'ISSUER_DECLINED' | 'LOST_OR_STOLEN' | 'MERCHANT_CONFIGURATION' | 'NEGATIVE_BALANCE' | 'PIN_LIMIT_EXCEEDED' | 'PROCESSOR_UNAVAILABLE' | 'RESTRICTED_CARD' | 'SCA_PIN_REQUIRED' | 'SCA_REQUIRED' | 'SUSPECTED_FRAUD' | 'TEMPORARY_ISSUE_RETRY' | 'TIMEOUT' | 'TRANSACTION_NOT_ALLOWED' | 'UNABLE_TO_ROUTE_TRANSACTION' | 'UNSUPPORTED_ISSUER' | 'FEATURE_NOT_ACTIVATED_MANUAL_ENTRY' | 'FEATURE_NOT_ACTIVATED_PAY_BY_LINK' | 'FEATURE_NOT_ACTIVATED_ECOMMERCE' | 'FEATURE_NOT_ACTIVATED_UNREFERENCED_REFUNDS' | 'OTHER', enum: Detailed reasons for the transaction failure status. This is provided when the transaction response status is FAILURE and is null when the payment succeeds or is pending.
  - `token_response` EcommerceTransactionPaymentsPublicTokenCreationResponse: Details of the token which was created and if any failures will have the failure reason
    - `brand` 'AMEX' | 'CALLIO' | 'CARDCO' | 'UNION_PAY' | 'DINERS' | 'DISCOVER' | 'DOXX' | 'GENERALI' | 'JCB' | 'KH' | 'MAESTRO' | 'MASTERCARD' | 'OTHER' | 'OTP' | 'PATIKA' | 'PREMIUM' | 'SODEXO' | 'UP' | 'VISA' | 'VITAMIN', enum, nullable: Brand of the card the token was created for. Populated on payment.succeeded.v1 webhook events when card details are known
    - `failure_reason` string, nullable: Why the token could not be created. Present when `token_status` is `FAILED`. Otherwise the field is either omitted or `null`, so handle both. A failed token does not fail the payment: the payment result is reported separately in `status`. - `MERCHANT_NOT_ENROLLED`: The store is not enrolled for card network tokens. Teya tries to enroll the store automatically on its first tokenization; this value means enrollment could not be completed. Contact Teya support. - `MERCHANT_NOT_READY`: The store is enrolled, but the card networks have not finished setting it up. This can take up to 48 hours and resolves on its own. Try saving the card again later. - `DECLINED_TOKENISATION`: The card network or issuer declined to create a token for this card. Ask the customer to save a different card. - `EXPIRED_CARD`: The card has expired. Ask the customer to save a different card. - `INELIGIBLE_CARD`: The card is not eligible for tokenization, for example because its issuer does not support network tokens. Ask the customer to save a different card. - `INVALID_CARD`: The card details are not valid for tokenization. Ask the customer to check the card details or save a different card. - `SERVICE_UNAVAILABLE`: The tokenization service was temporarily unavailable. Try saving the card again later. - `UNKNOWN`: An unexpected error occurred while creating the token. Try again later and contact Teya support if the problem persists. - `UNMAPPED`: An unrecognized error was returned by the tokenization service. Handle it like `UNKNOWN`. New values may be added. Treat any value you do not recognize like `UNKNOWN`.
    - `last4` string, nullable: Last four digits of the card used for the payment
    - `token_id` string: ID for the token which can be used for future payments
    - `token_status` 'SUCCESS' | 'FAILED', enum, required: Status of the token creation
    - `token_type` 'CARD_TOKEN' | 'WALLET_TOKEN', enum, nullable: Type of token created. `CARD_TOKEN` for tokens created from card details, `WALLET_TOKEN` for tokens created from Apple Pay. Store it with the `token_id` and send it back as `token_type` when charging the token.
  - `transaction_id` string, uuid, required: The unique identifier for the new transaction
  - `updated_at` string, date-time, required: The datetime that the transaction was updated (ISO 8601 format)

## Other responses

- `400`: Bad request due to wrong input
- `401`: Unauthorized request because of missing or invalid authentication token
- `403`: Forbidden request due to lack of permissions
- `404`: Transaction not found
- `500`: Internal Server Error

---

[API](https://skmtc.dev/teya/apis/teya-apis-for-external-plugins.md) - [All operations](https://skmtc.dev/teya/apis/teya-apis-for-external-plugins/llms.txt) - [OpenAPI document](https://skmtc.dev/teya/apis/teya-apis-for-external-plugins/revisions/e26c4d895fa7?raw)
