OptionalcountryISO 3166-1 alpha-2 codes, matched case-insensitively against input.country.
OptionalcurrencyISO 4217 codes, matched case-insensitively.
OptionalpaymentMatches 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.
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).