Amadis

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 19 Next »

C Structures

tPaymentContext (paymentMW.h)

typedef struct {
////////////////////////////////////////////////////////////////////
// Information provided by Level3
tAmount *mAmount;// EMV Tag 9F02 = "Amount, Authorized"  + "Amount, Other"
tAmount *mCashBack;// EMV Tag 9F03 = "Amount, Other"
tTransactionType mTransactionType;// EMV Tag 9C
tNumericDate mTransactionDate[3];// EMV Tag 9A
tNumericDate mTransactionTime[3];// EMV Tag 9F21
tByte mMerchantCustomData[20];// EMV Tag 9F7C
tByte mTransactionCurrencyCode[2];// EMV Tag 5F2A
tByte mTransactionCurrencyExponent;// EMV Tag 5F36
tByte mTransactionCategoryCode;// EMV Tag 9F53
tByte mMerchantCategoryCode[2];// EMV Tag 9F15
tByte mMerchantID[15];// EMV Tag 9F16
tBoolean mForcedOnline;// As per merchant decision
char mWorkingPath[2*MAX_NAME_LENGTH];

////////////////////////////////////////////////////////////////////
// Information set by Payment System
tBoolean mEMVContact;// by configuration (terminal)
tBoolean mEMVContactless;// by configuration	(terminal)
tBoolean mMagstripe;// by configuration	(terminal)

    tAmount				mAmountReferenceCurrency;// EMV Tag 9F3A - not used yet
	tByte				mTransactionReferenceCurrencyCode[2];// EMV Tag 9F3C - not used yet
	tByte				mTransactionReferenceCurrencyExponent;// EMV Tag 9F3D - not used yet
	tByte				mTerminalRiskManagementData[8];// EMV Tag 9F1D - not used yet
	tAccountType		mAccountType;// EMV Tag 5F57 - payment application specific
	tByte				mPOSEntryMode;// EMV Tag 9F39 - payment application specific

	tCounter			mTransactionSequenceCounter;
	tARC                mARC;//Authorization Response Code, eg mapping from Issuer's Response Code (ISO8583:DE39)
    tBoolean            mUnableToGoOnline;

    ////////////////////////////////////////////////////////////////////
    // Information set by Payment Application (from Agnos primitives)
    tByte               mRID[RID_LENGTH];
	tADF				mADF;
	tByte				mADFOrderNumber;// For a given configuration, AID's order number

    tBoolean			mAdvice;
    tBoolean			mBatchData;
    tBoolean			mReversal;

	////////////////////////////////////////////////////////////////////
	// Information set by EMV Library
	tSessionId			mSession;
	tByte 				mCID;// Information used by Level3 to detect transaction's outcome requested by ICC
	
	////////////////////////////////////////////////////////////////////
	// Information calculated by Level3 once transaction is completed (from paymentMW primitives)
    tByte               mFinal9F02[6];
    tByte               mCVMResult[3];
    tByte               mTVR[5];
    tByte               mTSI[2];
    tByte               mAC[8];
    tByte               mUN[4];
    tByte               mAID[MAX_AID_LENGTH];
    tByte               mAIDLen;
    tByte               mPANSHA[20];
    tByte               mCardholderNameLen;
    tByte               mCardholderName[26];
    tByte               mAgnosTVR[AGNOS_TVR_SIZE];
#ifdef _AGNOSISR_
    tBoolean            mIsScriptExecuted;
    tByte            	mIssuerScriptResultLen;
    tByte            	mIssuerScriptResult[2*MAX_SCRIPT*sizeof(tScriptResult)];
#endif

	////////////////////////////////////////////////////////////////////
    // Level3 <-> Level2 communication
    tDataExchange		mDataExchange;

} tPaymentContext;

tDataExchange (dataechng.h)

tLevel3DataExchange

Callbacks

typedef void (*emvcallback)(void* data)

Primitives

Names

Comments

pmwGetPaymentMiddlewareVersionNumber

pmwGetKernelVersion

pmwInitializePaymentContext

Shall be called before any new transaction

pmwIntializeOutComeParameter

Shall be called before any new transaction

pmwProceedToUniversalFinalSelection

dtmInitializeFromFile

dtmSelectCTKernel

dtmSetData

dtmGetData

dtmSetTransactionalContext

pmwCloseSession

  • No labels