import type { CheckoutParams, CheckoutResult, WebhookEvent } from '../core/provider.interface.js'; import { AbstractPaymentProvider } from '../core/abstract-provider.js'; export interface SatimConfig { merchantId: string; password: string; testMode?: boolean; returnUrl: string; failUrl: string; /** ISO 4217 currency code, default '012' (DZD) */ currencyCode?: string; } export declare class SatimProvider extends AbstractPaymentProvider { private config; readonly name = "satim"; readonly supportedCurrencies: string[]; readonly supportedMethods: string[]; private baseUrl; constructor(config: SatimConfig); protected doCheckout(params: CheckoutParams): Promise; /** * Confirm an order after redirect callback. * Call this when Satim redirects back to returnUrl. */ confirmOrder(orderId: string): Promise<{ paid: boolean; actionCode: string; errorMessage?: string; }>; /** * Get order status. */ getOrderStatus(orderId: string): Promise>; /** * Statut SATIM/BPC enrichi par identifiant de commande SATIM (mdOrder). * Champs clés : OrderStatus, OrderNumber (= notre orderId), Amount (centimes), * actionCode, approvalCode, ErrorCode. */ getOrderStatusExtended(satimOrderId: string): Promise>; /** * Mappe un code OrderStatus BPC vers un type d'event normalisé. * Codes BPC : 0 enregistré · 1 pré-autorisé · 2 **autorisé/payé** · * 3 annulé · 4 remboursé · 5 ACS/3-DS en cours · 6 refusé. */ static mapOrderStatus(code: number | string | undefined): string; protected doVerifyWebhook(body: string, _signature: string): Promise; } /** * Create a Satim provider from environment variables. */ export declare function createSatimProvider(config?: Partial): SatimProvider; //# sourceMappingURL=satim.provider.d.ts.map