API Reference
Complete listing of all public methods and properties of EdfaPayPlugin and its sub-modules. Use this as a quick lookup for method signatures, parameters, and return types.
EdfaPayPlugin
The primary singleton for all SDK operations. In Kotlin/Java accessed directly, in Java as EdfaPayPlugin.INSTANCE.
Initialization & Authentication
| Method | Description |
|---|---|
| initiate(context, credentials, onSuccess, onTerminalBindingTask, onError) | Initialize SDK with credentials and callbacks |
| setPartnerConfig(config: String) | Set encrypted partner configuration (must call before initiate) |
| bindTerminal(trsm, onSuccess, onError) | Programmatically bind a specific terminal by TRSM |
| theme() | Returns SdkTheme for chained configuration |
| setAnimationSpeedX(speed: Float) | Set global animation multiplier |
Payment Operations
| Method | Description |
|---|---|
| purchase(activity, txnParams, flowType, onPaymentProcessComplete, onCancelByUser, onCardScanTimerEnd, onRequestTimerEnd, onError) | Process a purchase |
| authorize(activity, txnParams, flowType, ...callbacks) | Start a pre-authorization |
| capture(activity, txnParams, flowType, ...callbacks) | Capture an authorized amount |
| refund(activity, txnParams, flowType, ...callbacks) | Refund a prior purchase |
| void(activity, transaction, onSuccess, onError) | Void an unsettled transaction |
| reverse(activity, transaction, onSuccess, onError) | Reverse a specific transaction |
| reverseLastTransaction(activity, onSuccess, onError) | Reverse the most recent transaction |
| changePin(activity, parameters, ...callbacks) | Initiate a PIN change flow |
| activateCard(activity, parameters, ...callbacks) | Activate a new card |
Terminal Management
| Method | Description |
|---|---|
| terminalInfo(onSuccess, onError) | Get current terminal info |
| activateTerminal(password?, onSuccess, onError) | Activate the terminal |
| deActivateTerminal(password?, onSuccess, onError) | Deactivate the terminal |
| syncTerminal(onSuccess, onError) | Sync terminal config with server |
Session Management
| Method / Property | Return Type | Description |
|---|---|---|
| getSessionId() | String? (Future in Flutter) | Current active session ID |
| getSessionDetail(onSuccess, onError) | SessionDetail | Full detail of current session |
| getSessionList(onSuccess, onError) | List<SessionDetail> | All active sessions |
| logoutCurrentSession(onSuccess, onError) | Unit | Logout the current session |
| logoutSession(sessionId, onSuccess, onError) | Unit | Logout a specific session by ID |
Transaction History
| Method | Description |
|---|---|
| txnHistory(pagination, onSuccess, onError) | Retrieve paginated transaction list |
| txnDetail(txnId, onSuccess, onError) | Get full details of a single transaction |
Reconciliation
| Method | Description |
|---|---|
| reconcile(onSuccess, onError) | Trigger end-of-day settlement |
| reconciliationHistory(pagination, onSuccess, onError) | List of past reconciliation records |
| reconciliationDetail(reconciliationId, onSuccess, onError) | Full detail of a reconciliation record |
| reconciliationReceipt(reconciliationId, onSuccess, onError) | Generate printable receipt |
Properties
| Property | Type | Read/Write | Description |
|---|---|---|---|
| enableLogs | Boolean | R/W | Enable debug logging |
| animationSpeedX | Float | R/W | Animation speed multiplier |
| SDK_VERSION | String | Read-only | Current SDK version string |
| SDK_VERSION_TIMESTAMP | String | Read-only | Version with build timestamp |
| PARTNER | String | Read-only | Partner/flavor identifier |
Data Models
Key model classes used throughout the SDK. In Flutter/RN/Xamarin, complex models are returned as Map<String, dynamic> or JSON.
Transaction
| Field | Type | Description |
|---|---|---|
| id | String | Internal transaction ID |
| rrn | String | Retrieval Reference Number |
| transactionNumber | String | Transaction sequence number |
| amount | String | Transaction amount |
| transactionType | TransactionType | Type of transaction (PURCHASE, REFUND, etc.) |
| transactionStatus | String | APPROVED, DECLINED, etc. |
| authorizationCode | String | Bank authorization code |
| maskedCardNumber | String | Masked PAN (e.g., **** **** **** 1234) |
| cardScheme | String | Visa, Mastercard, AMEX, mada |
| createdDate | String | Transaction date (ISO 8601) |
| terminalId | String | Terminal that processed the transaction |
| merchantId | String | Merchant ID |
TxnParams
| Field | Type | Required | Description |
|---|---|---|---|
| amount | String | Yes | Transaction amount as a string (e.g., "100.00") |
| transactionType | TransactionType | Yes | Type of transaction |
| orderId | String? | No | Custom order reference ID |
| originalTransaction | Transaction? | Conditional | Required for capture, refund, reverse, void |
Pagination
| Field | Type | Description |
|---|---|---|
| page | Int | Page number, 1-indexed |
| size | Int | Items per page |
| totalPages | Int (read) | Server-returned total pages |
| totalElements | Long (read) | Server-returned total count |
Enums
| Enum | Values |
|---|---|
| TransactionType | PURCHASE, AUTHORIZE, CAPTURE, REFUND, REVERSAL, VOID, CASHBACK, CHANGE_PIN, CARD_ACTIVATION |
| FlowType | IMMEDIATE, STATUS, DETAIL |
| Env | PRODUCTION, SANDBOX, STAGING, DEVELOPMENT, REVAMP |
| Presentation | FULLSCREEN, DIALOG_CENTER, DIALOG_BOTTOM_FILL, DIALOG_BOTTOM_CENTER, DIALOG_TOP_FILL, ... |
| PurchaseSecondaryAction | NONE, REVERSE, REFUND |
On this page
Downloads
Coming SoonSample apps, release bundles, and more content will be available here soon.