EdfaPay Logo

Initialization

Initialise EdfaPgSdk once at app startup with your API key and base URL, turn on redacted logging in debug, and learn how to switch environments at runtime.

Initialize Once

Initialise the SDK before any other call — from Application.onCreate() on Android, the SwiftUI App init() on iOS, or before runApp() on Flutter. The SDK is process-wide and throws if you call initialize twice; any SDK call before initialisation throws EdfaPgSdkIsNotInitializedException.

Loading...

Guard against double-init

initialize is process-wide and the native side throws on a second call. On Flutter, guard your init site so hot-reload re-running main() doesn't re-initialise. Use reinitialize(...) if you genuinely need to rotate credentials.

Enable Logs

Logging is opt-in and produces curl-style request logs. The SDK redacts the API key, PAN (last 4 preserved), CVV, and recurring tokens before they reach Logcat / Console. Keep it enabled only in debug builds.

Loading...

Environments

Point baseUrl at production or the sandbox issued to your merchant account. Contact integration@edfapay.com to obtain staging credentials and your merchant configuration.

EnvironmentbaseUrlPurpose
Productionhttps://app-api.edfapay.comLive cards, real settlement.
Staging / sandboxIssued per-merchant by EdfaPay support.Test cards, no settlement.

Switching at Runtime

reinitialize(...) is the sanctioned way to rotate credentials inside a running process on Android / iOS — typically only when your app supports user-selectable merchant accounts or a dev/sandbox toggle. On Flutter the facade exposes a single init; restart the SDK at process boundaries rather than mid-session.

Loading...