@payos-inc/payos-js
Version:
PayOS JavaScript SDK for browser-based checkout and wallet onboarding
86 lines (85 loc) • 1.99 kB
TypeScript
/**
* 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 {};