| |
agnGetVersionNumber
| Code Block |
---|
| DLLEXPORT tString agnGetVersionNumber(void); |
| Get EMV core engine version. |
agnOpenSession
| Code Block |
---|
| DLLEXPORT tAgnosError agnOpenSession(
const tString smartcardReaderName,
const tString pinPadName,
const tString applicationId,
const tTransactionalContext *txnContext,
tBoolean DirectExecution,
tBoolean setEMVTag,
tSessionId *session,
tBoolean clipping,
tBoolean sred
); |
| Open a CT session to initiate an EMV transaction flow. |
agnInitiateEMVTransaction
| Code Block |
---|
| DLLEXPORT tAgnosError agnInitiateEMVTransaction (
tSessionId session,
const tAmount *amount,
const tAmount *cashBack,
const tByte *AID,
tByte AIDLen,
tByte *CID
); |
| Initiate/Resume an EMV transaction |
agnCompleteEMVTransaction
| Code Block |
---|
| DLLEXPORT tAgnosError agnCompleteEMVTransaction (
tSessionId session,
tARC ARC,
tByte *CID,
const tByte *issuerResponse,
tWord issuerResponseLen,
tBoolean unableToGoOnline
); |
| Complete a transaction as per EMVCo definition |
agnGetDatabase
| Code Block |
---|
| DLLEXPORT tTagDataBase* agnGetDatabase(const tSessionId session); |
| |
agnIsEMVTagKnown
| Code Block |
---|
| DLLEXPORT tBoolean agnIsEMVTagKnown(
tWord tag // In: Tag to search in db storing referenced tags
); |
| Return bTRUE is tag statically known. |
agnIsEMVTagPresent
| Code Block |
---|
| DLLEXPORT tBoolean agnIsEMVTagPresent(
tSessionId session, // In: Kernel's session
tWord tag // In: Tag to search in current session
); |
| Return bTRUE if tag is present whatever its length. |
agnIsEMVTagEmpty
| Code Block |
---|
| DLLEXPORT tBoolean agnIsEMVTagEmpty(
tSessionId session, // In: Kernel's session
tWord tag // In: Tag to assess length
); |
| Return bTRUE if tag’s length is 0. |
agnIsEMVTagNotEmpty
| Code Block |
---|
| DLLEXPORT tBoolean agnIsEMVTagNotEmpty(
tSessionId session, // In: Kernel's session
tWord tag // In: Tag to assess length
); |
| Return bTRUE if tag’s length is not 0. |
agnGetEMVTag
| Code Block |
---|
| DLLEXPORT tAgnosError agnGetEMVTag(
tSessionId session, // In: Kernel's session
tWord tag, // In: See agnostypes.h. Tags values are word values (unsigned short)
tByte *length, // Out: Tag's length
tByte *value // Out: Value shall be allocated by calling application
) |
| Get a specific tag from Agnos database. |
agnSetEMVTag
| Code Block |
---|
| DLLEXPORT tAgnosError agnSetEMVTag(
tSessionId session, // In: Kernel's session
tWord tag, // In: See agnostypes.h. Tags values are word values (unsigned short)
tByte length, // In: Length of tag's value
const tByte *value // In: Tag's length
); |
| Add a tag into Agnos database without checking tag’s update condition. |
agnOverwriteEMVTag
| Code Block |
---|
| DLLEXPORT tAgnosError agnOverwriteEMVTag(
tSessionId session, // In: Kernel's session
tWord tag, // In: See agnostypes.h. Tags values are word values (unsigned short)
tByte length, // In: Length of tag's value
const tByte *value // In: Tag's length
); |
| Overwrite an existing tag. If it doesn’t exist, create it (no garbage collection if sizes don’t match). |
agnRemoveEMVTag
| Code Block |
---|
DLLEXPORT tAgnosError agnRemoveEMVTag(
tSessionId session, // In: Kernel's session
tWord tag // In: See agnostypes.h. Tags values are word values (unsigned short)
); |
| Remove a tag from Agnos database (no garbage collection). |
agnORTVR
| Code Block |
---|
DLLEXPORT tAgnosError agnORTVR(
tSessionId session, // In: Kernel's session
tByte TVRPosition, // In: 0 based position
tByte value // In: Value to OR
); |
| OR a specific TVR’s bit to 1. |
agnORAgnosTVR
| Code Block |
---|
| DLLEXPORT tAgnosError agnORAgnosTVR(
tSessionId session, // In: Kernel's session
tByte AgnosTVRPosition, // In: 0 based position
tByte value // In: Value to OR
) |
| OR a specific Agnos TVR’s bit to 1. |
agnSetAgnosTVR
| Code Block |
---|
| DLLEXPORT tAgnosError agnSetAgnosTVR(
tSessionId session, // In: Kernel's session
tByte AgnosTVRPosition, // In: 0 based position
tByte value // In: Value to Set
); |
| Set a specific Agnos TVR byte value. |
agnOpenSessionCL
| Code Block |
---|
| DLLEXPORT tAgnosError agnOpenSessionCL(
const tString smartcardReaderName, // In: Smartcard device name
const tString pinPadName, // In: Secured PIN entry device name
const tString applicationId, // In: Application Id
const tTransactionalContext *txnContext, // In: Context provided by the payment application
tBoolean setEMVTag, // In: set EMV data in kernel database (from transacitonal context)
tSessionId *session, // Out: Session returned by the kernel to be used when primitives are called
tBoolean clipping, // In: activate software clipping into Agnos
tBoolean sred // In: activate low level clipping
); |
| Open a CL session to initiate an EMV transaction flow |
agnCloseSession
| Code Block |
---|
| DLLEXPORT tAgnosError agnCloseSession (
tSessionId session
); |
| Close a transaction flow. |
agnSetAgnosDatabase | Add a series of tags. Each tag is statically indexed and ruled by an update condition. Use an appropriate update condition to store tags directly into Agnos database | |
agnSetKernelStatus | Set core engine to a specific state. Use this primitive to skip a state in State Machine mode | |
| | |
agnGetAllTags | Get all tags from Agnos database | |
| | |
| | |
| | |
| | |