PayFanout API reference
    Preparing search index...

    Interface StripeServerAdapterConfig

    interface StripeServerAdapterConfig {
        apiVersion: string;
        client?: StripeClientLike;
        environment: "sandbox" | "live";
        maxNetworkRetries?: number;
        now?: () => number;
        paymentMethods?: PaymentMethodCapability[];
        requestTimeoutMs?: number;
        secretKey: string;
        verifyPaymentMethodStrategy?: "setup_intent_detach" | "disabled";
        webhookSigningSecret: string | string[];
        webhookToleranceSeconds?: number;
    }
    Index
    apiVersion: string

    Explicit Stripe API version (e.g. "2024-06-20"). Required: the account default changes silently between accounts — never rely on it.

    Injected client for tests; defaults to lazily importing the stripe SDK.

    environment: "sandbox" | "live"

    Explicit, never inferred from key prefixes.

    maxNetworkRetries?: number

    Automatic network-level retries inside the Stripe SDK (idempotency keys make them safe). Default 2. Only applies when the SDK is loaded lazily — an injected client keeps its own configuration.

    now?: () => number

    Injected clock (ms since epoch) for webhook tolerance tests.

    paymentMethods?: PaymentMethodCapability[]

    iDEAL/SEPA/ACH/Bacs are per-account dashboard enablements, and wallet availability varies too — override instead of trusting the defaults when the account differs.

    requestTimeoutMs?: number

    Abort a hung Stripe request after this many milliseconds (the SDK's timeout client option). Left unset, the SDK's own default of 80000 (80s) applies. Only applies when the SDK is loaded lazily — an injected client keeps its own configuration.

    secretKey: string
    verifyPaymentMethodStrategy?: "setup_intent_detach" | "disabled"

    Zero-amount verification on Stripe uses a SetupIntent, which attaches a saved PaymentMethod — colliding with the no-vaulting constraint. The default strategy detaches the PaymentMethod immediately (guaranteed, even on failure paths). Set "disabled" to switch the capability off instead.

    webhookSigningSecret: string | string[]

    One secret, or several during rotation (Stripe keeps the old endpoint secret valid for a grace window — list both and rotation needs no cutover).

    webhookToleranceSeconds?: number

    Webhook timestamp tolerance in seconds (replay protection). Default 300.