Transaction Response Codes
Transaction Detail
| Property | Type | Description |
|---|---|---|
| transactionId | String | Identifier for a transaction |
| transactionStatus | TransactionStatus | Represents the various statuses a transaction can have |
| transactionType | TransactionType | The type of transaction (e.g., AUTH, REFUND, etc.) |
| transactionAmount | Int | The amount of the transaction in minor units |
| tipAmount | Int? | Tip amount of the transaction in minor units |
| transactionDate | Date | Date and time of the transaction |
| merchantId | String | Identifier of the merchant |
| terminalId | String | Identifier of the terminal |
| cancellable | Bool | Indicates if the transaction can be cancelled (reversed) |
| applicationLabel | String? | Application label from the card |
| cardType | String? | Type of card used (e.g., VISA, MASTERCARD) |
| expiryDate | Date? | Expiry date of the card |
| authId | String | Authorization identifier |
| AID | String? | Application Identifier |
| cardNumber | String | Masked card number |
| responseCode | String? | Response code from the host |
| responseMsg | String? | Response message from the host |
| CID | String? | Cryptogram Information Data |
| applicationCryptogram | String? | Application cryptogram |
| externalID | String? | External identifier for the transaction |
| retrievalRefNum | String? | Retrieval Reference Number (RRN) |
| refundedTransactionId | String? | ID of the original transaction that was refunded |
| refundedDate | Date? | Date of the refund |
| refundedMaskedPan | String? | Masked PAN of the card used for the refund |
| isReversalAvailable | Bool? | Indicates if reversal is available for this transaction |
| paymentMethod | PaymentMethod | Payment method used (e.g., CARD, BLIK, QRCODE) |
| refundable | Bool? | Indicates if the transaction is refundable |
| ref1 | String? | Optional reference field 1 |
| ref2 | String? | Optional reference field 2 |
| currency | Currency? | Currency of the transaction |
| dccStatus | DCCStatus? | Status of Dynamic Currency Conversion |
| dccAmount | Int? | DCC amount in minor units |
| dccCurrency | Currency? | DCC currency |
| dccExchangeRate | Double? | Exchange rate for DCC |
| dccMarkup | Double? | Markup for DCC |
| dccEcbIndicator | Bool? | ECB indicator for DCC |
| transactionRetry | Int? | 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
TransactionType
| Type | Meaning |
|---|---|
| AUTH | A successful transaction authorized |
| REFUND | A successful transaction refund |
PaymentMethod
| Type | Meaning |
|---|---|
| CARD | Transactions made using TTPOI or other NFC readers. |
| QRCODE | Transactions made using QR code payments. (Alternative Payment Method) |
| BLIK | Transactions made using BLIK. |
| UNKNOWN | Unknown 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