/** * Types et interfaces pour MonCash Payment Module */ export interface MonCashConfig { /** * Mode d'exécution: 'sandbox' ou 'production' * @default 'sandbox' */ mode?: 'sandbox' | 'production'; /** * ID client MonCash (obtenu auprès de MonCash) */ clientId: string; /** * Secret client MonCash */ clientSecret: string; /** * URL de callback pour les webhooks (optionnel) */ webhookUrl?: string; /** * Timeout en millisecondes pour les requêtes HTTP * @default 10000 */ timeout?: number; } export interface CreatePaymentRequest { /** * Montant en HTG (Gourdes Haïtiennes) */ amount: number; /** * Devise (par défaut HTG) * @default 'HTG' */ currency?: string; /** * Description du paiement (visible au client) */ description: string; /** * URL de redirection après paiement réussi */ returnUrl: string; /** * URL de redirection si l'utilisateur annule */ cancelUrl?: string; /** * ID unique de la commande (ex: "ORDER-123456") */ orderId?: string; /** * Numéro de téléphone du client (optionnel) */ customerPhone?: string; /** * Email du client (optionnel) */ customerEmail?: string; } export interface PaymentResponse { /** * Token de paiement à utiliser pour rediriger le client */ paymentToken: string; /** * URL de redirection du client vers MonCash */ redirectUrl: string; /** * Temps d'expiration du token (en secondes, généralement 600 = 10 min) */ expiresIn: number; /** * Timestamp d'expiration Unix */ expiresAt: number; } export interface RetrieveTransactionRequest { /** * ID de la transaction MonCash */ transactionId: string; } export interface TransactionData { /** * Statut de la transaction: 'successful', 'failed', 'pending' */ status: 'successful' | 'failed' | 'pending'; /** * ID de la transaction MonCash */ transactionId: string; /** * Montant en HTG */ amount: number; /** * Numéro de compte/téléphone du payeur */ payerPhone?: string; /** * ID de la commande associée */ orderId?: string; /** * Timestamp de la transaction */ createdAt: number; /** * Données brutes de MonCash */ rawData?: Record; } export interface WebhookPayload { /** * ID de la transaction */ transactionId: string; /** * Statut du paiement */ status: string; /** * Montant payé */ amount?: number; /** * Données additionnelles */ [key: string]: any; } export interface MonCashError { code: string; message: string; statusCode?: number; details?: Record; } export declare class MonCashException extends Error implements MonCashError { code: string; statusCode?: number; details?: Record; constructor(code: string, message: string, statusCode?: number, details?: Record); } //# sourceMappingURL=types.d.ts.map