Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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.

Table of Contents

ACE Services

...

Code Block
breakoutModefull-width
languagec
//---------------------------------------------------------
//				SIGNALS
//---------------------------------------------------------
// 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

Code Block
languagec
#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);
}

aceSendOutcome

Send an outcome signal

None. Use an empty tOuComeParameter structure to test the service

aceSendDR

aceSendDD

aceSendRawDD

aceSendDEK

aceSendDET

aceSendTag

...