---
title: "Checking the status of a transaction"
method: GET
path: "/v1/transactions/{transactionId}"
tags: ["/v1/transactions"]
---

# Checking the status of a transaction

`GET /v1/transactions/{transactionId}`

The API endpoint status can be used to check the status of any transaction, see its history, and retrieve the card information.

## Path parameters

- `transactionId` integer, required — The transactionId received after an authorization.

## Response `200`

Status of a transaction

- StatusResponse
  - `transactionId` string — The transactionId received after an authorization.
  - `merchantId` string — The merchant id.
  - `type` 'payment' | 'credit' | 'card_check'
  - `status` 'initialized' | 'challenge_required' | 'challenge_ongoing' | 'authenticated' | 'authorized' | 'settled' | 'canceled' | 'transmitted' | 'failed' — The transaction status |Status|Description| |:---|:---| |initialized| When a transaction was initialized. A transaction is initialized after a successful init request. This status is only set for customer-initiated flows before consumers start their payment via our payment forms.| |authenticated| When a transaction was authenticated. This status is only set if you defer the authorization from the authentication.| |authorized| When a transaction was authorized. This status is only set if you defer the settlement from the authorization.| |settled| When a transaction was settled partially or fully.| |canceled| When a transaction was canceled by the user or automatically by the system after a time out occurred on our payment forms. |transmitted| When a transaction was transmitted to the acquirer for processing. This is automatically set by our system.| |failed| When a transaction failed.|
  - `currency` string — 3 letter <a href='https://en.wikipedia.org/wiki/ISO_4217' target='_blank'>ISO-4217</a> character code. For example `CHF` or `USD`
  - `refno` string — The merchant's reference number. It should be unique for each transaction.
  - `refno2` string — Optional customer's reference number. Supported by some payment methods or acquirers.
  - `metadata` Metadata — Merchant reference data
    - `userData1` string — Merchant description 1
    - `userData2` string — Merchant description 2
    - `userData3` string — Customer description 1
    - `userData4` string — Customer description 2
  - `paymentMethod` 'ACC' | 'ALP' | 'APL' | 'AMX' | 'AZP' | 'BAC' | 'BON' | 'CBL' | 'CFY' | 'CSY' | 'CUP' | 'DEA' | 'DIN' | 'DII' | 'DIB' | 'DIS' | 'DNK' | 'ECA' | 'ELV' | 'EPS' | 'ESY' | 'GFT' | 'GPA' | 'HPC' | 'INT' | 'JCB' | 'JEL' | 'KLN' | 'MAU' | 'MDP' | 'MFA' | 'MFX' | 'MPA' | 'MFG' | 'MPG' | 'MPX' | 'MYO' | 'PAP' | 'PAY' | 'PEF' | 'PFC' | 'PSC' | 'REK' | 'SAM' | 'SWB' | 'SCX' | 'SWP' | 'TWI' | 'UAP' | 'VIS' | 'WEC' | 'SWH' | 'VPS' | 'MBP' | 'CUV' | 'GEP' | 'PLU' | 'DVI' | 'PFP' | 'PYL'
  - `detail` Detail — Details about the various action steps of the transaction.
    - `init` InitDetail
      - `expires` string, date-time — Tells when the initialized transaction will expire if not continued - 30 minutes after initialization.
    - `authorize` AuthorizeDetail
      - `amount` integer — The authorization amount.
      - `acquirerAuthorizationCode` string — The authorization code returned by the acquirer or payment method provider.
    - `settle` SettleDetail
      - `amount` integer — The settled amount.
    - `credit` CreditDetail
      - `amount` integer — The credit amount.
    - `cancel` CancelDetail
      - `reversal` boolean — Whether the transaction was reversed on acquirer side.
    - `fail` FailDetail
      - `reason` 'card_invalid' | 'declined' | 'soft_declined' | 'incomplete' | 'timeout' | 'invalid_setup' | 'secure_authentication' | 'error_on_start' | 'referral' | 'error' — The failure reason if an error occurred.
      - `message` string — A detailed message describing the occurred error.
  - `customer` Customer — Customer details. Returned only if collected by the payment page. Setup dependent.
    - `email` string — The email of the customer.
    - `name` string — The full name of the customer.
    - `firstName` string — The first name of the customer.
    - `lastName` string — The last name of the customer.
    - `street` string — The street of the customer.
    - `city` string — The city of the customer.
    - `country` string — 2 letter ISO 3166-1 alpha-2 country code
    - `zipCode` string — Zip code of the customer.
  - `cdm` CDMResponse — The response of the cybersource decision manager.
  - `accertify` Accertify — Accertify decision (Accepted, Review, Declined
  - `language` 'en' | 'de' | 'fr' | 'it' | 'es' | 'el' | 'fi' | 'hu' | 'ko' | 'nl' | 'no' | 'da' | 'pl' | 'pt' | 'ru' | 'ja' | 'sk' | 'sl' | 'sv' | 'tr' | 'zh' — The language (language code) in which the payment was presented to the cardholder. The <a href='https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes' target='_blank'>ISO-639-1</a> two letter language codes listed above are supported
  - `card` StatusCardDetail — If a credit card payment method was used for a transaction the `card` object holds all relevant properties for the used card.
    - `alias` string — The resulting alias, if requested or available.
    - `fingerprint` string — An unique identifier of the card number. Useful to identify multiple customers' or the same customer's transactions where the same card was used.
    - `masked` string — Masked credit card number. Can be used to display on a users profile page. For example: `424242xxxxxx4242`
    - `aliasCVV` string — Alias of the CVV. Will be deleted immediately after authorization.
    - `expiryMonth` string — The expiry month of the credit card alias.
    - `expiryYear` string — The expiry year of the credit card alias
    - `info` CardInfo — The card information if the request was done with a card object
      - `brand` string — The brand of the credit card (e.g. VISA CREDIT).
      - `coBrand` string — The coBrand of the card
      - `type` string — The type of the card (`credit`, `debit` or `prepaid`). The property will not be present if the card type is unknown.
      - `usage` string — The usage of the card (`consumer`, `corporate` or `unknown`).
      - `country` string — 2 letter ISO 3166-1 alpha-2 country code.
      - `issuer` string — The issuer of the card.
      - `accountType` 'PAN' | 'TOKEN'
      - `binLength` integer — The bin length, if known.
    - `walletIndicator` 'APL' | 'PAY' | 'SAM' | 'VPS' | 'MBP'
    - `networkToken` TokenInfo — Scheme token details. This information is only available if the card behind the alias has been tokenized.
      - `expiryMonth` string — The expiry month of the scheme token
      - `expiryYear` string — The expiry year of the scheme token
      - `status` 'INACTIVE' | 'ACTIVE' | 'SUSPENDED' | 'DELETED' | 'PENDING' | 'FAILED' — The status of the scheme token
      - `paymentAccountReference` string — The Payment Account Reference of the scheme token
      - `tokenRequestorId` string — The token requestor id
      - `token` string — Scheme token
      - `reason` NetworkTokenError
        - `code` 'SERVICE_NOT_ALLOWED' | 'TOKEN_PROVIDER_UNAVAILABLE' | 'MISSING_FIELD' | 'DECLINED' | 'REQUIRE_ADDITIONAL_AUTHENTICATION' | 'WAITING_ACTIVATION' | 'INTERNAL_ERROR' | 'UNKNOWN_ERROR'
        - `message` string
    - `cardOnFile` CardOnFileStatus — Card On File (COF) parameters. COF usually is handled by Datatrans aliases. This feature is only for specific use cases where the Datatrans alias solution cannot be used. This feature needs to be enabled on the merchant configuration by Datatrans.
      - `id` string — The card on file Id if manual card on file enrollment was specified in the initialize request (`init.card.cardOnFile.enroll`).
    - `3D` EMVCo3DAuthenticationDataStatusResponse — 3D authentication data, if available
      - `eci` '01' | '02' | '05' | '06' | '07' — The Electronic Commerce Indicator
      - `xid` string — The transaction ID returned by the directory server
      - `threeDSTransactionId` string — The transaction ID returned by the 3D Secure Provider
      - `cavv` string — The Cardholder Authentication Verification Value
      - `threeDSVersion` string — The 3D version
      - `cavvAlgorithm` string — The 3D algorithm
      - `directoryResponse` 'Y' | 'N' | 'U' | 'C' | 'R' | 'A' — Transaction status after `ARes` |Value|3Dv1|3Dv2| |:---|:---|:---| |Y| enrolled| authenticated| |N| not enrolled| authentication failed| |U| not available| not available| |C| |challenge needed| |R| |rejected| |A| |authentication attempt|
      - `authenticationResponse` 'Y' | 'N' | 'U' | 'A' | 'C' | 'R' | 'I' | 'D' — Transaction status after `RReq` (Challenge flow) |Value|3Dv1|3Dv2| |:---|:---|:---| |Y| authenticated| authenticated| |N| authentication failed| authentication failed| |U| not available| not available| |A| authentication attempt| authentication attempt| |C| process incomplete| process incomplete| |R| |authentication/account verification rejected| |I| |informational only| |D| not enrolled| |
      - `transStatusReason` string — Transaction status reason |Value|Description| |:---|:---| |01| Card authentication failed| |02| Unknown Device| |03| Unsupported Device| |04| Exceeds authentication frequency limit| |05| Expired card| |06| Invalid card number| |07| Invalid transaction| |08| No Card record| |09| Security failure| |10| Stolen card| |11| Suspected fraud| |12| Transaction not permitted to cardholder| |13| Cardholder not enrolled in service| |14| Transaction timed out at the ACS| |15| Low confidence| |16| Medium confidence| |17| High confidence| |18| Very High confidence| |19| Exceeds ACS maximum challenges| |20| Non-Payment transaction not supported| |21| 3RI transaction not supported| |22| ACS technical issue| |23| Decoupled Authentication required by ACS but not requested by 3DS Requestor| |24| 3DS Requestor Decoupled Max Expiry Time exceeded| |25| Decoupled Authentication was provided insufficient time to authenticate cardholder. ACS will not make attempt| |26| Authentication attempted but not performed by the cardholder| |27–79| Reserved for EMVCo future use (values invalid until defined by EMVCo)| |80–99 | Reserved for DS use|
      - `cbAvalgo` string
      - `cbScore` string
      - `cbExemption` string
      - `cardHolderInfo` string — Text provided by the ACS/Issuer to Cardholder during a transaction that was not authenticated by the ACS. The Issuer can optionally provide information to Cardholder. For example, "Additional authentication is needed for this transaction, please contact (Issuer Name) at xxx-xxx-xxxx."
  - `TWI` TwintDetail — If Twint was used for a transaction the object holds all Twint relevant properties.
    - `alias` string — The Twint alias.
    - `fingerprint` string — An unique identifier of the card number. Useful to identify multiple customers' or the same customer's transactions where the same card was used.
  - `PAP` PayPalDetail — If PayPal was used for a transaction the object holds all PayPal relevant properties.
    - `orderId` string — The PayPal orderId, if the transaction was a PayPal order.
    - `alias` string — The resulting alias, if requested or available.
    - `payerId` string — The PayPal payerId
  - `REK` RekaDetail — If Reka was used for a transaction the object holds all Reka relevant properties.
    - `alias` string — The resulting alias, if requested or available.
    - `masked` string — Masked REKA number. Can be used to display on a users profile page.
    - `expiryMonth` string — The expiry month of the REKA card
    - `expiryYear` string — The expiry year of the REKA card
    - `subtype` 'REK' | 'REL' | 'RER' — The REKA payment subtype. REK for REKA Pay, REL for REKA Lunch, RER for REKA Rail.
  - `ELV` ElvDetail — If ELV was used for a transaction the object holds all ELV relevant properties.
    - `alias` string — The resulting alias, if requested or available.
    - `mandateId` string — The mandate it which was passed in the init request if available.
    - `iban` string — The used IBAN.
  - `KLN` KlarnaDetail — If KLN was used for a transaction the object holds all Klarna relevant properties.
    - `alias` string — The resulting alias, if requested or available.
    - `subtype` string — The Klarna payment subtype. For example 'invoice' or 'direct_bank_transfer' etc.
  - `INT` ByjunoDetail — If INT was used for a transaction the object holds all Byjuno relevant properties.
    - `alias` string — The resulting alias, if requested or available.
  - `SWP` SwissPassDetail — If SWP was used for a transaction the object holds all SwissPass relevant properties.
    - `alias` string — The resulting alias, if requested or available.
  - `MPG` MPGDetail — If MPG was used for a transaction the object holds all MPG relevant properties.
    - `paycardNumber` string — the paycardNumber if available
    - `qrData` QrData — QR code data if available
      - `creditorInformation` CreditorInformation
        - `iban` string
        - `creditor` Creditor
          - `name` string
          - `addressLine1` string
          - `addressLine2` string
          - `street` string
          - `postalcode` string
          - `town` string
          - `country` string
      - `ultimateDebtor` UltimateDebtor
        - `name` string
        - `addressLine1` string
        - `addressLine2` string
        - `street` string
        - `postalcode` string
        - `town` string
        - `country` string
      - `paymentReference` PaymentReference
        - `reference` string
    - `esr` EsrData — Bank account details returned if `invoiceOnDelivery` was set in the init request.
      - `bankName` string
      - `bankAddress` string
      - `beneficiaryFirstLine` string
      - `beneficiarySecondLine` string
      - `beneficiaryThirdLine` string
      - `beneficiaryFourthLine` string
      - `bankAccount` string
      - `payerFirstLine` string
      - `payerSecondLine` string
      - `payerThirdLine` string
      - `payerFourthLine` string
      - `referenceLine1` string
      - `referenceLine2` string
  - `MFG` MFGDetail — If MFG was used for a transaction the object holds all MFG relevant properties.
    - `esr` EsrData — Bank account details returned if `invoiceOnDelivery` was set in the init request.
      - `bankName` string
      - `bankAddress` string
      - `beneficiaryFirstLine` string
      - `beneficiarySecondLine` string
      - `beneficiaryThirdLine` string
      - `beneficiaryFourthLine` string
      - `bankAccount` string
      - `payerFirstLine` string
      - `payerSecondLine` string
      - `payerThirdLine` string
      - `payerFourthLine` string
      - `referenceLine1` string
      - `referenceLine2` string
    - `qrData` QrData — QR code data if available
      - `creditorInformation` CreditorInformation
        - `iban` string
        - `creditor` Creditor
          - `name` string
          - `addressLine1` string
          - `addressLine2` string
          - `street` string
          - `postalcode` string
          - `town` string
          - `country` string
      - `ultimateDebtor` UltimateDebtor
        - `name` string
        - `addressLine1` string
        - `addressLine2` string
        - `street` string
        - `postalcode` string
        - `town` string
        - `country` string
      - `paymentReference` PaymentReference
        - `reference` string
  - `MFX` MFXDetail — If MFX was used for a transaction the object holds all MFX relevant properties.
    - `alias` string — The resulting alias, if requested or available.
    - `esr` EsrData — Bank account details returned if `invoiceOnDelivery` was set in the init request.
      - `bankName` string
      - `bankAddress` string
      - `beneficiaryFirstLine` string
      - `beneficiarySecondLine` string
      - `beneficiaryThirdLine` string
      - `beneficiaryFourthLine` string
      - `bankAccount` string
      - `payerFirstLine` string
      - `payerSecondLine` string
      - `payerThirdLine` string
      - `payerFourthLine` string
      - `referenceLine1` string
      - `referenceLine2` string
    - `qrData` QrData — QR code data if available
      - `creditorInformation` CreditorInformation
        - `iban` string
        - `creditor` Creditor
          - `name` string
          - `addressLine1` string
          - `addressLine2` string
          - `street` string
          - `postalcode` string
          - `town` string
          - `country` string
      - `ultimateDebtor` UltimateDebtor
        - `name` string
        - `addressLine1` string
        - `addressLine2` string
        - `street` string
        - `postalcode` string
        - `town` string
        - `country` string
      - `paymentReference` PaymentReference
        - `reference` string
  - `MPX` MPXDetail — If MPX was used for a transaction the object holds all MPX relevant properties.
    - `alias` string — The resulting alias, if requested or available.
    - `paycardNumber` string — the paycardNumber if available
    - `esr` EsrData — Bank account details returned if `invoiceOnDelivery` was set in the init request.
      - `bankName` string
      - `bankAddress` string
      - `beneficiaryFirstLine` string
      - `beneficiarySecondLine` string
      - `beneficiaryThirdLine` string
      - `beneficiaryFourthLine` string
      - `bankAccount` string
      - `payerFirstLine` string
      - `payerSecondLine` string
      - `payerThirdLine` string
      - `payerFourthLine` string
      - `referenceLine1` string
      - `referenceLine2` string
    - `qrData` QrData — QR code data if available
      - `creditorInformation` CreditorInformation
        - `iban` string
        - `creditor` Creditor
          - `name` string
          - `addressLine1` string
          - `addressLine2` string
          - `street` string
          - `postalcode` string
          - `town` string
          - `country` string
      - `ultimateDebtor` UltimateDebtor
        - `name` string
        - `addressLine1` string
        - `addressLine2` string
        - `street` string
        - `postalcode` string
        - `town` string
        - `country` string
      - `paymentReference` PaymentReference
        - `reference` string
  - `MDP` MDPDetail — If MDP was used for a transaction the object holds all MDP relevant properties.
    - `alias` string — The resulting alias, if requested or available.
  - `ESY` SwisscomPayDetail — If ESY was used for a transaction the object holds all Swisscom Pay relevant properties.
    - `alias` string — The resulting alias, if requested or available.
  - `PFC` PostfinanceDetail — If PFC was used for a transaction the object holds all Postfinance relevant properties.
    - `alias` string — The resulting alias, if requested or available.
    - `masked` string — Masked card number. Can be used to display on a users profile page. For example: `****2345`
    - `expiryMonth` string — The expiry month of the Postfinance card
    - `expiryYear` string — The expiry year of the Postfinance card
  - `PLU` SBBHalbtaxPlusDetail — If PLU was used for a transaction the object holds all SBBHalbtaxPlus relevant properties.
    - `alias` string — The SBBHalbtaxPlus alias.
    - `balanceType` string — The SBBHalbtaxPlus balance type.
  - `PFP` PostfinancePayDetail — If PFP was used for a transaction the object holds all PostfinancePay relevant properties.
    - `alias` string — The PostfinancePay alias.
    - `maskedIban` string — The PostfinancePay masked IBAN of the according account to identify the token's account by the shopper.
    - `fingerprint` string — An unique identifier of the card number. Useful to identify multiple customers' or the same customer's transactions where the same card was used.
  - `WEC` WeChatDetail — If WEC was used for a transaction the object holds all WeChat relevant properties.
    - `prepayId` string
  - `SCX` SuperCard — Supercard specific parameters.
    - `subtype` 'SCM' | 'SCV' | 'SCP' — The SCX payment subtype. SCM for Mastercard, SCV for Visa and SCP for Visa prepaid
  - `accountFunding` AccountFundingTransaction — Account Funding Transaction details
    - `dataVersionNumber` string
    - `generalData` GeneralData
      - `paymentTrxInd` string
      - `uniqueRefNo` string
      - `trxSubtype` string
      - `businessContext` string
      - `purposeOfPayment` string
    - `senderData` SenderData
      - `firstName` string
      - `lastName` string
      - `city` string
      - `countryCode` string
      - `streetAddress` string
      - `postalCode` string
      - `state` string
      - `dateOfBirth` string
      - `identificationTypeCode` string
      - `identificationSubtype` string
      - `identificationValue` string
      - `identificationIssuingCountry` string
    - `receiverData` ReceiverData
      - `firstName` string
      - `lastName` string
      - `city` string
      - `countryCode` string
      - `streetAddress` string
      - `postalCode` string
      - `state` string
      - `dateOfBirth` string
      - `identificationTypeCode` string
      - `identificationSubtype` string
      - `identificationValue` string
      - `identificationIssuingCountry` string
      - `accountNumber` string
      - `accountNumberType` string
  - `history` Action[]
    - `action` 'init' | 'authenticate' | 'authorize' | 'settle' | 'credit' | 'cancel' | 'change_details' — The action performed.
    - `autoSettle` boolean — Indicates if auto settlement was used. Only applicable if action was `authorize`
    - `requestId` string, uuid — Planet wide transaction Id per action.
    - `amount` integer — The amount used.
    - `source` 'admin' | 'amadeus' | 'ajax' | 'android' | 'api' | 'inline' | 'ios' | 'lightbox' | 'link' | 'redirect' | 'secure_fields' | 'system' | 'web' | 'web_hidden' | 'unknown' — From where the action originated.
    - `date` string, date-time — Date when the action was performed.
    - `success` boolean — Whether the action was successful or not.
    - `marketplace` MarketPlace — If you are a marketplace merchant, use this object to send one or multiplesplits per transaction.
      - `splits` MarketPlaceSplit[], required — The marketplace splits
        - `subMerchantId` string — Your sub-merchant's ID. This value is specified by your collector.
        - `amount` integer — The share of the transaction that you want to be transferred to / from a sub-merchant's account in the currency's smallest unit. For example use 1000 for CHF 10.00. The amount cannot be 0. The sum of all split amounts have to match the transaction amount.
        - `commission` integer — Your marketplace commission in the currency's smallest unit. For example use 1000 for CHF 10.00. The commission will always be deducted from the split amount and can therefore not be higher than the split amount. For settlements, the commission will be deducted from the amount to be paid out to the sub-merchant and credited to your marketplace account. For refunds, the commission will be deducted from the amount to be debited from the sub-merchant and debited instead from your marketplace account.
        - `vat` integer — The VAT related to the specific transaction split in the currency's smallest unit. The VAT amount cannot exceed the value of the `commission`.
    - `ip` string — The IP address from where the action originated from.
  - `ep2` Ep2 — EP2 data if available.
    - `trmID` string — The terminal ID
    - `trxSeqCnt` string — The transaction Sequence Count
    - `aid` string — The application Identifier
    - `amtAuth` string — The authorized amount
    - `trxDate` string — The date of the processing
    - `trxTime` string — The time of the processing
    - `pan` string — The PAN
    - `appPanEnc` string — The encrypted cardholder account number
    - `issuerCode` string — The issuer code
    - `actSeqCnt` integer — The activation sequence count
    - `trxRefNum` string — The transaction reference number
    - `trxTypeExt` string — The transaction type extension
    - `brand` string — The brand
    - `authCode` string — The authorization code
    - `staticKeyIndex` string — The static key index
    - `trxCurrC` string — The transaction currency code
  - `dcc` Dcc — DCC (Dynamic Currency Conversion) data if available.
    - `currency` string — The DCC currency
    - `amount` integer — The DCC amount
    - `rate` number, double — The DCC rate
    - `markup` number, double — The DCC markup
  - `multiCurrencyProcessing` MultiCurrencyProcessing — Multi currency processing data if sent during init or authorization
    - `currency` string — The targeted currency
    - `conversionRate` number, double, required — Conversion rate received from the currency rates endpoint
    - `amount` integer — The amount in your targeted currency
    - `transactionDate` string, date-time, required — Transaction datetime received from the currency rates endpoint
    - `localTransactionTime` string, required — LocalTransactionTime received from the currency rates endpoint
    - `retrievalReferenceNumber` string, required — RetrievalReferenceNumber received from the currency rates endpoint
    - `userId` string, required
    - `provider` string, required — The provider for multi currency processing
    - `reasonIndicator` string, required — If received from acquirer the reason indicator can be set
  - `avs` Avs — Address Verification Service Response properties.
    - `result` string, required — The result of the address verification. It is the exact same resultas returned from the acquirer. Be aware that different acquirers can returnresult codes.

## Other responses

- `400` — Invalid request

---

[API](https://skmtc.net/pci-proxy/apis/pci-proxy-api-reference-datatrans-endpoints.md) · [All operations](https://skmtc.net/pci-proxy/apis/pci-proxy-api-reference-datatrans-endpoints/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/pci-proxy/pci-proxy-api-reference-datatrans-endpoints/versions/1f4f905fd175/schema)
