Skip to main content

Card Present

To support Card Present transactions additional data is required to identify the terminal and provide additional data required by Swipe, Chip and Contactless transactions.

In additional to the basic field requirements in the TransactDirect API Guide the following fields are available to support Card Present transaction processing.

warning

Card Present transaction requires independent acquirer approval. Contact Monek Support for further information.

Card Present Request Fields

Field NameDescriptionReq'dSizeType
TerminalIdAn 8-digit number indicating the unique terminal identifier.M8N
MessageNumberA 4-digit number indicating the current receipt number for the terminal.M4N
TransactionTimeOriginal local transaction date and time in ISO 8601 format.MVA
CardDetailStructured field containing keyed, swiped, chip, or contactless card data.MMax 40A
KSNKey Serial Number used in conjunction with DUKPT encrypted card details.O20A
IccDataStructured field containing ICC request data as defined by EMV.OVA
AuxiliaryDataStructured field containing APACS auxiliary request data as defined in APACS Standard 70.OVA

TerminalId

An 8-digit number value denoting the unique terminal identity number. Each payment terminal should be given a unique Terminal Identifier (TID).

Can be allocated by Monek or specified by hardware vendor.

Structure of Terminal Identifier field

DigitsDescription
1 to 4RID - Registered Identifier (Identifies the organisation)
5 to 8UID - Unit Identifier (Identifies the terminal)

MessageNumber

A 4-digit number indicating the current receipt number for the terminal. Used in conjunction with the Terminal Identifier.

Note: Number must be 4 digits and should be zero padded where necessary.

TransactionTime

Original local transaction date and time in ISO 8601 format.

e.g. 2017-10-17T12:00:00

CardDetail

Base64 encoded representation of the DUKPT encrypted card information block. Used in conjunction with the KSN field.

Card Detail contents vary based on the card details mode of entry. The mode of entry used for card details must be applicable for the message type. For example, a message type denoting a swiped transaction must provide card details in the form of a magnetic stripe read.

Additional cardholder information can be supplied in the optional Customer Detail record.

Structure of card information data

The contents of this structure should be DUKPT encrypted and transmitted in Base64 encoded form.

NoField Name and ContentsReq'dSizeType
1Card Detail record. Any of the standard Card Detail formats are supportedMMax 40A
2Record Separator (ASCII RS)O1
3Cardholder Detail record. Optional cardholder information.OMax 245A

Card Detail Record – Magnetic stripe read – Track 2 data

NoField Name and ContentsReq'dSizeType
1.1Unaltered contents of magnetic stripe track 2 (must include checksum and sentinels)MMax 40A

Card Detail Record – Manually keyed

NoField Name and ContentsReq'dSizeType
1.1Unit Separator (ASCII US)M1
1.2Card NumberMMax 25N
1.3Unit Separator (ASCII US)M1
1.4Expiry Date (YYMM)M4N
1.5Unit Separator (ASCII US)O1
1.6Issue NumberOMax 2N
1.7Unit Separator (ASCII US)O1
1.8Start Date (YYMM)O4N

Card Detail Record – ICC supplied equivalent Track 2 data

NoField Name and ContentsReq'dSizeType
1.1ICC Track 2 DataMMax 37A
1.2Unit Separator (ASCII US)M1
1.3ICC Application PAN Sequence NumberOMax 2N

Card Detail Record – ICC supplied equivalent manually keyed

NoField Name and ContentsReq'dSizeType
1.1ICC Card NumberMMax 19N
1.2Unit Separator (ASCII US)M1
1.3ICC Expiry Date (YYMM)M4N
1.4Unit Separator (ASCII US)O1
1.5ICC Sequence NumberO2N

Cardholder Detail Record

NoField Name and ContentsReq'dSizeType
3.1Unit Separator (ASCII US)M1
3.2PostcodeOMax 10A
3.3Unit Separator (ASCII US)O1
3.4AddressOMax 100A
3.5Unit Separator (ASCII US)O1
3.6Cardholder NameOMax 50A
3.7Unit Separator (ASCII US)O1
3.8TelephoneOMax 30A
3.9Unit Separator (ASCII US)O1
3.10Email AddressOMax 50A

KSN

This field is used for a transaction where DUKPT (Derived Unique Key Per Transaction) encryption is supported and must be formatted as a 20-digit Hexadecimal string. e.g.

FFFF9876543210E10004

When a KSN is supplied the CardDetail field will always be treated as base64 encoded DUKPT encrypted data.

IccOptions

This field is used to indicate certain card present processing events not identifiable from the standard transaction data.

This field should be presented as a comma delimited list of all applicable value. e.g. in a swiped fallback scenario with cardholder signature you would send:

FB,SV

ICC Option Codes

CodeDescription
CFIndicates communications failure prevented the transaction being authorised online.
Note: Transactions must be submitted as PAYMENT_ONLY_
FAIndicates the transaction was authorised offline, e.g. Contactless
Note: Transactions must have the AuthorisationCode field populated with the authorisation code supplied by the card/terminal.
FBIndicates an ICC transaction was attempted by could not complete, and that the transaction was processed as Swiped Fall-back
FNIndicates the transaction should be processed without Monek carrying out expiry date or LUHN checking.
Note: Only be used for certain card types as advised by your acquirer
XRIndicates the transaction was an authorisation following a referral.
Note: Transactions must be labelled as PAYMENT_ONLY_ and have the AuthorisationCode field populated with the authorisation code supplied by the issuer/acquirer.

IccData

This field is used for an ICC transaction where the card details have been read from the card's integrated circuit card. Defined in EMV and is as follows:

NoField Name and ContentsReq'dSizeType
1Application Cryptogram - Tag 9F26M16A
2Application Interchange Profile (AIP) - Tag 82M4A
3Application Transaction Counter (ATC) - Tag 9F36M4A
4Unpredictable Number - Tag 9F37M8A
5Terminal Verification Result (TVR) - Tag 95M10A
6Cryptogram Transaction Type - Tag 9CM2N
7Issuer Application Data (IAD) - Tag 9F10Mmax64A
8Unit Separator (ASCII US)M1
9Application Identifier (AID) - Tag 9F06Mmax 32A
10Unit Separator (ASCII US)M1
11Terminal Application Version Number - Tag 9F09M4A
12Unit Separator (ASCII US)M1
13Cryptogram Information Data - Tag 9F27M2A
14Unit Separator (ASCII US)M1
15CVM Results - Tag 9F34M6A
16Record Separator (ASCII RS)M1
17Application Usage Control - Tag 9F07M4A
18Application Version - Tag 9F08M4A
19Transaction Status Information - Tag 9BM4A
20Terminal Type - Tag 9F35M2A
21Terminal Capabilities - Tag 9F33M6A
22POS Entry Mode – Tag 9F39M2A
23Record Separator (ASCII RS)C11
24Reason On-line Code - Vendor specific tagC12N

AuxiliaryData

This field is used for transactions where APACS auxiliary request data is required. Field format should follow the APACS Standard 70 specification as defined in Book 2 Appendix B.

Auxiliary data field format

NoField Name and ContentsReq'dSizeType
AAuxiliary Data Terminal Capabilities. 1 if Auxiliary Response Data is supported; otherwise 0.M1N
BAuxiliary Data Message Size Limit.Fixed: 0480M4N
C.11st Auxiliary Data RecordOVA
C.22nd Auxiliary Data RecordOVA
C.Nnth Auxiliary Data RecordOVA

Auxiliary data record format

NoField Name and ContentsReq'dSizeType
ARecord Separator (ASCII RS)M1
BData record typeM2A
CData record sub-typeM2N
D.1Group Separator (ASCII GS)M1
E.11st data element as defined by data record typeMVA
D.NGroup Separator (ASCII GS)O1
E.NNth data element as defined by data record typeOVA

Card Present Response Fields

Field NameDescriptionReq'dSizeType
IccDataStructured field containing ICC response data as defined by EMV.OVA
AuxiliaryDataStructured field containing APACS auxiliary response data as defined in APACS Standard 70.OVA

IccData

This field is used for an ICC transaction where the card details have been read from the card's integrated circuit card. Defined in EMV and is as follows:

NoField Name and ContentsReq'dSizeType
1Issuer Authentication Data - Tag 91MMax 32A
2Unit Separator (ASCII US)O1
3Issuer Script Data – Tag 71 or Tag 72OMax 256A

AuxiliaryData

This field is used for transactions where APACS auxiliary response data is required. Field format should follow the APACS Standard 70 specification as defined in Book 2 Appendix B.

Auxiliary data field format

NoField Name and ContentsReq'dSizeType
A.11st Auxiliary Data RecordOVA
A.22nd Auxiliary Data RecordOVA
A.Nnth Auxiliary Data RecordOVA

Auxiliary data record format

NoField Name and ContentsReq'dSizeType
ARecord Separator (ASCII RS)M1
BData record typeM2A
CData record sub-typeM2N
D.1Group Separator (ASCII GS)M1
E.11st data element as defined by data record typeMVA
D.NGroup Separator (ASCII GS)O1
E.NNth data element as defined by data record typeOVA

Base Derivation Key

The DUKPT base derivation key (BDK) for all test merchants is:

C1D0F8FB4958670DBA40AB1F3752EF0D

Message Types

Message types consist of the transaction type and card capture method. The following message type are applicable for card present transactions.

info

For all Contactless transactions use the _CHIP message type.

Message TypeDescription
SALE_CHIPSale transaction, card details read from ICC at point of sale.
SALE_SWIPEDSale transaction, card details read from magnetic stripe at point of sale
SALE_KEYEDSale transaction, card details keyed at point of sale
SALE_CNP_MOSale transaction, cardholder not present, mail order
SALE_CNP_TOSale transaction, cardholder not present, telephone order
SALE_CASHBACK_CHIPSale transaction with cash back, card details read from ICC at point of sale
SALE_CASHBACK_SWIPEDSale transaction with cash back card details read from magnetic stripe at point of sale
SALE_CASHBACK_KEYEDSale transaction with cash back, card details keyed at point of sale
REFUND_CHIPRefund transactions, card details read from ICC at point of sale
REFUND_SWIPEDRefund transactions, card details read from magnetic stripe at point of sale
REFUND_KEYEDRefund transaction, card details keyed
REFUND_CNPRefund transaction, cardholder not present
REVERSAL_CHIPCancellation of earlier Chip & PIN transaction
REVERSAL_SWIPEDCancellation of earlier card swiped transaction
REVERSAL_KEYEDCancellation of earlier card keyed transaction

To prevent duplicate authorisations the PAYMENT_ONLY_ prefix should be used when sending transacitons in the following scenarios:

  • A Chip & PIN transaction that has been authorised off-line
  • Manual authorisation following a referral
  • Real time communication has failed.

e.g. When sending a transaction where real time communication has failed

MessageType=PAYMENT_ONLY_SALE_CHIP
IccOptions=CF

Reason Online Code

From the APACS Standard 70 Book 2 the Reason Code should be populated as follows:

CodeDescriptionExample Conditions
00IC application common data file unable to processOnly used by IC/MSR terminals where the terminal has possession of the card and when this condition can be accurately identified
01IC application, application data file unable to processOnly used by integrated IC/MSR terminals where the terminal has possession of the card and when this condition can be accurately identified
02IC random selectionNot Used
03Terminal random selection'Transaction selected randomly for real-time processing' bit set in TVR (i.e. byte 4, bit 5)
04Terminal not able to process ICFallback for IC
05Real-time forced by ICIC forced real-time, no bits set in TVR
06Real-time forced by card acceptorCard used twice Max times per day One in 'n' authorisation PAN key entry authorisation. Transaction type authorisation. Exclusion band checks. Pre-valid card
07Real-time forced by terminalNot used
08Real-time forced by terminalTVR indicates real-time required
09Real-time forced by card issuerExpired card. New card. Service code. Hot card
10Over floor limitAbove floor limit
11Card acceptor suspiciousForce authorisation (NO at signature check). Card returns an inappropriate cryptogram

Terminal Type Codes

Code indicating the terminal's capabilities sent as 4-digit hexadecimal value. e.g. F186 for a standard attended terminal.

The exact value for each given terminal and operating environment should be agreed with the merchant acquirer in each instance.

DescriptionFeature8421
First positionIC contact readerX
Terminal capabilitiesMagnetic stripe readerX
Manual card entryX
Extended terminal capabilities. See note 1X
Second positionLines availableX
Number of display or print linesX
X
X
Third positionDown-line loading Referral tel. noX
Response message capabilitiesHold capabilityX
Down-line loading floor limitsX
Response additional data supportedX
Fourth positionUnattended deviceX
Additional featuresPin Pad availableX
Terminal or operator able to capture cardX
Cardholders device. e.g. PC, phoneX

Note 1: If this bit is set then the data supplied in the 'Extended Terminal Capabilities and Attributes' auxiliary data message takes priority.