...
Names | Comments |
---|---|
enpInitialize | Set internal context to prepare the entry point. This call shall be performed only when the system is cycled up |
enpConnectPaymentServices | Connect entry point onto available L2 CL kernels This call shall be performed only when the system is cycled up |
enpReleasePaymentServices | Broadcast afsRelease to all L2 CL kernels. This call shall be performed only when the system is cycled down. |
enpDisconnectPaymentServices | Disconnect entry point from connected L2 CL kernels. This call shall be performed only when the system is cycled up |
enpExecutePaymentTransaction | Main point of entry to initiate a CL transaction. tPaymentContext shall be set accordingly tOutcomeParameter provides final status Set sp to:
|
enpSetPollingTimeout | Set time used during gpiPolling to detect a card presentation |
enpSkipPollingOnNextStartB | When gpiPolling is performed from outside the entry point, skip gpiPolling call from inside the entry point to avoid double tap |
enpSetKernelSelectionMethod | N/A |
enpSetApplicationSelectionMethod | Set callback hooked after PPSE selection |
enpSetLegacyXXXStatus | Set legacy selection rule for a given payment scheme. Payment schemes' specifications, outside Book Cx, use selection rules that might differ for error management. it is important to set appropriate flag duting TA |
enpAreAllCLApplicationNotAllowed | If no CL application is selectable, provide a specific status so payment application which may fallback to CT or magstrtipe depeding on interfaces supported by the device |
enpGetPPSEFCI | PPSE’s FCI is stored so payment application can fetch any proprietary tags like 9F0A (example: ASPRD) |
Examples
Code Block |
---|
// Payment contexts
static tPaymentContext paymentCtx;
static tOutComeParameter outcome;
// Transaction amounts
static tAmount amount, cashBack;
char path[250] = "./AGNOS/"; // Configuration files here
unsigned char defaultTxnType = 0x00; // Default 9C value
// Init payment context and payment outcome
pmwInitializePaymentContext(&paymentCtx);
pmwInitializeOutComeParameter(&outcome);
// Important to perform these initializations after pmwInitializePaymentContext
paymentCtx.mAmount = &amount;
paymentCtx.mCashBack = &cashBack;
paymentCtx.mTransactionType = (tTransactionType)defaultTxnType;
amount = cashBack = NULL;
// Set payment context from TRD...
// ...
// Initialize transient data model
/// Only CL combinations refering to paymentCtx.mTransactionType will be loaded
dtmInitializeFromFile(path,0,0,0,0,0,paymentCtx.mTransactionType,bFALSE);
enpExecutePaymentTransaction(spSTART_A,paymentCtx,outcome);
if(enpAreAllCLApplicationNotAllowed)
{
// Fallback to other technology if any
}
else
{
// Process outcome
}
|