...
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.
ACE Services
...
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 | Code Block |
---|
| #include "paymentMW.h"
//---------------------------------------------------------
// setSignals
//---------------------------------------------------------
// Set Signals used for CL certification
//
// Visibility: Private
// Hypothesis: --
// Reference: --
//
void setSignals()
{
tBoolean contactless = bTRUE;
tBoolean signal = bTRUE;
tSignal signal;
if(contactless && signal)
aceGetSignal(&signal);
else
{
signal.mSendOutcomeSignal = 0;
signal.mSendDRSignal = 0;
signal.mSendDDSignal = 0;
signal.mSendRawDDSignal = 0;
signal.mSendDEKSignal = 0;
signal.mSendDETSignal = 0;
signal.mSendTagSignal = 0;
}
pmwSetSignal(&signal);
} |
|
aceSendAdvancedDisplayAsOutcome | Send | Code Block |
---|
tUIRequestData data;
dtxInitializeUIRequestData(&data);
aceSetDigitalSignal(0);
aceSendAdvancedDisplayAsOutcome(&data);
aceSetDigitalSignal(1);
aceSendAdvancedDisplayAsOutcome(&data); |
|
aceSendAdvancedDisplay | | Code Block |
---|
tUIRequestData data;
dtxInitializeUIRequestData(&data);
aceSetDigitalSignal(0);
aceSendAdvancedDisplay(&data);
aceSetDigitalSignal(1);
aceSendAdvancedDisplay(&data); |
|
aceSendOutcome | Send an Outcome signal to ACE | Code Block |
---|
tOutComeParameter outcome;
pmwInitializeOutComeParameter(&outcome);
aceSendOutcome(&outcome); |
|
aceSendDR | Send a Data Record signal to ACE | AgnosMW must be initialized from pmwSetSignal (use setSignals available in Kizis) Running mode = pmSDK (default value) gpiGetFreeRAM must be integrated tPaymentContext mDataExchange.mDataRecord.mStream and tPaymentContext mDataExchange.mDataRecord.mLength must contained TLV data Example:
Code Block |
---|
| tPaymentContext pay;
pmwInitializePaymentContext(&pay);
aceSendDR(pay); // Set mDataRecord to see TLV displayed |
|
aceSendDD | Send a Discretionary Data signal to ACE | AgnosMW must be initialized from pmwSetSignal (use setSignals available in Kizis) Running mode = pmSDK (default value) gpiGetFreeRAM must be integrated tPaymentContext mDataExchange.mDiscretionaryData.mStream and tPaymentContext mDataExchange.mDiscretionaryData.mLength must contained TLV data Example:
Code Block |
---|
tPaymentContext pay;
pmwInitializePaymentContext(&pay);
aceSendDD(pay); // Set mDataRecord to see TLV displayed |
|
aceSendRawDD | Send a Raw Discretionary Data signal to ACE | AgnosMW must be initialized from pmwSetSignal (use setSignals available in Kizis) Running mode = pmSDK (default value) gpiGetFreeRAM must be integrated Example:
Code Block |
---|
| aceSendRawDD((tByte*)"\x9F\x02\x06\x99\x99\x99\x99\x99\x99",0x0009); |
|
aceSendDEK | | AgnosMW must be initialized from pmwSetSignal (use setSignals available in Kizis) Running mode = pmSDK (default value) gpiGetFreeRAM must be integrated Example:
Code Block |
---|
| tPaymentContext pay;
tByte outDET[50]="";
tWord lenOutDET=0;
pmwInitializePaymentContext(&pay);
aceSendDEK(pay,asGPO,bFALSE,outDET,&lenOutDET); |
|
aceSendDET | N/A | N/A |
aceSendTag | | AgnosMW must be initialized from pmwSetSignal (use setSignals available in Kizis) Running mode = pmSDK (default value) gpiGetFreeRAM must be integrated Example:
Code Block |
---|
| tPaymentContext pay;
tTransactionalContext txnContext;
tSessionId session;
agnOpenSession("","","",&txnContext,bFALSE,bFALSE,&session,bFALSE,bFALSE);
pmwInitializePaymentContext(&pay);
aceSendTag(&pay);
agnCloseSession(session); |
|
...