UNPKG

@payos-inc/payos-js

Version:

PayOS JavaScript SDK for browser-based checkout and wallet onboarding

86 lines (85 loc) 1.99 kB
/** * WalletOnboardClient - Instance-based client for PayOS Wallet Onboard * Provides a consistent API similar to CheckoutClient */ import { PayOSConfig } from '../checkout/CheckoutClient'; export interface WalletOnboardOptions { /** * Authentication token from your backend */ token: string; /** * Display mode: 'popup' or 'redirect' */ mode?: 'popup' | 'redirect'; /** * Custom base URL for hosted UI */ baseUrl?: string; /** * Custom query params for testing */ customParams?: Record<string, string>; /** * Environment: 'sandbox' or 'production' */ environment?: 'sandbox' | 'production'; /** * Return URL for redirect mode */ returnUrl?: string; /** * Merchant name to display */ merchantName?: string; /** * Wallet user ID if already known */ walletUserId?: string; /** * Callback when onboarding is complete */ onComplete?: (data: { walletUserId?: string; linkedCardIds?: string[]; }) => void; /** * Callback when an error occurs */ onError?: (error: Error) => void; /** * Callback when user cancels */ onCancel?: () => void; /** * Callback when ready (iframe/popup loaded) */ onReady?: () => void; } interface WalletOnboardInstance { close: () => void; } export declare class WalletOnboardClient { private defaultUrl; private defaultParams?; private popup; constructor(config?: PayOSConfig); /** * Open wallet onboard with specified options * Supports popup and redirect modes */ open(options: WalletOnboardOptions): WalletOnboardInstance; /** * Open wallet onboard in popup mode */ private openPopup; /** * Open wallet onboard in redirect mode */ private openRedirect; /** * Close the current wallet onboard instance */ private close; } export {};