...
See emvco.c for an example using that structure (CT transaction flow only).
Code Block | ||||
---|---|---|---|---|
| ||||
typedef struct { /** If bTRUE, TAC/IAC default processing is skipped if unable to go online*/ tBoolean mSkipTACIACDefault; /** If bTRUE, TAC processing is performed*/ tBoolean mTAC; /** If bTRUE, Floor Limit Checking is performed*/ tBoolean mFloorLimitChecking; /** If bTRUE, RTS is performed*/ tBoolean mRandomTransactionSelection; /** If bTRUE, Velocity Checking is performed*/ tBoolean mVelocityChecking; /** If bTRUE, Default TDOL is supported*/ tBoolean mDefaultTDOL; /** TDOL length*/ tByte mDefaultTDOLLen; /**Tag 0x97*/ tByte mDefaultTDOLValue[TDOL_MAX_LENGTH]; /** If bTRUE, Default DDOL is supported*/ tBoolean mDefaultDDOL; /** DDOL length*/ tByte mDefaultDDOLLen; /**Tag 0x9F49 or 0x9F69 (UDOL for contactless)*/ tByte mDefaultDDOLValue[DDOL_MAX_LENGTH]; /**Terminal Action Code - Denial*/ tTVR mTACDenial; /**Terminal Action Code - Online*/ tTVR mTACOnline; /**Terminal Action Code - Default*/ tTVR mTACDefault; /**Tag 0x9F1B*/ tAmount mTerminalFloorLimit; /**See EMV Book III, TRM section - Random Transaction Selection*/ tPercentage mTargetPercentage; /**See EMV Book III, TRM section - Random Transaction Selection. Same transaction currency exponent as 0x9F02*/ tAmount mThresholdValue; /**See EMV Book III, TRM section - Random Transaction Selection*/ tPercentage mMaxTargetPercentage; /**if bTRUE, pin may be bypassed when requested*/ tBoolean mPINByPass; /**bTRUE when merchant manually requested transaction to go online*/ tBoolean mForcedOnline; /**Tag 0x9A*/ tNumericDate mTransactionDate[3]; /**Tag 0x9F21*/ tNumericDate mTransactionTime[3]; /**Tag 0x9F35*/ tTerminalType mTerminalType; /** Transaction language*/ tByte mLanguage; /** PIN entry delay in second*/ tCounter mPinTimeOut; /** CDAMode1, CDAMode2 and CDAMode3 only*/ tCDAType mCDAType; /**if bTRUE, Terminal Risk Management is performed even if ICC doesn't request it*/ tBoolean mForceTRM; /**Tag 0x5F57*/ tByte mAccountType; /**Tag 0x9F39*/ tByte mPOSEntryMode; /**Tag 0x9F41*/ tCounter mTransactionSequenceCounter; /**Tag 0x9F1D*/ tByte mTerminalRiskManagementData[8]; /**Tag 0x9F3A*/ tAmount mAmountReferenceCurrency; /**Tag 0x9F3C*/ tByte mTransactionReferenceCurrencyCode[2]; /**Tag 0x9F3D*/ tByte mTransactionReferenceCurrencyExponent; /**Tag 0x9F1A*/ tByte mTerminalCountryCode[2]; /**Tag 0x5F2A*/ tByte mTransactionCurrencyCode[2]; /**Tag 0x5F36*/ tByte mTransactionCurrencyExponent; /**Tag 0x9F33*/ tByte mTerminalCapabilities[3]; /**Tag 0x9F40*/ tByte mAdditionalTerminalCapabilities[5]; /**Tag 0x9F09*/ tByte mApplicationVersionNumber[2]; /**Tag 0x9C*/ tByte mTxnType; /**Tag 0x9F1C*/ tByte mTerminalIdentification[8]; /**Tag 0x9F1E*/ tByte mIFDSerialNumber[8]; /**Tag 0x9F01*/ tByte mAcquirerIdentifier[6]; } tTransactionalContext; |
...