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.
| Environment | baseUrl | Purpose |
|---|---|---|
| Production | https://app-api.edfapay.com | Live cards, real settlement. |
| Staging / sandbox | Issued 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...On this page
Downloads
Coming SoonSample apps, release bundles, and more content will be available here soon.