...
Table of Contents |
---|
That level of API is important to be able to run valid test procedureprocedures. It provides an interface to Agnos Certification Environement with (ACE) through a set of services that support corresponds to different test requirements specified by payment network.networks.
This API is the second level of integration for Agnos Framework. Hence, It is recommended to unit test all the services below outside the execution of a transaction before starting functional tests.
See tutorials to get examples on ACE services integration.
ACE Services
ACE Services | Description | Prerequisites to a Call |
---|---|---|
aceInitialize | ||
aceInitializeCommunication | ||
aceSetMode |
aceGetMode
There are three running modes defined in ACE:
Use pmSDK for unit testing ACE integration | ||
aceGetMode | Get current ACE mode | -- |
aceGetRequest | ||
aceSendResponse | ||
aceMsgToACE | ||
aceClearScreen | Clear ACE screen | -- |
aceDisplayMessage | Display a ACE in ACE | -- |
aceEmptyKeyPadCache | Empty ACE keyPAD cache | -- |
aceLogAPDU | Log APDU | Inline or offline depending on depth value |
aceLogAllBatchedAPDU | Log offline APDU | -- |
acePlayBeep | Play a beep in ACE | -- |
aceGetKey | Get key from ACE | -- |
aceSwitchLED | Switch a LED on ACE | -- |
aceOut |
aceSendAdvancedDisplayAsOutcome
aceSendAdvancedDisplay
Signals Services
aceGetSignal
aceSendOutcome
aceSendDR
aceSendDD
aceSendRawDD
aceSendDEK
aceSendDET
aceSendTag
Financial Services
aceSendEMVContactAuthorization
aceSendEMVContactReversal
aceSendEMVContactBatch
aceSendEMVContactAdvice
aceSendContactlessAuthorization
aceSendContactlessBatch
aceSendMagstripeAuthorization
Options Services
Out in ACE’s Console Log |
|
Signals Services
Code Block | ||||
---|---|---|---|---|
| ||||
//---------------------------------------------------------
// SIGNALS (paymenMW.h)
//---------------------------------------------------------
// These services has been implemented only to support certification sessions.
typedef void (*sgnSendOutcome)(tOutComeParameter *outcome);
typedef void (*sgnSendDR)(tPaymentContext *payment);
typedef void (*sgnSendDD)(tPaymentContext *payment);
typedef void (*sgnSendRawDD)(tByte *data, tWord dataLen);
typedef void (*sgnSendDEK)(tPaymentContext *payment, tByte ADPUState, tBoolean sendDataNeeded, tByte* outDET, tWord* lenOutDET);
typedef void (*sgnSendDET)(tPaymentContext *payment);
typedef void (*sgnSendTag)(tPaymentContext *payment);
#ifdef PACKING
#pragma pack(1)
#endif
typedef struct {
sgnSendOutcome mSendOutcomeSignal;
sgnSendDR mSendDRSignal;
sgnSendDD mSendDDSignal;
sgnSendRawDD mSendRawDDSignal;
sgnSendDEK mSendDEKSignal;
sgnSendDET mSendDETSignal;
sgnSendTag mSendTagSignal;
} tSignal;
#pragma pack()
DLLEXPORT void pmwSetSignal(tSignal *signal);
DLLEXPORT void pmwSendOutcome (tOutComeParameter *outcome);
DLLEXPORT void pmwSendDR (tPaymentContext *payment);
DLLEXPORT void pmwSendDD (tPaymentContext *payment);
DLLEXPORT void pmwSendRawDD (tByte *data, tWord dataLen);
DLLEXPORT void pmwSendDEK (tPaymentContext *payment, tByte ADPUState, tBoolean sendDataNeeded, tByte* outDET, tWord* lenOutDET);
DLLEXPORT void pmwSendDET (tPaymentContext *payment);
DLLEXPORT void pmwSendTag (tPaymentContext *payment); |
Signals Services | Description | Prerequisites to a Call | |||||
---|---|---|---|---|---|---|---|
aceGetSignal | Get all signals services from ACE in order to set signals callbacks defined in AgnosMW. These signals callbacks are called by Agnos components like AgnosEP and kernels to raise information at ACE level during a transaction |
| |||||
aceSendAdvancedDisplayAsOutcome | Send Advanced As Outcome signal to ACE |
| |||||
aceSendAdvancedDisplay | Send Advanced signal to ACE |
| |||||
aceSendOutcome | Send an Outcome signal to ACE |
| |||||
aceSendDR | Send a Data Record signal to ACE |
| |||||
aceSendDD | Send a Discretionary Data signal to ACE |
| |||||
aceSendRawDD | Send a Raw Discretionary Data signal to ACE |
| |||||
aceSendDEK | Send a DEK signal to ACE |
| |||||
aceSendDET | N/A | N/A | |||||
aceSendTag | Send all tags contained in AgnosDB session |
|
Financial Services
Financial Services | Description | Prerequisites to a Call | |||||
---|---|---|---|---|---|---|---|
aceSendEMVContactAuthorization | Send an online auth. to ACE for EMV CT transactions |
| |||||
aceSendEMVContactReversal | Send a reversal to ACE for EMV CT transactions |
| |||||
aceSendEMVContactBatch | Send a batch to ACE for EMV CT transactions |
| |||||
aceSendEMVContactAdvice | Send an advice to ACE for EMV CT transactions |
| |||||
aceSendContactlessAuthorization | Send an online auth. to ACE for EMV CL transactions |
| |||||
aceSendContactlessBatch | Send a batch to ACE for EMV CL transactions |
| |||||
aceSendMagstripeAuthorization | Send an online auth. to ACE for magstripe transactions |
|
Options Services
Options Services | This set of primitives is not dependent on the platform. It doesn’t require specific implementation or modification for a given integration. Hence, it works as is. |
---|---|
Trace | Trace = 0 will log APDU commands and responses to ACE Trace 1 to max = will log commands and reponses to logout and only commands to ACE Trace > max will log commands and responses offline |
Automation | Reserved to Agnos Framework maintenance |
Signal | Enable/disable signals display in ACE (in pmSDK mode) |
APDULog | Enable/disable APDU logging (in pmSDK mode) |
UIDisplay | Enable/disable UI services in ACE from the device |
ID Message Display | Enable/disable message display (in signals) along with their message identifier |
Digital Signal | Enable/disable digital signals display following standard bitmap as defined by EMVCo |