Przejdź do głównej zawartości

PaymentInstrument

A single concrete instrument exposed by a gateway provider (e.g. BLIK code, mBank Pay-By-Link, Apple Pay) within a broader PaymentMethod. Pass code as preferredInstrument in cartSelectPaymentMethod to deep-link the gateway straight to this screen.

type PaymentInstrument {
brandImage: Image
code: String!
displayHint: PaymentInstrumentDisplayHint!
displayName: String!
enabled: Boolean!
fee: PaymentMethodFee
provider: PaymentProvider!
type: PaymentInstrumentType!
}

Fields

PaymentInstrument.brandImage ● Image object

Optional brand image (bank logo, wallet icon). Use as tile artwork via brandImage { url(transform: { maxWidth: 64 }) altText }. Null when the gateway does not expose one or the instrument has no brand visual (BLIK code).

PaymentInstrument.code ● String! non-null scalar

Gateway-specific instrument identifier (PayU: "blik"/"mb"/"c", P24: numeric ID string "154"). Pass as preferredInstrument in cartSelectPaymentMethod, ALWAYS together with preferredProvider — codes are scoped to their gateway and are NOT unique across providers within one method (dedupe and select by the (provider, code) pair). Stable per provider — the gateway does not renumber.

PaymentInstrument.displayHint ● PaymentInstrumentDisplayHint! non-null enum

UX rendering hint — how the storefront should render this instrument (prominent button vs branded tile vs dropdown vs radio). Backend-agnostic mapping to visual treatment.

PaymentInstrument.displayName ● String! non-null scalar

Buyer-facing display name (e.g. "BLIK", "mBank", "ING Bank Śląski", "Apple Pay").

PaymentInstrument.enabled ● Boolean! non-null scalar

True when the instrument is currently enabled in the gateway live capabilities. The storefront can gray-out the tile when false instead of hiding it (observability for the merchant).

PaymentInstrument.fee ● PaymentMethodFee object

Surcharge for picking this instrument, ready to render on its tile. Null when no fee applies, when the fee cannot be determined, or on the shop-level query (Query.availablePaymentMethods) — only Cart.availablePaymentMethods carries amounts.

PaymentInstrument.provider ● PaymentProvider! non-null enum

Provider that handles this instrument (UPPERCASE enum). Required for cross-provider dedupe (e.g. a BLIK code offered by both PayU and P24 — distinct instruments despite the same method type).

PaymentInstrument.type ● PaymentInstrumentType! non-null enum

Semantic type classifying the instrument within the method (BLIK code vs bank vs wallet vs card brand). Storefront-facing dispatch for per-instrument UI components.

Member Of

PaymentMethod object