PayFanout API reference
    Preparing search index...

    Interface RoutingConditions

    Smart routing / failover across PSPs — the flagship reason to run multi-PSP.

    Scope is session creation only: once a session exists it lives on exactly one PSP, and every later call (completePayment, capture, refund…) goes through PaymentService with the pspName the routed result reported. Mid-payment failover is not a thing — a decline on PSP A is a fact about that attempt, and creating a fresh session on PSP B is a NEW attempt the host initiates (usually after the customer retries).

    interface RoutingConditions {
        country?: string[];
        currency?: string[];
        paymentMethodType?: (
            | "card"
            | "apple_pay"
            | "google_pay"
            | "paypal"
            | "ideal"
            | "sepa_debit"
            | "ach"
            | "bacs_debit"
            | "pad"
            | "interac_etransfer"
            | "skrill"
            | "neteller"
            | "paysafecard"
            | "paysafecash"
            | "bank_redirect_generic"
            | "voucher_generic"
            | "other"
        )[];
    }
    Index
    country?: string[]

    ISO 3166-1 alpha-2 codes, matched case-insensitively against input.country.

    currency?: string[]

    ISO 4217 codes, matched case-insensitively.

    paymentMethodType?: (
        | "card"
        | "apple_pay"
        | "google_pay"
        | "paypal"
        | "ideal"
        | "sepa_debit"
        | "ach"
        | "bacs_debit"
        | "pad"
        | "interac_etransfer"
        | "skrill"
        | "neteller"
        | "paysafecard"
        | "paysafecash"
        | "bank_redirect_generic"
        | "voucher_generic"
        | "other"
    )[]

    Matches when the session restricts itself to payment method types and at least one of them is listed here. A session with NO restriction (PSP chooses) does not match a method-conditioned rule.