...
...
...
...
...
...
...
...
...
...
...
...
...
tPaymentContext
tOutComeParameter
Table of Contents |
---|
C Structures
tPaymentContext (paymentMW.h)
Information provided by Level3: these data members must be filled up by the payment application integrating Agnos API. These data members are provided by a TRD trigggered by a sales system or a test environment (ACE)
Information set by Payment System:
mEMVContact/mEMVContactless/mMagstripe: these data members are initialized from TERMINAL file by AgnosEP at enpInitialize calling time. They are mandatory only when integrating a CL acceptance system supporting contact and/or magstripe
Tags 9F3A/9F3C/9F3D (meant for contact only): not used yet
Tag 5F57, account type (meant for contact and contacless): this data is used to set AgnosDB with from a TRD trigggered by a sales system or a test environment (ACE). If missing or lenth invalid 5F57 is systematically set to empty
Tag 9F39, POS entry mode (meant for contact and contactless):
Magstripe: set by payment application to MAG_MODE = 0x90
Contact: set by payment application to MAG_MODE = 0x05
Fallback from Contact to Magstripe: set by payment application to FALLBACK_MODE=0x80
Contactless: set by contactless card processing to EMV_CL_MODE=0x07 or MAG_CL_MODE=0x91
Tag 9F41, Transaction Counter (meant for contact only): this data member is used by emvco.c to demonstrate that each subsequent transsction can be indexed by a counter (for the purpose of L2 TA)
mARC (meant for contact and contactless): this data member is set by payment application just before completion from issuer response. It is used to set mCID to TC or AAC
mUnableToGoOnline (meant for contact only): this data member is set by payment application just before completion to indicate how to manage risk at GenAC2 time
Information set by Payment Application (from Agnos primitives):
mRID:
mADF:
mADFOrder:
Information set by EMV Library:
mSession
mCID
Information calculated by Level3: these data members are set automatically on at pmwSetEMVResult calling time. It shall be called at the end of any EMV contact transactions by payment application. It is systematically called by AgnosEP at the end of any contactless transaction
Level3<->Level2 communication: this data member is only meant for contactless transaction when supporting data exchange. Even if it is mandatory for few payment schemes during L2 TA, it is not mandatory to support it in production
...
breakoutMode | wide |
---|---|
language | c |
...
Table of Contents | ||
---|---|---|
|
API _Version _Revision | Description |
---|---|
_AgnosMW _version 3.5.20 _revision 23791 |
Payment Middleware | |||||||
---|---|---|---|---|---|---|---|
See paymentmw.h | |||||||
|
| -- | |||||
|
| -- | |||||
|
| -- | |||||
|
| -- | |||||
|
| -- | |||||
|
| -- | |||||
|
| -- | |||||
|
| -- | |||||
|
| -- | |||||
|
| -- | |||||
|
| -- | |||||
|
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
tOutComeParameter (paymentMW.h)
Code Block | ||||
---|---|---|---|---|
| ||||
typedef struct {
tOutCome mOutCome;
tStartingPoint mStartingPoint;
tOnlineResponseData mOnlineResponseData;
tCVM mCVM;
tBoolean mUIReqOnOutcomePresent; // If bTRUE, found in DataExchange
tBoolean mUIReqOnRestartPresent; // If bTRUE, found in DataExchange
tBoolean mReceipt;
tBoolean mDRPresent; // Data record. If present, found in DataExchange
tBoolean mDDPresent; // Discretionary Data. If present, found in DataExchange
tAlternateInterfacePreference mAlternateInterfacePreference;
tWord mFieldOffReq;
tWord mRemovalTimeout;
} tOutComeParameter; |
Primitives
Names
Comments
Initialization
pmwGetPaymentMiddlewareVersionNumber
Get AgnosMW version
pmwGetKernelVersion
Get EMV core engine version
pmwInitializePaymentContext
Shall be called before any new transaction
pmwIntializeOutComeParameter
Shall be called before any new transaction
dtmInitializeFromFile
Agnos uses three files to persist the data model:
TERMINAL
PROCESSING
ENTRY_POINT (contactless only)
Use this primitive ahead any transaction flow in order to initialize the transient data model.
Data Model
dtmSetTransactionalContext
Set this context to open an Agnos session (contact only. See emvco.c)
dtmSetData
TERMINAL_CTX
CONTACT_PROCESSING_CTX
CONTACTLESS_PROCESSING_CTX
ENTRY_POINT
dtmGetData
TERMINAL_CTX
CONTACT_PROCESSING_CTX
CONTACTLESS_PROCESSING_CTX
ENTRY_POINT
EMV Selection
pmwProceedToUniversalFinalSelection
Proceed to standard final selection following EMVCo specs. This function call can be overloaded in CT and hooked in contactless in order to implement specific selection logic (US, Canada, France)
Others
dtmSelectCTKernel
pmwSetEMVResult
Set EMV parameters after a transaction within tPaymentContext based on Agnos status.
In contact, this shall be systematically called by payment application.
In contactless, AgnosEP encapsulated that call.
pmwCloseSession
|
| ||||||
|
| Get AgnosMW version. | |||||
|
| Get EMV core engine version. | |||||
|
| Reset the payment context. Shall be called before any new transaction. | |||||
|
| Reset the outcome context. Shall be called before any new transaction. | |||||
|
| Proceed to standard final selection following EMVCo specs. This mechanism can be overloaded:
| |||||
pmwSetEMVResult | Set EMV parameters after a transaction within tPaymentContext based on Agnos status. In contact, this shall be systematically called by payment application. In contactless, AgnosEP encapsulated that call. | ||||||
pmwCloseSession | Close Agnos session |
Data Manager | ||
---|---|---|
See datamngr.h | ||
dtmInitializeFromFile | Agnos uses three files to persist its data model:
Use this primitive ahead of any transaction flow in order to initialize the transient data model. | |
dtmSetTransactionalContext | Set this context to open an Agnos session (contact only. See emvco.c) | |
dtmSetData |
| |
dtmGetData |
|
Data Exchange | |||||||
---|---|---|---|---|---|---|---|
See agnosmw.h. dataxchng.h | |||||||
|
| -- | |||||
Exit Condition | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
See agnosmw.h. exitcondition.h | ||||||||||||
|
| -- | ||||||||||
|
|