Skip to main content
Version: iOS-10.0.0

iOS VipasoSDK

The main entry point for the Vipaso iOS SDK, organized into user and payment namespaces for clear separation of functionality.

User APIs

Handles user authentication and account management, organized by user type:

  • customer: Customer user APIs for account signup, login/logout, and account recovery.

  • business: Business user APIs for login and logout operations.

  • delegated: External authentication APIs for third-party identity providers.

Payment APIs

Manages payment processing and transaction handling, organized by user type:

  • customer: Customer payment APIs for handling payment requests, and viewing transaction history.

  • customer.instrument: Customer payment instrument APIs for adding, managing, and removing payment methods.

  • business: Business payment APIs for sending payment requests, canceling transactions, and accessing payment records.

Setup

Initialize the SDK as a singleton instance with your configuration and delegate to handle authentication state changes.

let vipaso = try await VipasoSDK(
config: VipasoConfiguration(
baseURL: config.baseURL,
environment: config.environment,
/**
* Set to `false` to enable telemetry export, allowing the Vipaso team to assist with debugging.
* Set to `true` to disable telemetry export.
*/
disableTelemetry: false
),
delegate: delegate
)

Important Notes:

  • The baseURL and environment parameters are provided by the Vipaso support team.
  • Any SDK APIs (for example, establishAuthentication and fetchUser) can be called immediately after the constructor has finished.
  • After the first successful initialization, the SDK can operate without an internet connection on subsequent app launches.
  • The SDK includes built-in telemetry that allows us to support your integration and troubleshoot issues more effectively. It does not collect any information from the host app. Telemetry collection is controlled on the server side (disabled by default in production and enabled only on demand for debugging). If you disable telemetry in the client, that setting takes precedence over any backend setting.

Implement VipasoDelegate to receive authentication callbacks:

extension YourRootCoordinator: VipasoDelegate {

func onAuthenticationStateChange(vipaso: VipasoSDKProtocol, authenticated: Bool) {
if authenticated {
// Show main app content
} else {
// Show authentication flow
}
}
}

Use Cases

Practical implementation guides for common business scenarios: