Skip to main content

Transaction Response Codes

Transaction Detail

PropertyTypeDescription
transactionIdStringIdentifier for a transaction
transactionStatusTransactionStatusRepresents the various statuses a transaction can have
transactionTypeTransactionTypeThe type of transaction (e.g., AUTH, REFUND, etc.)
transactionAmountIntThe amount of the transaction in minor units
tipAmountInt?Tip amount of the transaction in minor units
transactionDateDateDate and time of the transaction
merchantIdStringIdentifier of the merchant
terminalIdStringIdentifier of the terminal
cancellableBoolIndicates if the transaction can be cancelled (reversed)
applicationLabelString?Application label from the card
cardTypeString?Type of card used (e.g., VISA, MASTERCARD)
expiryDateDate?Expiry date of the card
authIdStringAuthorization identifier
AIDString?Application Identifier
cardNumberStringMasked card number
responseCodeString?Response code from the host
responseMsgString?Response message from the host
CIDString?Cryptogram Information Data
applicationCryptogramString?Application cryptogram
externalIDString?External identifier for the transaction
retrievalRefNumString?Retrieval Reference Number (RRN)
refundedTransactionIdString?ID of the original transaction that was refunded
refundedDateDate?Date of the refund
refundedMaskedPanString?Masked PAN of the card used for the refund
isReversalAvailableBool?Indicates if reversal is available for this transaction
paymentMethodPaymentMethodPayment method used (e.g., CARD, BLIK, QRCODE)
refundableBool?Indicates if the transaction is refundable
ref1String?Optional reference field 1
ref2String?Optional reference field 2
currencyCurrency?Currency of the transaction
dccStatusDCCStatus?Status of Dynamic Currency Conversion
dccAmountInt?DCC amount in minor units
dccCurrencyCurrency?DCC currency
dccExchangeRateDouble?Exchange rate for DCC
dccMarkupDouble?Markup for DCC
dccEcbIndicatorBool?ECB indicator for DCC
transactionRetryInt?Number of retries for the transaction

Note: A field is considered mandatory if it cannot be null.

Note for masked PAN handling

  • In Mobile response and on transaction detail on mobile full masked PAN (BIN + asterisk + last 4 digits: 2345 34** **** 1234) should be displayed.
  • In WPI response full masked PAN should be returned but in formatted receipt and in JSON receipt ‘short last pan: ’ (asterisk and last 4 digits: **** **** **** 1234) should be included.
  • In merchant portal full masked PAN should be presented.
  • On transaction confirmation (customer receipt) - short last pan should be displayed

Note for expiry date

  • Expiry date by default is returned masked (xx/xx) but it depends on dynamic property api.intent.cardexp.enabled. If this parameter is set to TRUE, clear expiry date is returned to mobile and:
  • Displayed on transaction details in mobile application
  • Returned in WPI and payment response of the SDK
  • Returned on WPI formatted/json receipt in WPI response

TransactionStatus

StatusMeaning
CLEAREDTransaction is authorized and cleared properly by acquirer.
PIN_REQUESTEDPin is required to finish transaction. If something happens at this stage (ie. Mobile went death) then this status stays. In fact the result is - no transaction was done.
NEWNew transaction (not performed yet), just when transaction was created in DB
REJECTEDTransaction was rejected after initiation. similar to DECLINED, but due to other reasons, when refusal to make transaction is done earlier i.e. Overlay app pops up (some other app above ToM) or when the user minimizes the app during a transaction. DECLINE is done by processor, REJECT can be done by SoftPos kernel.
REFUNDEDTransaction was refunded and refund was successful. When the transaction was done (with CLEARED), and additional REFUND message was created to original one. The result is the money is returned to the card account.
TIMEOUTTransaction authorization timeout (POS side). There is 120 seconds to read the card, 60 seconds to enter the PIN, 30 seconds for authorization.
USER_CANCELLEDTransaction is cancelled by user on terminal screen
ERRORTransaction not authorized due to server error, if something happens that is extraordinary (technical part)
TERMINAL_DECLINEDTransaction was declined by terminal (i.e. Kernel declined because of expiry, declined by VISA/MC,…)
ONGOINGTransaction in progress, sent request to acquirer and waiting for the response from processor / acquirer (SIX)
AUTHORIZEDTransaction authorized successfully, after receiving the response from processor / acquirer, and accepted. For WL it will be automatically CLEARED.
DECLINEDTransaction authorization denied, (refused by processor/acquirer host)
CANCELLEDTransaction is cancelled after successful authorization
DCC_REQUIREDTransaction requires DCC (Dynamic Currency Conversion).

TransactionType

TypeMeaning
AUTHA successful transaction authorized
REFUNDA successful transaction refund

PaymentMethod

TypeMeaning
CARDTransactions made using TTPOI or other NFC readers.
QRCODETransactions made using QR code payments. (Alternative Payment Method)
BLIKTransactions made using BLIK.
UNKNOWNUnknown payment method

Transaction Response Codes

Both TransactionDetail and APMTransaction have a parameter called Response Code which returns the number corresponding to the transaction response:

  • If the transaction code is 0:
    • transaction response approved
  • If the transaction code is one of [06, 09, 21, 58, 97, 98, 99]:
    • transaction response technical error
  • If the transaction code is 10:
    • transaction response partial approval
  • If the transaction code is 11:
    • transaction response invalid transaction
  • If the transaction code is 33:
    • transaction response expired card
  • If the transaction code is 43:
    • transaction response not permitted
  • If the transaction code is 55:
    • transaction response incorrect pin
  • If the transaction code is 56:
    • transaction response invalid card
  • If the transaction code is 60:
    • transaction response pin required
  • If the transaction code is 61:
    • transaction response insufficient funds
  • If the transaction code is 67:
    • transaction response exceeds withdrawal amount
  • If the transaction code is 77:
    • transaction response pin try limit
  • If the transaction code is 86:
    • transaction response exceeds withdrawal frequency
  • If the transaction code is 87:
    • transaction response approved purchase_only
  • For any other transaction code (default case):
    • transaction response declined