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
baseURLandenvironmentparameters are provided by the Vipaso support team. - Any SDK APIs (for example,
establishAuthenticationandfetchUser) 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:
- Customer & Business Login/Logout: Authentication flows for both customer and business users
- Customer account Recovery: Password recovery process using phone number and OTP verification
- Customer registration: Complete flow for creating new customer accounts with phone verification
- Delegated authentication: Integrating with third-party identity providers
- Offline payment: Processing payments without internet connectivity using pre-authorization