@doswiftly/storefront-sdk 16.0.0 → 17.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/CHANGELOG.md +466 -0
  2. package/dist/core/cart/cart-client.d.ts +10 -1
  3. package/dist/core/cart/cart-client.d.ts.map +1 -1
  4. package/dist/core/cart/cart-client.js +17 -1
  5. package/dist/core/cart/cart-recovery.d.ts +63 -0
  6. package/dist/core/cart/cart-recovery.d.ts.map +1 -1
  7. package/dist/core/cart/cart-recovery.js +91 -8
  8. package/dist/core/cart/types.d.ts +1 -1
  9. package/dist/core/cart/types.d.ts.map +1 -1
  10. package/dist/core/generated/operation-types.d.ts +198 -32
  11. package/dist/core/generated/operation-types.d.ts.map +1 -1
  12. package/dist/core/operations/cart.d.ts +7 -0
  13. package/dist/core/operations/cart.d.ts.map +1 -1
  14. package/dist/core/operations/cart.js +52 -0
  15. package/dist/react/components/PaymentInstrumentSection.d.ts +56 -0
  16. package/dist/react/components/PaymentInstrumentSection.d.ts.map +1 -0
  17. package/dist/react/components/PaymentInstrumentSection.js +89 -0
  18. package/dist/react/components/PaymentInstrumentTile.d.ts +56 -0
  19. package/dist/react/components/PaymentInstrumentTile.d.ts.map +1 -0
  20. package/dist/react/components/PaymentInstrumentTile.js +40 -0
  21. package/dist/react/components/index.d.ts +2 -0
  22. package/dist/react/components/index.d.ts.map +1 -1
  23. package/dist/react/components/index.js +2 -0
  24. package/dist/react/helpers/browser-data.d.ts +89 -0
  25. package/dist/react/helpers/browser-data.d.ts.map +1 -0
  26. package/dist/react/helpers/browser-data.js +84 -0
  27. package/dist/react/index.d.ts +2 -1
  28. package/dist/react/index.d.ts.map +1 -1
  29. package/dist/react/index.js +3 -1
  30. package/package.json +1 -1
@@ -474,7 +474,7 @@ export type Cart = Node & {
474
474
  appliedGiftCards: Array<CartAppliedGiftCard>;
475
475
  /** Cart-level custom attributes (free-form key/value). Use for cart-wide metadata such as B2B PO number or marketing source. Replace (not merge) the list with `cartUpdateAttributes`. */
476
476
  attributes: Array<CartAttribute>;
477
- /** Available payment methods dla tego cart (shop-configured providers) */
477
+ /** Available payment methods dla tego carta deduplikowane per type, sorted by merchant priority. */
478
478
  availablePaymentMethods: Array<PaymentMethod>;
479
479
  /** Shipping methods available for this cart at the given destination. Reads the cart subtotal and weight directly — for pre-cart preview (e.g. a product detail page calculator) use the top-level `availableShippingMethods(address, cart)` query instead. Returns an empty `methods` list plus a `DIGITAL_ONLY_NO_SHIPPING` user error when the cart has no shippable items; the storefront can use this to skip the shipping step entirely. */
480
480
  availableShippingMethods: AvailableShippingMethodsPayload;
@@ -508,6 +508,8 @@ export type Cart = Node & {
508
508
  recommendations?: Maybe<CartRecommendations>;
509
509
  /** True when at least one line in the cart requires physical shipping. False when every line is non-physical (digital, gift card, service, subscription). Use as the single signal to render or skip the shipping step in checkout. */
510
510
  requiresShipping: Scalars['Boolean']['output'];
511
+ /** Optional concrete instrument code selected within `selectedPaymentMethod` (e.g. `"blik"`, `"mb"`, `"154"`). Set gdy klient klika konkretny instrument tile na storefront (per `PaymentMethod.instruments`). Pre-payment intent: skopiowany do `Order.paymentInstrumentCode` przy `cartComplete`. Storefront może cross-reference z `availablePaymentMethods.methods[].instruments[]` żeby dostać `displayName` / `brandImageUrl`. Added by payment-instrument-preselection core sprint Req 3 AC7. */
512
+ selectedPaymentInstrumentCode?: Maybe<Scalars['String']['output']>;
511
513
  /** The payment method currently selected on the cart. Null until the buyer picks a method via `cartSelectPaymentMethod`. */
512
514
  selectedPaymentMethod?: Maybe<PaymentMethod>;
513
515
  /** The shipping method currently selected on the cart (label + cost). Null until the buyer picks a method. */
@@ -520,6 +522,8 @@ export type Cart = Node & {
520
522
  totalQuantity: Scalars['Int']['output'];
521
523
  /** When the cart was last modified (ISO 8601). */
522
524
  updatedAt: Scalars['DateTime']['output'];
525
+ /** Non-fatal advisories computed at query time. Currently emitted: `PAYMENT_SELECTION_STALE` when `selectedPaymentMethod` / `selectedPaymentInstrumentCode` are no longer in live gateway capabilities (storefront re-prompts the buyer). Read-only — backend state is not mutated. Added by payment-instrument-preselection-advanced sub-sprint Adv-2 Req 1. */
526
+ warnings: Array<CartWarning>;
523
527
  };
524
528
  export type CartAddLinesPayload = {
525
529
  /** The updated cart on success; null when `userErrors` is non-empty. */
@@ -619,6 +623,18 @@ export type CartBuyerIdentityInput = {
619
623
  /** Buyer phone number. Free-form; max 30 chars. */
620
624
  phone?: InputMaybe<Scalars['String']['input']>;
621
625
  };
626
+ export type CartClearPaymentSelectionInput = {
627
+ /** ID of the cart to clear payment selection on. */
628
+ cartId: Scalars['ID']['input'];
629
+ };
630
+ export type CartClearPaymentSelectionPayload = {
631
+ /** The updated cart z cleared payment selection. */
632
+ cart?: Maybe<Cart>;
633
+ /** Business / validation errors carrying a stable `CartErrorCode` in `code` (e.g. `ALREADY_COMPLETED`). */
634
+ userErrors: Array<UserError>;
635
+ /** Non-fatal advisories — the mutation itself succeeded. */
636
+ warnings: Array<CartWarning>;
637
+ };
622
638
  export type CartCompleteInput = {
623
639
  /** ID of the cart to complete. */
624
640
  cartId: Scalars['ID']['input'];
@@ -710,6 +726,8 @@ export type CartLine = {
710
726
  attributes: Array<Attribute>;
711
727
  /** Per-line cost breakdown (unit price, subtotal, total, optional compare-at). */
712
728
  cost: CartLineCost;
729
+ /** Recipient details captured for a `GIFT_CARD` line via `cartUpdateGiftCardRecipient`. Null for non-gift-card lines or when no recipient has been set yet — in that case the gift card is delivered to the order `customerEmail` on completion. Use to initialise the "gift recipient" form from cart state on SSR / page reload / deep link instead of keeping it in client-only state. */
730
+ giftCardRecipient?: Maybe<GiftCardLineRecipient>;
713
731
  /** Stable line identifier. Use it to address the line in `cartUpdateLines` / `cartRemoveLines`. */
714
732
  id: Scalars['ID']['output'];
715
733
  /** URL handle (slug) of the parent product — link target for the cart drawer (denormalised). */
@@ -812,8 +830,12 @@ export type CartRemoveLinesPayload = {
812
830
  export type CartSelectPaymentMethodInput = {
813
831
  /** ID of the cart to update. */
814
832
  cartId: Scalars['ID']['input'];
815
- /** ID of the chosen payment method (matches a `PaymentMethod.id` from `availablePaymentMethods`). */
816
- paymentMethodId: Scalars['ID']['input'];
833
+ /** Category of the payment method the buyer picked (matches `PaymentMethod.type` from `availablePaymentMethods`). */
834
+ methodType: PaymentMethodType;
835
+ /** Optional gateway-specific instrument code (`blik`, `mb`, `c`, `154`, ...) z `PaymentMethod.instruments[].instrumentCode`. Wymaga ustawienia `preferredProviderCode` — instrument code jest provider-specific. Bez restrictive regex (różne bramki używają `.` / `:` / `/` w przyszłości). SQL injection chroniona przez Prisma parametrized queries. Added by payment-instrument-preselection core sprint Req 3.1. */
836
+ preferredInstrumentCode?: InputMaybe<Scalars['String']['input']>;
837
+ /** Optional override of `PaymentMethod.preferredProvider`. Pass a provider code (`payu`, `przelewy24`, ...) from `providersAvailable` when the buyer explicitly picks one (rare — usually the merchant priority is enough). Format: lowercase alphanumerics + underscore + hyphen, 2-50 characters. Renamed from `preferredProviderId` — `*Code` is reserved for lowercase string identifiers, `*Id` for UUIDs. */
838
+ preferredProviderCode?: InputMaybe<Scalars['String']['input']>;
817
839
  };
818
840
  export type CartSelectPaymentMethodPayload = {
819
841
  /** The updated cart with `selectedPaymentMethod` populated. */
@@ -934,7 +956,7 @@ export type CartWarning = {
934
956
  /** What the warning is about — a cart line ID when the warning refers to a specific item, or a field path otherwise. */
935
957
  target: Scalars['String']['output'];
936
958
  };
937
- export type CartWarningCode = 'MERCHANDISE_NOT_AVAILABLE' | 'MERCHANDISE_NOT_ENOUGH_STOCK' | 'PAYMENTS_AMOUNT_REGION_MISMATCH' | 'SHIPPING_METHOD_AUTO_CLEARED';
959
+ export type CartWarningCode = 'MERCHANDISE_NOT_AVAILABLE' | 'MERCHANDISE_NOT_ENOUGH_STOCK' | 'PAYMENTS_AMOUNT_REGION_MISMATCH' | 'PAYMENT_SELECTION_STALE' | 'SHIPPING_METHOD_AUTO_CLEARED';
938
960
  export type Category = {
939
961
  /** Child categories */
940
962
  children: Array<Category>;
@@ -1413,6 +1435,14 @@ export type GiftCardError = {
1413
1435
  message: Scalars['String']['output'];
1414
1436
  };
1415
1437
  export type GiftCardErrorCode = 'ALREADY_USED' | 'CURRENCY_MISMATCH' | 'DISABLED' | 'EXPIRED' | 'INSUFFICIENT_BALANCE' | 'INVALID_CODE_FORMAT' | 'NOT_FOUND';
1438
+ export type GiftCardLineRecipient = {
1439
+ /** Personalised message included with the gift card. */
1440
+ message?: Maybe<Scalars['String']['output']>;
1441
+ /** Recipient email — where the gift card code will be delivered on order completion. */
1442
+ recipientEmail?: Maybe<Scalars['String']['output']>;
1443
+ /** Recipient display name shown in the gift card email. */
1444
+ recipientName?: Maybe<Scalars['String']['output']>;
1445
+ };
1416
1446
  export type GiftCardStatus = 'ACTIVE' | 'DISABLED' | 'EXPIRED' | 'USED';
1417
1447
  export type GiftCardValidatePayload = {
1418
1448
  /** User errors */
@@ -1813,6 +1843,8 @@ export type Mutation = {
1813
1843
  cartAddLines: CartAddLinesPayload;
1814
1844
  /** Apply a gift card to the cart by full code. The card is debited at `cartComplete`. Rate-limited to 5 requests per minute per IP+shop (gift card codes form a finite enumerable space). */
1815
1845
  cartApplyGiftCard: CartApplyGiftCardPayload;
1846
+ /** Clear all payment selection state on the cart in a single atomic operation. Use for accordion "back to method picker" flows w storefront UI. Idempotent — calling twice yields the same end state. Cart MUSI być `ACTIVE` (CONVERTED carts reject z `ALREADY_COMPLETED`). */
1847
+ cartClearPaymentSelection: CartClearPaymentSelectionPayload;
1816
1848
  /** Finalise the cart into an `Order`. The cart is locked and no longer accepts mutations. Payment is initiated separately via `paymentCreate` — check `order.canCreatePayment` to decide whether to render a "Pay now" button or send the buyer directly to the confirmation page (for offline methods such as cash on delivery). Rate-limited to 5 requests per minute per IP+shop; pass an `idempotencyKey` to guard against duplicate orders on retry. */
1817
1849
  cartComplete: CartCompletePayload;
1818
1850
  /** Create a new cart. All fields on `input` are optional — call with no input to create an empty cart, or pass initial lines, buyer identity, attributes, discount codes, email and a shipping address to skip the corresponding follow-up calls. */
@@ -1823,7 +1855,7 @@ export type Mutation = {
1823
1855
  cartRemoveGiftCard: CartRemoveGiftCardPayload;
1824
1856
  /** Remove one or more lines from the cart by `CartLine.id`. Equivalent to `cartUpdateLines` with `quantity: 0` but lets the storefront express the intent explicitly. */
1825
1857
  cartRemoveLines: CartRemoveLinesPayload;
1826
- /** Select a payment method on the cart. Validates against the active shop payment methods and currency. The selection is finalised at `cartComplete`; payment itself is initiated via a separate `paymentCreate` mutation after the order is created. */
1858
+ /** Select a payment method on the cart by category (BLIK, CARD, BANK_TRANSFER, ...). Backend resolves the preferred provider from `MerchantPaymentConfig` at `paymentCreate` time. Optional `preferredProviderCode` overrides the merchant priority when the buyer explicitly picks a gateway from `PaymentMethod.providersAvailable`. Optional `preferredInstrumentCode` enables instrument-level deep-link na gateway hosted page (BLIK ekran, mBank flow, etc.) — wymaga `preferredProviderCode`. */
1827
1859
  cartSelectPaymentMethod: CartSelectPaymentMethodPayload;
1828
1860
  /** Select a shipping method on the cart. Validates the method against the cart contents and the shipping address (must be eligible for the destination, and a pickup point must be set when the method delivers to a locker / collection point). Updates `cost.totalShipping` and the grand total. */
1829
1861
  cartSelectShippingMethod: CartSelectShippingMethodPayload;
@@ -2019,31 +2051,62 @@ export type PaymentCreateInput = {
2019
2051
  export type PaymentCreatePayload = {
2020
2052
  /** The created (or reused) payment session on success; null when `userErrors` is non-empty. */
2021
2053
  payment?: Maybe<PaymentSession>;
2022
- /** Business / validation errors carrying a stable `PaymentErrorCode` in `code` (e.g. `ORDER_NOT_FOUND`, `ORDER_ALREADY_PAID`, `ORDER_NOT_PAYABLE`, `PAYMENT_PROVIDER_NOT_CONFIGURED`, `RETURN_URL_INVALID`, `PAYMENT_FAILED`). */
2054
+ /** Business / validation errors carrying a stable `PaymentErrorCode` in `code` (e.g. `ORDER_NOT_FOUND`, `ORDER_ALREADY_PAID`, `ORDER_NOT_PAYABLE`, `PAYMENT_PROVIDER_NOT_CONFIGURED`, `RETURN_URL_INVALID`, `PAYMENT_FAILED`, `INSTRUMENT_PRESELECTION_FAILED`). */
2023
2055
  userErrors: Array<UserError>;
2056
+ /** Non-blocking signals — backend state change context (e.g. instrument auto-cleared, server-side adjustment). Default empty array. Storefront branches per `code` for UI retry hints / analytics events. Added by payment-instrument-preselection-advanced Adv-1 Req 2.3. */
2057
+ warnings: Array<PaymentWarning>;
2024
2058
  };
2025
2059
  export type PaymentInitiationFlow = 'INSTANT_DIRECT' | 'OFFLINE_MANUAL' | 'ONLINE_EMBEDDED' | 'ONLINE_REDIRECT';
2026
2060
  export type PaymentMethod = {
2061
+ /** True when the buyer can actually pick this method right now. False when the resolving gateway is temporarily unavailable (incident/maintenance) or reported the method as disabled. Storefront UI should gray-out the tile when false instead of hiding it — gives merchants observability into routing failures. */
2062
+ available: Scalars['Boolean']['output'];
2027
2063
  /** Optional buyer-facing description shown under the name (e.g. "Pay with your bank app"). */
2028
2064
  description?: Maybe<Scalars['String']['output']>;
2029
2065
  /** Optional icon URL configured by the merchant. Use as the method tile artwork. */
2030
2066
  icon?: Maybe<Scalars['String']['output']>;
2031
2067
  /** Stable ID of the payment method. Pass to `cartSelectPaymentMethod` to select it. */
2032
2068
  id: Scalars['ID']['output'];
2069
+ /** Concrete instruments exposed by gateway providers w obrębie tej method (BLIK code, branded banks, wallets, card brands). Null gdy żaden provider nie expose'uje granular data dla tej method. Empty array gdy gateway expose'uje ale wszystkie instruments są disabled lub po post-filter (cross-provider leak prevention). Storefront może wyrenderować listę i pass `instrumentCode` jako `preferredInstrumentCode` w `cartSelectPaymentMethod` → gateway deep-link na ten ekran. Added by payment-instrument-preselection core sprint Req 1. */
2070
+ instruments?: Maybe<Array<PaymentMethodInstrument>>;
2033
2071
  /** True when the merchant has marked this method as the default. Pre-select it in the picker. */
2034
2072
  isDefault: Scalars['Boolean']['output'];
2035
2073
  /** Display name configured by the merchant (e.g. "BLIK", "Credit card", "Cash on delivery"). */
2036
2074
  name: Scalars['String']['output'];
2037
2075
  /** Merchant-configured display position — lower values come first in the picker. */
2038
2076
  position: Scalars['Float']['output'];
2039
- /** Provider code (e.g. "payu", "stripe", "p24", "cash_on_delivery"). Identifies the integration behind the method; do not branch UI on it use `type` instead. */
2040
- provider: Scalars['String']['output'];
2077
+ /** Preferred provider code (UPPERCASE enum) that the backend will route to when the buyer picks this method type and does not specify `preferredProviderCode`. Populated only when at least one provider supports the type. Typed enum since core sprint payment-instrument-preselection (was `String` pre-v9.0). */
2078
+ preferredProvider?: Maybe<ProviderCode>;
2079
+ /** Provider code (e.g. `PAYU`, `STRIPE`, `PRZELEWY24`, `CASH_ON_DELIVERY`). Identifies the integration behind the method; do not branch UI on it — use `type` instead. Typed enum since core sprint payment-instrument-preselection (was `String` pre-v9.0). */
2080
+ provider: ProviderCode;
2081
+ /** Provider codes (UPPERCASE enum: `PAYU`, `PRZELEWY24`, ...) that can fulfil this method type for the current shop, ordered by merchant priority. Pre-select `preferredProvider`; expose the rest only when the buyer wants to choose explicitly. Single-element array when only one provider supports the type. Typed enum since core sprint payment-instrument-preselection (was `[String]` pre-v9.0). */
2082
+ providersAvailable?: Maybe<Array<ProviderCode>>;
2041
2083
  /** ISO 4217 currency codes the method accepts. Null when the method accepts the shop currency without restriction. */
2042
2084
  supportedCurrencies?: Maybe<Array<Scalars['String']['output']>>;
2043
2085
  /** Category of the method (CARD, BLIK, BANK_TRANSFER, CASH_ON_DELIVERY, OTHER). Drives iconography and copy. */
2044
2086
  type: PaymentMethodType;
2045
- };
2087
+ /** When `available` is false, this enum carries the diagnostic reason (GATEWAY_DOWN, GATEWAY_DISABLED, NO_INSTRUMENTS, CREDENTIALS_INVALID). Null when `available` is true. UI can render context-aware copy ("PayU is temporarily down" vs "Method not configured"). */
2088
+ unavailableReason?: Maybe<PaymentMethodUnavailableReason>;
2089
+ };
2090
+ export type PaymentMethodInstrument = {
2091
+ /** Optional brand image URL (bank logo, wallet icon). Storefront może użyć jako tile artwork. Null gdy gateway nie expose'uje albo instrument nie ma brand visual (BLIK code). */
2092
+ brandImageUrl?: Maybe<Scalars['String']['output']>;
2093
+ /** UX rendering hint — jak storefront powinien wyrenderować ten instrument (prominent button vs branded tile vs dropdown vs radio). Backend-agnostic mapping na visual treatment. */
2094
+ displayHint: PaymentMethodInstrumentDisplayHint;
2095
+ /** Buyer-facing display name (e.g. "BLIK", "mBank", "ING Bank Śląski", "Apple Pay"). Lokalizacja zazwyczaj PL/EN — multi-language defer post-v1. */
2096
+ displayName: Scalars['String']['output'];
2097
+ /** True gdy instrument jest currently enabled w gateway live capabilities. Storefront może gray-out tile gdy false zamiast hide (observability dla merchant). */
2098
+ enabled: Scalars['Boolean']['output'];
2099
+ /** Gateway-specific instrument identifier (PayU: `"blik"`/`"mb"`/`"c"`, P24: numeric ID string `"154"`). Pass jako `preferredInstrumentCode` w `cartSelectPaymentMethod`. Stabilne per provider — gateway nie renumeruje. */
2100
+ instrumentCode: Scalars['String']['output'];
2101
+ /** Provider obsługujący ten instrument (UPPERCASE enum). Wymagane dla cross-provider dedupe (np. BLIK code dostępny zarówno przez PayU jak P24 — różne instrumenty mimo tej samej method type). */
2102
+ providerCode: ProviderCode;
2103
+ /** Semantic type klasyfikujący instrument w obrębie method (BLIK code vs bank vs wallet vs card brand). Storefront-facing dispatch dla per-instrument UI components. */
2104
+ type: PaymentMethodInstrumentType;
2105
+ };
2106
+ export type PaymentMethodInstrumentDisplayHint = 'BRANDED_TILE' | 'DROPDOWN_OPTION' | 'PROMINENT_BUTTON' | 'RADIO_OPTION';
2107
+ export type PaymentMethodInstrumentType = 'BANK' | 'BLIK_CODE' | 'CARD_BRAND' | 'OTHER' | 'WALLET';
2046
2108
  export type PaymentMethodType = 'BANK_TRANSFER' | 'BLIK' | 'CARD' | 'CASH_ON_DELIVERY' | 'OTHER';
2109
+ export type PaymentMethodUnavailableReason = 'CREDENTIALS_INVALID' | 'GATEWAY_DISABLED' | 'GATEWAY_DOWN' | 'NO_INSTRUMENTS';
2047
2110
  export type PaymentSession = {
2048
2111
  /** Client secret / token for the in-page payment widget. Populated only when `flow` is ONLINE_EMBEDDED. Treat as sensitive — do not log. */
2049
2112
  clientSecret?: Maybe<Scalars['String']['output']>;
@@ -2072,6 +2135,15 @@ export type PaymentSettings = {
2072
2135
  /** Kody aktywnych payment providerów dla tego sklepu (z IntegrationProvider table, type=PAYMENT). Np. ["payu", "cash_on_delivery"]. Storefront-dev używa do warunkowania UI checkout. */
2073
2136
  paymentProviders: Array<Scalars['String']['output']>;
2074
2137
  };
2138
+ export type PaymentWarning = {
2139
+ /** Machine-readable code — branch on this to dispatch UI retry hints. Add a new code only when there is a distinct UX response. */
2140
+ code: PaymentWarningCode;
2141
+ /** Pre-translated user-facing message describing what happened (Polish-first per shop locale). */
2142
+ message: Scalars['String']['output'];
2143
+ /** Optional additional hint string for UI dispatch — currently unused for `INSTRUMENT_CLEARED_FOR_RETRY` (semantic encoded in `message`). Reserved for future warning codes (e.g. `SLOW_GATEWAY_RESPONSE` → "Retry in 30s"). */
2144
+ retryHint?: Maybe<Scalars['String']['output']>;
2145
+ };
2146
+ export type PaymentWarningCode = 'INSTRUMENT_CLEARED_FOR_RETRY';
2075
2147
  export type PickupPoint = {
2076
2148
  /** Point address as a single human-readable line — show alongside the name on the confirmation page. */
2077
2149
  address?: Maybe<Scalars['String']['output']>;
@@ -2412,12 +2484,13 @@ export type ProductVariantEdge = {
2412
2484
  node: ProductVariant;
2413
2485
  };
2414
2486
  export type ProductVisibility = 'BUNDLE_ONLY' | 'HIDDEN' | 'PUBLIC';
2487
+ export type ProviderCode = 'BANK_TRANSFER' | 'CASH_ON_DELIVERY' | 'GIFT_CARD' | 'MANUAL_PAYMENT' | 'PAYU' | 'PRZELEWY24' | 'STRIPE' | 'TEST_GATEWAY';
2415
2488
  export type Query = {
2416
2489
  /** List of all currencies supported by the system (ECB rates) */
2417
2490
  allSupportedCurrencies: Array<Currency>;
2418
2491
  /** Paginated + searchable attribute options dla drill-into filter UI (np. dropdown z 800 licencjami + search input). Honors product context z exclude-self per attribute. Sort: COUNT_DESC default (most popular first), LABEL_ASC dla alfabetycznego z polskim collation. */
2419
2492
  attributeOptionsSearch: AttributeFilterValueConnection;
2420
- /** Payment methods active for the current shop, plus the merchant default. Shop-level independent of cart contents in this iteration. Fetch once for the checkout payment step. */
2493
+ /** Payment methods active for the current shop, plus the merchant default. Returns one row per `PaymentMethodType` (BLIK, CARD, BANK_TRANSFER, ...) with `providersAvailable` (provider codes sorted by merchant priority) and `preferredProvider` (the head of the list). Shop-level — independent of cart contents. */
2421
2494
  availablePaymentMethods: AvailablePaymentMethods;
2422
2495
  /** Standalone shipping-method preview for an address — does not require a cart. Pass an optional `cart` summary (subtotal, weight, currency) to evaluate price-based / weight-based rules and free-shipping thresholds. For an already-created cart, prefer `cart.availableShippingMethods(address)` — it reads the cart contents directly. */
2423
2496
  availableShippingMethods: AvailableShippingMethodsPayload;
@@ -3200,8 +3273,12 @@ export type AvailablePaymentMethodsQueryVariables = Exact<{
3200
3273
  }>;
3201
3274
  export type AvailablePaymentMethodsQuery = {
3202
3275
  availablePaymentMethods: {
3203
- methods: Array<Pick<PaymentMethod, 'id' | 'name' | 'provider' | 'type' | 'icon' | 'description' | 'isDefault' | 'supportedCurrencies' | 'position'>>;
3204
- defaultMethod?: Maybe<Pick<PaymentMethod, 'id' | 'name' | 'provider' | 'type' | 'icon' | 'description' | 'isDefault' | 'supportedCurrencies' | 'position'>>;
3276
+ methods: Array<(Pick<PaymentMethod, 'id' | 'name' | 'provider' | 'type' | 'icon' | 'description' | 'isDefault' | 'supportedCurrencies' | 'position' | 'providersAvailable' | 'preferredProvider' | 'available' | 'unavailableReason'> & {
3277
+ instruments?: Maybe<Array<Pick<PaymentMethodInstrument, 'providerCode' | 'instrumentCode' | 'type' | 'displayName' | 'displayHint' | 'brandImageUrl' | 'enabled'>>>;
3278
+ })>;
3279
+ defaultMethod?: Maybe<(Pick<PaymentMethod, 'id' | 'name' | 'provider' | 'type' | 'icon' | 'description' | 'isDefault' | 'supportedCurrencies' | 'position' | 'providersAvailable' | 'preferredProvider' | 'available' | 'unavailableReason'> & {
3280
+ instruments?: Maybe<Array<Pick<PaymentMethodInstrument, 'providerCode' | 'instrumentCode' | 'type' | 'displayName' | 'displayHint' | 'brandImageUrl' | 'enabled'>>>;
3281
+ })>;
3205
3282
  };
3206
3283
  };
3207
3284
  export type CartAddLinesMutationVariables = Exact<{
@@ -3210,7 +3287,7 @@ export type CartAddLinesMutationVariables = Exact<{
3210
3287
  }>;
3211
3288
  export type CartAddLinesMutation = {
3212
3289
  cartAddLines: {
3213
- cart?: Maybe<(Pick<Cart, 'id' | 'checkoutUrl' | 'totalQuantity' | 'note' | 'email' | 'phone' | 'requiresShipping' | 'createdAt' | 'updatedAt' | 'status'> & {
3290
+ cart?: Maybe<(Pick<Cart, 'id' | 'checkoutUrl' | 'totalQuantity' | 'note' | 'email' | 'phone' | 'selectedPaymentInstrumentCode' | 'requiresShipping' | 'createdAt' | 'updatedAt' | 'status'> & {
3214
3291
  cost: {
3215
3292
  total: Pick<Money, 'amount' | 'currencyCode'>;
3216
3293
  subtotal: Pick<Money, 'amount' | 'currencyCode'>;
@@ -3237,6 +3314,7 @@ export type CartAddLinesMutation = {
3237
3314
  };
3238
3315
  attributes: Array<Pick<Attribute, 'key' | 'value'>>;
3239
3316
  attributeSelections: Array<Pick<AttributeSelection, 'attributeDefinitionId' | 'attributeName' | 'type' | 'fillingMode' | 'billingMode' | 'optionId' | 'optionLabel' | 'optionIds' | 'textValue' | 'surchargeAmount' | 'surchargeType' | 'taxClassId' | 'linkedVariantId'>>;
3317
+ giftCardRecipient?: Maybe<Pick<GiftCardLineRecipient, 'recipientEmail' | 'recipientName' | 'message'>>;
3240
3318
  })>;
3241
3319
  pageInfo: Pick<PageInfo, 'hasNextPage' | 'hasPreviousPage' | 'startCursor' | 'endCursor'>;
3242
3320
  });
@@ -3271,7 +3349,7 @@ export type CartApplyGiftCardMutationVariables = Exact<{
3271
3349
  }>;
3272
3350
  export type CartApplyGiftCardMutation = {
3273
3351
  cartApplyGiftCard: {
3274
- cart?: Maybe<(Pick<Cart, 'id' | 'checkoutUrl' | 'totalQuantity' | 'note' | 'email' | 'phone' | 'requiresShipping' | 'createdAt' | 'updatedAt' | 'status'> & {
3352
+ cart?: Maybe<(Pick<Cart, 'id' | 'checkoutUrl' | 'totalQuantity' | 'note' | 'email' | 'phone' | 'selectedPaymentInstrumentCode' | 'requiresShipping' | 'createdAt' | 'updatedAt' | 'status'> & {
3275
3353
  cost: {
3276
3354
  total: Pick<Money, 'amount' | 'currencyCode'>;
3277
3355
  subtotal: Pick<Money, 'amount' | 'currencyCode'>;
@@ -3298,6 +3376,7 @@ export type CartApplyGiftCardMutation = {
3298
3376
  };
3299
3377
  attributes: Array<Pick<Attribute, 'key' | 'value'>>;
3300
3378
  attributeSelections: Array<Pick<AttributeSelection, 'attributeDefinitionId' | 'attributeName' | 'type' | 'fillingMode' | 'billingMode' | 'optionId' | 'optionLabel' | 'optionIds' | 'textValue' | 'surchargeAmount' | 'surchargeType' | 'taxClassId' | 'linkedVariantId'>>;
3379
+ giftCardRecipient?: Maybe<Pick<GiftCardLineRecipient, 'recipientEmail' | 'recipientName' | 'message'>>;
3301
3380
  })>;
3302
3381
  pageInfo: Pick<PageInfo, 'hasNextPage' | 'hasPreviousPage' | 'startCursor' | 'endCursor'>;
3303
3382
  });
@@ -3353,6 +3432,68 @@ export type CartAvailableShippingMethodsQuery = {
3353
3432
  };
3354
3433
  })>;
3355
3434
  };
3435
+ export type CartClearPaymentSelectionMutationVariables = Exact<{
3436
+ input: CartClearPaymentSelectionInput;
3437
+ }>;
3438
+ export type CartClearPaymentSelectionMutation = {
3439
+ cartClearPaymentSelection: {
3440
+ cart?: Maybe<(Pick<Cart, 'id' | 'checkoutUrl' | 'totalQuantity' | 'note' | 'email' | 'phone' | 'selectedPaymentInstrumentCode' | 'requiresShipping' | 'createdAt' | 'updatedAt' | 'status'> & {
3441
+ cost: {
3442
+ total: Pick<Money, 'amount' | 'currencyCode'>;
3443
+ subtotal: Pick<Money, 'amount' | 'currencyCode'>;
3444
+ totalTax?: Maybe<Pick<Money, 'amount' | 'currencyCode'>>;
3445
+ totalDuty?: Maybe<Pick<Money, 'amount' | 'currencyCode'>>;
3446
+ checkoutCharge?: Maybe<Pick<Money, 'amount' | 'currencyCode'>>;
3447
+ totalDiscount: Pick<Money, 'amount' | 'currencyCode'>;
3448
+ totalShipping?: Maybe<Pick<Money, 'amount' | 'currencyCode'>>;
3449
+ };
3450
+ lines: (Pick<CartLineConnection, 'totalCount'> & {
3451
+ nodes: Array<(Pick<CartLine, 'id' | 'quantity' | 'productId' | 'productTitle' | 'productHandle' | 'productType' | 'requiresShipping'> & {
3452
+ variant: (Pick<ProductVariant, 'id' | 'title' | 'sku' | 'isAvailable' | 'availableStock' | 'barcode' | 'sortOrder'> & {
3453
+ price: Pick<Money, 'amount' | 'currencyCode'>;
3454
+ compareAtPrice?: Maybe<Pick<Money, 'amount' | 'currencyCode'>>;
3455
+ image?: Maybe<Pick<Image, 'id' | 'url' | 'altText' | 'width' | 'height' | 'thumbhash'>>;
3456
+ selectedOptions: Array<Pick<SelectedOption, 'name' | 'value'>>;
3457
+ weight?: Maybe<Pick<Weight, 'value' | 'unit'>>;
3458
+ });
3459
+ cost: {
3460
+ pricePerUnit: Pick<Money, 'amount' | 'currencyCode'>;
3461
+ subtotal: Pick<Money, 'amount' | 'currencyCode'>;
3462
+ total: Pick<Money, 'amount' | 'currencyCode'>;
3463
+ compareAtPricePerUnit?: Maybe<Pick<Money, 'amount' | 'currencyCode'>>;
3464
+ };
3465
+ attributes: Array<Pick<Attribute, 'key' | 'value'>>;
3466
+ attributeSelections: Array<Pick<AttributeSelection, 'attributeDefinitionId' | 'attributeName' | 'type' | 'fillingMode' | 'billingMode' | 'optionId' | 'optionLabel' | 'optionIds' | 'textValue' | 'surchargeAmount' | 'surchargeType' | 'taxClassId' | 'linkedVariantId'>>;
3467
+ giftCardRecipient?: Maybe<Pick<GiftCardLineRecipient, 'recipientEmail' | 'recipientName' | 'message'>>;
3468
+ })>;
3469
+ pageInfo: Pick<PageInfo, 'hasNextPage' | 'hasPreviousPage' | 'startCursor' | 'endCursor'>;
3470
+ });
3471
+ buyerIdentity?: Maybe<Pick<CartBuyerIdentity, 'email' | 'phone' | 'countryCode'>>;
3472
+ discountCodes: Array<Pick<CartDiscountCode, 'code' | 'isApplicable'>>;
3473
+ discountAllocations: Array<(Pick<CartDiscountAllocation, 'discountCode'> & {
3474
+ amount: Pick<Money, 'amount' | 'currencyCode'>;
3475
+ })>;
3476
+ attributes: Array<Pick<CartAttribute, 'key' | 'value'>>;
3477
+ shippingAddress?: Maybe<(Pick<MailingAddress, 'id' | 'firstName' | 'lastName' | 'name' | 'company' | 'streetLine1' | 'streetLine2' | 'city' | 'state' | 'stateCode' | 'country' | 'countryCode' | 'postalCode' | 'phone' | 'isDefault' | 'taxId' | 'vatNumber'> & {
3478
+ pickupPoint?: Maybe<Pick<PickupPoint, 'provider' | 'pointId' | 'name' | 'address'>>;
3479
+ })>;
3480
+ billingAddress?: Maybe<(Pick<MailingAddress, 'id' | 'firstName' | 'lastName' | 'name' | 'company' | 'streetLine1' | 'streetLine2' | 'city' | 'state' | 'stateCode' | 'country' | 'countryCode' | 'postalCode' | 'phone' | 'isDefault' | 'taxId' | 'vatNumber'> & {
3481
+ pickupPoint?: Maybe<Pick<PickupPoint, 'provider' | 'pointId' | 'name' | 'address'>>;
3482
+ })>;
3483
+ selectedShippingMethod?: Maybe<(Pick<CartShippingMethod, 'handle' | 'title'> & {
3484
+ price: Pick<Money, 'amount' | 'currencyCode'>;
3485
+ })>;
3486
+ selectedPaymentMethod?: Maybe<Pick<PaymentMethod, 'id' | 'name' | 'provider' | 'type' | 'icon' | 'description' | 'isDefault' | 'supportedCurrencies' | 'position'>>;
3487
+ appliedGiftCards: Array<(Pick<CartAppliedGiftCard, 'id' | 'maskedCode' | 'lastCharacters'> & {
3488
+ appliedAmount: Pick<Money, 'amount' | 'currencyCode'>;
3489
+ remainingBalance: Pick<Money, 'amount' | 'currencyCode'>;
3490
+ })>;
3491
+ completedOrder?: Maybe<Pick<Order, 'id' | 'orderNumber' | 'accessToken' | 'status' | 'paymentStatus' | 'fulfillmentStatus'>>;
3492
+ })>;
3493
+ userErrors: Array<Pick<UserError, 'message' | 'code' | 'field'>>;
3494
+ warnings: Array<Pick<CartWarning, 'message' | 'code' | 'target'>>;
3495
+ };
3496
+ };
3356
3497
  export type CartCompleteMutationVariables = Exact<{
3357
3498
  input: CartCompleteInput;
3358
3499
  }>;
@@ -3378,7 +3519,7 @@ export type CartCreateMutationVariables = Exact<{
3378
3519
  }>;
3379
3520
  export type CartCreateMutation = {
3380
3521
  cartCreate: {
3381
- cart?: Maybe<(Pick<Cart, 'id' | 'checkoutUrl' | 'totalQuantity' | 'note' | 'email' | 'phone' | 'requiresShipping' | 'createdAt' | 'updatedAt' | 'status'> & {
3522
+ cart?: Maybe<(Pick<Cart, 'id' | 'checkoutUrl' | 'totalQuantity' | 'note' | 'email' | 'phone' | 'selectedPaymentInstrumentCode' | 'requiresShipping' | 'createdAt' | 'updatedAt' | 'status'> & {
3382
3523
  cost: {
3383
3524
  total: Pick<Money, 'amount' | 'currencyCode'>;
3384
3525
  subtotal: Pick<Money, 'amount' | 'currencyCode'>;
@@ -3405,6 +3546,7 @@ export type CartCreateMutation = {
3405
3546
  };
3406
3547
  attributes: Array<Pick<Attribute, 'key' | 'value'>>;
3407
3548
  attributeSelections: Array<Pick<AttributeSelection, 'attributeDefinitionId' | 'attributeName' | 'type' | 'fillingMode' | 'billingMode' | 'optionId' | 'optionLabel' | 'optionIds' | 'textValue' | 'surchargeAmount' | 'surchargeType' | 'taxClassId' | 'linkedVariantId'>>;
3549
+ giftCardRecipient?: Maybe<Pick<GiftCardLineRecipient, 'recipientEmail' | 'recipientName' | 'message'>>;
3408
3550
  })>;
3409
3551
  pageInfo: Pick<PageInfo, 'hasNextPage' | 'hasPreviousPage' | 'startCursor' | 'endCursor'>;
3410
3552
  });
@@ -3440,7 +3582,7 @@ export type CartDiscountCodesUpdateMutationVariables = Exact<{
3440
3582
  }>;
3441
3583
  export type CartDiscountCodesUpdateMutation = {
3442
3584
  cartDiscountCodesUpdate: {
3443
- cart?: Maybe<(Pick<Cart, 'id' | 'checkoutUrl' | 'totalQuantity' | 'note' | 'email' | 'phone' | 'requiresShipping' | 'createdAt' | 'updatedAt' | 'status'> & {
3585
+ cart?: Maybe<(Pick<Cart, 'id' | 'checkoutUrl' | 'totalQuantity' | 'note' | 'email' | 'phone' | 'selectedPaymentInstrumentCode' | 'requiresShipping' | 'createdAt' | 'updatedAt' | 'status'> & {
3444
3586
  cost: {
3445
3587
  total: Pick<Money, 'amount' | 'currencyCode'>;
3446
3588
  subtotal: Pick<Money, 'amount' | 'currencyCode'>;
@@ -3467,6 +3609,7 @@ export type CartDiscountCodesUpdateMutation = {
3467
3609
  };
3468
3610
  attributes: Array<Pick<Attribute, 'key' | 'value'>>;
3469
3611
  attributeSelections: Array<Pick<AttributeSelection, 'attributeDefinitionId' | 'attributeName' | 'type' | 'fillingMode' | 'billingMode' | 'optionId' | 'optionLabel' | 'optionIds' | 'textValue' | 'surchargeAmount' | 'surchargeType' | 'taxClassId' | 'linkedVariantId'>>;
3612
+ giftCardRecipient?: Maybe<Pick<GiftCardLineRecipient, 'recipientEmail' | 'recipientName' | 'message'>>;
3470
3613
  })>;
3471
3614
  pageInfo: Pick<PageInfo, 'hasNextPage' | 'hasPreviousPage' | 'startCursor' | 'endCursor'>;
3472
3615
  });
@@ -3500,7 +3643,7 @@ export type CartQueryVariables = Exact<{
3500
3643
  id: Scalars['ID']['input'];
3501
3644
  }>;
3502
3645
  export type CartQuery = {
3503
- cart?: Maybe<(Pick<Cart, 'id' | 'checkoutUrl' | 'totalQuantity' | 'note' | 'email' | 'phone' | 'requiresShipping' | 'createdAt' | 'updatedAt' | 'status'> & {
3646
+ cart?: Maybe<(Pick<Cart, 'id' | 'checkoutUrl' | 'totalQuantity' | 'note' | 'email' | 'phone' | 'selectedPaymentInstrumentCode' | 'requiresShipping' | 'createdAt' | 'updatedAt' | 'status'> & {
3504
3647
  cost: {
3505
3648
  total: Pick<Money, 'amount' | 'currencyCode'>;
3506
3649
  subtotal: Pick<Money, 'amount' | 'currencyCode'>;
@@ -3527,6 +3670,7 @@ export type CartQuery = {
3527
3670
  };
3528
3671
  attributes: Array<Pick<Attribute, 'key' | 'value'>>;
3529
3672
  attributeSelections: Array<Pick<AttributeSelection, 'attributeDefinitionId' | 'attributeName' | 'type' | 'fillingMode' | 'billingMode' | 'optionId' | 'optionLabel' | 'optionIds' | 'textValue' | 'surchargeAmount' | 'surchargeType' | 'taxClassId' | 'linkedVariantId'>>;
3673
+ giftCardRecipient?: Maybe<Pick<GiftCardLineRecipient, 'recipientEmail' | 'recipientName' | 'message'>>;
3530
3674
  })>;
3531
3675
  pageInfo: Pick<PageInfo, 'hasNextPage' | 'hasPreviousPage' | 'startCursor' | 'endCursor'>;
3532
3676
  });
@@ -3558,7 +3702,7 @@ export type CartRemoveGiftCardMutationVariables = Exact<{
3558
3702
  }>;
3559
3703
  export type CartRemoveGiftCardMutation = {
3560
3704
  cartRemoveGiftCard: {
3561
- cart?: Maybe<(Pick<Cart, 'id' | 'checkoutUrl' | 'totalQuantity' | 'note' | 'email' | 'phone' | 'requiresShipping' | 'createdAt' | 'updatedAt' | 'status'> & {
3705
+ cart?: Maybe<(Pick<Cart, 'id' | 'checkoutUrl' | 'totalQuantity' | 'note' | 'email' | 'phone' | 'selectedPaymentInstrumentCode' | 'requiresShipping' | 'createdAt' | 'updatedAt' | 'status'> & {
3562
3706
  cost: {
3563
3707
  total: Pick<Money, 'amount' | 'currencyCode'>;
3564
3708
  subtotal: Pick<Money, 'amount' | 'currencyCode'>;
@@ -3585,6 +3729,7 @@ export type CartRemoveGiftCardMutation = {
3585
3729
  };
3586
3730
  attributes: Array<Pick<Attribute, 'key' | 'value'>>;
3587
3731
  attributeSelections: Array<Pick<AttributeSelection, 'attributeDefinitionId' | 'attributeName' | 'type' | 'fillingMode' | 'billingMode' | 'optionId' | 'optionLabel' | 'optionIds' | 'textValue' | 'surchargeAmount' | 'surchargeType' | 'taxClassId' | 'linkedVariantId'>>;
3732
+ giftCardRecipient?: Maybe<Pick<GiftCardLineRecipient, 'recipientEmail' | 'recipientName' | 'message'>>;
3588
3733
  })>;
3589
3734
  pageInfo: Pick<PageInfo, 'hasNextPage' | 'hasPreviousPage' | 'startCursor' | 'endCursor'>;
3590
3735
  });
@@ -3620,7 +3765,7 @@ export type CartRemoveLinesMutationVariables = Exact<{
3620
3765
  }>;
3621
3766
  export type CartRemoveLinesMutation = {
3622
3767
  cartRemoveLines: {
3623
- cart?: Maybe<(Pick<Cart, 'id' | 'checkoutUrl' | 'totalQuantity' | 'note' | 'email' | 'phone' | 'requiresShipping' | 'createdAt' | 'updatedAt' | 'status'> & {
3768
+ cart?: Maybe<(Pick<Cart, 'id' | 'checkoutUrl' | 'totalQuantity' | 'note' | 'email' | 'phone' | 'selectedPaymentInstrumentCode' | 'requiresShipping' | 'createdAt' | 'updatedAt' | 'status'> & {
3624
3769
  cost: {
3625
3770
  total: Pick<Money, 'amount' | 'currencyCode'>;
3626
3771
  subtotal: Pick<Money, 'amount' | 'currencyCode'>;
@@ -3647,6 +3792,7 @@ export type CartRemoveLinesMutation = {
3647
3792
  };
3648
3793
  attributes: Array<Pick<Attribute, 'key' | 'value'>>;
3649
3794
  attributeSelections: Array<Pick<AttributeSelection, 'attributeDefinitionId' | 'attributeName' | 'type' | 'fillingMode' | 'billingMode' | 'optionId' | 'optionLabel' | 'optionIds' | 'textValue' | 'surchargeAmount' | 'surchargeType' | 'taxClassId' | 'linkedVariantId'>>;
3795
+ giftCardRecipient?: Maybe<Pick<GiftCardLineRecipient, 'recipientEmail' | 'recipientName' | 'message'>>;
3650
3796
  })>;
3651
3797
  pageInfo: Pick<PageInfo, 'hasNextPage' | 'hasPreviousPage' | 'startCursor' | 'endCursor'>;
3652
3798
  });
@@ -3681,7 +3827,7 @@ export type CartSelectPaymentMethodMutationVariables = Exact<{
3681
3827
  }>;
3682
3828
  export type CartSelectPaymentMethodMutation = {
3683
3829
  cartSelectPaymentMethod: {
3684
- cart?: Maybe<(Pick<Cart, 'id' | 'checkoutUrl' | 'totalQuantity' | 'note' | 'email' | 'phone' | 'requiresShipping' | 'createdAt' | 'updatedAt' | 'status'> & {
3830
+ cart?: Maybe<(Pick<Cart, 'id' | 'checkoutUrl' | 'totalQuantity' | 'note' | 'email' | 'phone' | 'selectedPaymentInstrumentCode' | 'requiresShipping' | 'createdAt' | 'updatedAt' | 'status'> & {
3685
3831
  cost: {
3686
3832
  total: Pick<Money, 'amount' | 'currencyCode'>;
3687
3833
  subtotal: Pick<Money, 'amount' | 'currencyCode'>;
@@ -3708,6 +3854,7 @@ export type CartSelectPaymentMethodMutation = {
3708
3854
  };
3709
3855
  attributes: Array<Pick<Attribute, 'key' | 'value'>>;
3710
3856
  attributeSelections: Array<Pick<AttributeSelection, 'attributeDefinitionId' | 'attributeName' | 'type' | 'fillingMode' | 'billingMode' | 'optionId' | 'optionLabel' | 'optionIds' | 'textValue' | 'surchargeAmount' | 'surchargeType' | 'taxClassId' | 'linkedVariantId'>>;
3857
+ giftCardRecipient?: Maybe<Pick<GiftCardLineRecipient, 'recipientEmail' | 'recipientName' | 'message'>>;
3711
3858
  })>;
3712
3859
  pageInfo: Pick<PageInfo, 'hasNextPage' | 'hasPreviousPage' | 'startCursor' | 'endCursor'>;
3713
3860
  });
@@ -3742,7 +3889,7 @@ export type CartSelectShippingMethodMutationVariables = Exact<{
3742
3889
  }>;
3743
3890
  export type CartSelectShippingMethodMutation = {
3744
3891
  cartSelectShippingMethod: {
3745
- cart?: Maybe<(Pick<Cart, 'id' | 'checkoutUrl' | 'totalQuantity' | 'note' | 'email' | 'phone' | 'requiresShipping' | 'createdAt' | 'updatedAt' | 'status'> & {
3892
+ cart?: Maybe<(Pick<Cart, 'id' | 'checkoutUrl' | 'totalQuantity' | 'note' | 'email' | 'phone' | 'selectedPaymentInstrumentCode' | 'requiresShipping' | 'createdAt' | 'updatedAt' | 'status'> & {
3746
3893
  cost: {
3747
3894
  total: Pick<Money, 'amount' | 'currencyCode'>;
3748
3895
  subtotal: Pick<Money, 'amount' | 'currencyCode'>;
@@ -3769,6 +3916,7 @@ export type CartSelectShippingMethodMutation = {
3769
3916
  };
3770
3917
  attributes: Array<Pick<Attribute, 'key' | 'value'>>;
3771
3918
  attributeSelections: Array<Pick<AttributeSelection, 'attributeDefinitionId' | 'attributeName' | 'type' | 'fillingMode' | 'billingMode' | 'optionId' | 'optionLabel' | 'optionIds' | 'textValue' | 'surchargeAmount' | 'surchargeType' | 'taxClassId' | 'linkedVariantId'>>;
3919
+ giftCardRecipient?: Maybe<Pick<GiftCardLineRecipient, 'recipientEmail' | 'recipientName' | 'message'>>;
3772
3920
  })>;
3773
3921
  pageInfo: Pick<PageInfo, 'hasNextPage' | 'hasPreviousPage' | 'startCursor' | 'endCursor'>;
3774
3922
  });
@@ -3803,7 +3951,7 @@ export type CartSetBillingAddressMutationVariables = Exact<{
3803
3951
  }>;
3804
3952
  export type CartSetBillingAddressMutation = {
3805
3953
  cartSetBillingAddress: {
3806
- cart?: Maybe<(Pick<Cart, 'id' | 'checkoutUrl' | 'totalQuantity' | 'note' | 'email' | 'phone' | 'requiresShipping' | 'createdAt' | 'updatedAt' | 'status'> & {
3954
+ cart?: Maybe<(Pick<Cart, 'id' | 'checkoutUrl' | 'totalQuantity' | 'note' | 'email' | 'phone' | 'selectedPaymentInstrumentCode' | 'requiresShipping' | 'createdAt' | 'updatedAt' | 'status'> & {
3807
3955
  cost: {
3808
3956
  total: Pick<Money, 'amount' | 'currencyCode'>;
3809
3957
  subtotal: Pick<Money, 'amount' | 'currencyCode'>;
@@ -3830,6 +3978,7 @@ export type CartSetBillingAddressMutation = {
3830
3978
  };
3831
3979
  attributes: Array<Pick<Attribute, 'key' | 'value'>>;
3832
3980
  attributeSelections: Array<Pick<AttributeSelection, 'attributeDefinitionId' | 'attributeName' | 'type' | 'fillingMode' | 'billingMode' | 'optionId' | 'optionLabel' | 'optionIds' | 'textValue' | 'surchargeAmount' | 'surchargeType' | 'taxClassId' | 'linkedVariantId'>>;
3981
+ giftCardRecipient?: Maybe<Pick<GiftCardLineRecipient, 'recipientEmail' | 'recipientName' | 'message'>>;
3833
3982
  })>;
3834
3983
  pageInfo: Pick<PageInfo, 'hasNextPage' | 'hasPreviousPage' | 'startCursor' | 'endCursor'>;
3835
3984
  });
@@ -3864,7 +4013,7 @@ export type CartSetShippingAddressMutationVariables = Exact<{
3864
4013
  }>;
3865
4014
  export type CartSetShippingAddressMutation = {
3866
4015
  cartSetShippingAddress: {
3867
- cart?: Maybe<(Pick<Cart, 'id' | 'checkoutUrl' | 'totalQuantity' | 'note' | 'email' | 'phone' | 'requiresShipping' | 'createdAt' | 'updatedAt' | 'status'> & {
4016
+ cart?: Maybe<(Pick<Cart, 'id' | 'checkoutUrl' | 'totalQuantity' | 'note' | 'email' | 'phone' | 'selectedPaymentInstrumentCode' | 'requiresShipping' | 'createdAt' | 'updatedAt' | 'status'> & {
3868
4017
  cost: {
3869
4018
  total: Pick<Money, 'amount' | 'currencyCode'>;
3870
4019
  subtotal: Pick<Money, 'amount' | 'currencyCode'>;
@@ -3891,6 +4040,7 @@ export type CartSetShippingAddressMutation = {
3891
4040
  };
3892
4041
  attributes: Array<Pick<Attribute, 'key' | 'value'>>;
3893
4042
  attributeSelections: Array<Pick<AttributeSelection, 'attributeDefinitionId' | 'attributeName' | 'type' | 'fillingMode' | 'billingMode' | 'optionId' | 'optionLabel' | 'optionIds' | 'textValue' | 'surchargeAmount' | 'surchargeType' | 'taxClassId' | 'linkedVariantId'>>;
4043
+ giftCardRecipient?: Maybe<Pick<GiftCardLineRecipient, 'recipientEmail' | 'recipientName' | 'message'>>;
3894
4044
  })>;
3895
4045
  pageInfo: Pick<PageInfo, 'hasNextPage' | 'hasPreviousPage' | 'startCursor' | 'endCursor'>;
3896
4046
  });
@@ -3926,7 +4076,7 @@ export type CartUpdateAttributesMutationVariables = Exact<{
3926
4076
  }>;
3927
4077
  export type CartUpdateAttributesMutation = {
3928
4078
  cartUpdateAttributes: {
3929
- cart?: Maybe<(Pick<Cart, 'id' | 'checkoutUrl' | 'totalQuantity' | 'note' | 'email' | 'phone' | 'requiresShipping' | 'createdAt' | 'updatedAt' | 'status'> & {
4079
+ cart?: Maybe<(Pick<Cart, 'id' | 'checkoutUrl' | 'totalQuantity' | 'note' | 'email' | 'phone' | 'selectedPaymentInstrumentCode' | 'requiresShipping' | 'createdAt' | 'updatedAt' | 'status'> & {
3930
4080
  cost: {
3931
4081
  total: Pick<Money, 'amount' | 'currencyCode'>;
3932
4082
  subtotal: Pick<Money, 'amount' | 'currencyCode'>;
@@ -3953,6 +4103,7 @@ export type CartUpdateAttributesMutation = {
3953
4103
  };
3954
4104
  attributes: Array<Pick<Attribute, 'key' | 'value'>>;
3955
4105
  attributeSelections: Array<Pick<AttributeSelection, 'attributeDefinitionId' | 'attributeName' | 'type' | 'fillingMode' | 'billingMode' | 'optionId' | 'optionLabel' | 'optionIds' | 'textValue' | 'surchargeAmount' | 'surchargeType' | 'taxClassId' | 'linkedVariantId'>>;
4106
+ giftCardRecipient?: Maybe<Pick<GiftCardLineRecipient, 'recipientEmail' | 'recipientName' | 'message'>>;
3956
4107
  })>;
3957
4108
  pageInfo: Pick<PageInfo, 'hasNextPage' | 'hasPreviousPage' | 'startCursor' | 'endCursor'>;
3958
4109
  });
@@ -3988,7 +4139,7 @@ export type CartUpdateBuyerIdentityMutationVariables = Exact<{
3988
4139
  }>;
3989
4140
  export type CartUpdateBuyerIdentityMutation = {
3990
4141
  cartUpdateBuyerIdentity: {
3991
- cart?: Maybe<(Pick<Cart, 'id' | 'checkoutUrl' | 'totalQuantity' | 'note' | 'email' | 'phone' | 'requiresShipping' | 'createdAt' | 'updatedAt' | 'status'> & {
4142
+ cart?: Maybe<(Pick<Cart, 'id' | 'checkoutUrl' | 'totalQuantity' | 'note' | 'email' | 'phone' | 'selectedPaymentInstrumentCode' | 'requiresShipping' | 'createdAt' | 'updatedAt' | 'status'> & {
3992
4143
  cost: {
3993
4144
  total: Pick<Money, 'amount' | 'currencyCode'>;
3994
4145
  subtotal: Pick<Money, 'amount' | 'currencyCode'>;
@@ -4015,6 +4166,7 @@ export type CartUpdateBuyerIdentityMutation = {
4015
4166
  };
4016
4167
  attributes: Array<Pick<Attribute, 'key' | 'value'>>;
4017
4168
  attributeSelections: Array<Pick<AttributeSelection, 'attributeDefinitionId' | 'attributeName' | 'type' | 'fillingMode' | 'billingMode' | 'optionId' | 'optionLabel' | 'optionIds' | 'textValue' | 'surchargeAmount' | 'surchargeType' | 'taxClassId' | 'linkedVariantId'>>;
4169
+ giftCardRecipient?: Maybe<Pick<GiftCardLineRecipient, 'recipientEmail' | 'recipientName' | 'message'>>;
4018
4170
  })>;
4019
4171
  pageInfo: Pick<PageInfo, 'hasNextPage' | 'hasPreviousPage' | 'startCursor' | 'endCursor'>;
4020
4172
  });
@@ -4049,7 +4201,7 @@ export type CartUpdateGiftCardRecipientMutationVariables = Exact<{
4049
4201
  }>;
4050
4202
  export type CartUpdateGiftCardRecipientMutation = {
4051
4203
  cartUpdateGiftCardRecipient: {
4052
- cart?: Maybe<(Pick<Cart, 'id' | 'checkoutUrl' | 'totalQuantity' | 'note' | 'email' | 'phone' | 'requiresShipping' | 'createdAt' | 'updatedAt' | 'status'> & {
4204
+ cart?: Maybe<(Pick<Cart, 'id' | 'checkoutUrl' | 'totalQuantity' | 'note' | 'email' | 'phone' | 'selectedPaymentInstrumentCode' | 'requiresShipping' | 'createdAt' | 'updatedAt' | 'status'> & {
4053
4205
  cost: {
4054
4206
  total: Pick<Money, 'amount' | 'currencyCode'>;
4055
4207
  subtotal: Pick<Money, 'amount' | 'currencyCode'>;
@@ -4076,6 +4228,7 @@ export type CartUpdateGiftCardRecipientMutation = {
4076
4228
  };
4077
4229
  attributes: Array<Pick<Attribute, 'key' | 'value'>>;
4078
4230
  attributeSelections: Array<Pick<AttributeSelection, 'attributeDefinitionId' | 'attributeName' | 'type' | 'fillingMode' | 'billingMode' | 'optionId' | 'optionLabel' | 'optionIds' | 'textValue' | 'surchargeAmount' | 'surchargeType' | 'taxClassId' | 'linkedVariantId'>>;
4231
+ giftCardRecipient?: Maybe<Pick<GiftCardLineRecipient, 'recipientEmail' | 'recipientName' | 'message'>>;
4079
4232
  })>;
4080
4233
  pageInfo: Pick<PageInfo, 'hasNextPage' | 'hasPreviousPage' | 'startCursor' | 'endCursor'>;
4081
4234
  });
@@ -4111,7 +4264,7 @@ export type CartUpdateLinesMutationVariables = Exact<{
4111
4264
  }>;
4112
4265
  export type CartUpdateLinesMutation = {
4113
4266
  cartUpdateLines: {
4114
- cart?: Maybe<(Pick<Cart, 'id' | 'checkoutUrl' | 'totalQuantity' | 'note' | 'email' | 'phone' | 'requiresShipping' | 'createdAt' | 'updatedAt' | 'status'> & {
4267
+ cart?: Maybe<(Pick<Cart, 'id' | 'checkoutUrl' | 'totalQuantity' | 'note' | 'email' | 'phone' | 'selectedPaymentInstrumentCode' | 'requiresShipping' | 'createdAt' | 'updatedAt' | 'status'> & {
4115
4268
  cost: {
4116
4269
  total: Pick<Money, 'amount' | 'currencyCode'>;
4117
4270
  subtotal: Pick<Money, 'amount' | 'currencyCode'>;
@@ -4138,6 +4291,7 @@ export type CartUpdateLinesMutation = {
4138
4291
  };
4139
4292
  attributes: Array<Pick<Attribute, 'key' | 'value'>>;
4140
4293
  attributeSelections: Array<Pick<AttributeSelection, 'attributeDefinitionId' | 'attributeName' | 'type' | 'fillingMode' | 'billingMode' | 'optionId' | 'optionLabel' | 'optionIds' | 'textValue' | 'surchargeAmount' | 'surchargeType' | 'taxClassId' | 'linkedVariantId'>>;
4294
+ giftCardRecipient?: Maybe<Pick<GiftCardLineRecipient, 'recipientEmail' | 'recipientName' | 'message'>>;
4141
4295
  })>;
4142
4296
  pageInfo: Pick<PageInfo, 'hasNextPage' | 'hasPreviousPage' | 'startCursor' | 'endCursor'>;
4143
4297
  });
@@ -4173,7 +4327,7 @@ export type CartUpdateNoteMutationVariables = Exact<{
4173
4327
  }>;
4174
4328
  export type CartUpdateNoteMutation = {
4175
4329
  cartUpdateNote: {
4176
- cart?: Maybe<(Pick<Cart, 'id' | 'checkoutUrl' | 'totalQuantity' | 'note' | 'email' | 'phone' | 'requiresShipping' | 'createdAt' | 'updatedAt' | 'status'> & {
4330
+ cart?: Maybe<(Pick<Cart, 'id' | 'checkoutUrl' | 'totalQuantity' | 'note' | 'email' | 'phone' | 'selectedPaymentInstrumentCode' | 'requiresShipping' | 'createdAt' | 'updatedAt' | 'status'> & {
4177
4331
  cost: {
4178
4332
  total: Pick<Money, 'amount' | 'currencyCode'>;
4179
4333
  subtotal: Pick<Money, 'amount' | 'currencyCode'>;
@@ -4200,6 +4354,7 @@ export type CartUpdateNoteMutation = {
4200
4354
  };
4201
4355
  attributes: Array<Pick<Attribute, 'key' | 'value'>>;
4202
4356
  attributeSelections: Array<Pick<AttributeSelection, 'attributeDefinitionId' | 'attributeName' | 'type' | 'fillingMode' | 'billingMode' | 'optionId' | 'optionLabel' | 'optionIds' | 'textValue' | 'surchargeAmount' | 'surchargeType' | 'taxClassId' | 'linkedVariantId'>>;
4357
+ giftCardRecipient?: Maybe<Pick<GiftCardLineRecipient, 'recipientEmail' | 'recipientName' | 'message'>>;
4203
4358
  })>;
4204
4359
  pageInfo: Pick<PageInfo, 'hasNextPage' | 'hasPreviousPage' | 'startCursor' | 'endCursor'>;
4205
4360
  });
@@ -4265,6 +4420,7 @@ export type PaymentCreateMutation = {
4265
4420
  paymentCreate: {
4266
4421
  payment?: Maybe<Pick<PaymentSession, 'id' | 'orderId' | 'flow' | 'provider' | 'redirectUrl' | 'clientSecret' | 'status' | 'expiresAt'>>;
4267
4422
  userErrors: Array<Pick<UserError, 'message' | 'code' | 'field'>>;
4423
+ warnings: Array<Pick<PaymentWarning, 'message' | 'code' | 'retryHint'>>;
4268
4424
  };
4269
4425
  };
4270
4426
  export type CustomerAddressesQueryVariables = Exact<{
@@ -4329,11 +4485,18 @@ export type CustomerSignupMutation = {
4329
4485
  };
4330
4486
  };
4331
4487
  export type AvailablePaymentMethodsFragment = {
4332
- methods: Array<Pick<PaymentMethod, 'id' | 'name' | 'provider' | 'type' | 'icon' | 'description' | 'isDefault' | 'supportedCurrencies' | 'position'>>;
4333
- defaultMethod?: Maybe<Pick<PaymentMethod, 'id' | 'name' | 'provider' | 'type' | 'icon' | 'description' | 'isDefault' | 'supportedCurrencies' | 'position'>>;
4488
+ methods: Array<(Pick<PaymentMethod, 'id' | 'name' | 'provider' | 'type' | 'icon' | 'description' | 'isDefault' | 'supportedCurrencies' | 'position' | 'providersAvailable' | 'preferredProvider' | 'available' | 'unavailableReason'> & {
4489
+ instruments?: Maybe<Array<Pick<PaymentMethodInstrument, 'providerCode' | 'instrumentCode' | 'type' | 'displayName' | 'displayHint' | 'brandImageUrl' | 'enabled'>>>;
4490
+ })>;
4491
+ defaultMethod?: Maybe<(Pick<PaymentMethod, 'id' | 'name' | 'provider' | 'type' | 'icon' | 'description' | 'isDefault' | 'supportedCurrencies' | 'position' | 'providersAvailable' | 'preferredProvider' | 'available' | 'unavailableReason'> & {
4492
+ instruments?: Maybe<Array<Pick<PaymentMethodInstrument, 'providerCode' | 'instrumentCode' | 'type' | 'displayName' | 'displayHint' | 'brandImageUrl' | 'enabled'>>>;
4493
+ })>;
4334
4494
  };
4335
- export type PaymentMethodFragment = Pick<PaymentMethod, 'id' | 'name' | 'provider' | 'type' | 'icon' | 'description' | 'isDefault' | 'supportedCurrencies' | 'position'>;
4336
- export type CartFragment = (Pick<Cart, 'id' | 'checkoutUrl' | 'totalQuantity' | 'note' | 'email' | 'phone' | 'requiresShipping' | 'createdAt' | 'updatedAt' | 'status'> & {
4495
+ export type PaymentMethodFragment = (Pick<PaymentMethod, 'id' | 'name' | 'provider' | 'type' | 'icon' | 'description' | 'isDefault' | 'supportedCurrencies' | 'position' | 'providersAvailable' | 'preferredProvider' | 'available' | 'unavailableReason'> & {
4496
+ instruments?: Maybe<Array<Pick<PaymentMethodInstrument, 'providerCode' | 'instrumentCode' | 'type' | 'displayName' | 'displayHint' | 'brandImageUrl' | 'enabled'>>>;
4497
+ });
4498
+ export type PaymentMethodInstrumentFragment = Pick<PaymentMethodInstrument, 'providerCode' | 'instrumentCode' | 'type' | 'displayName' | 'displayHint' | 'brandImageUrl' | 'enabled'>;
4499
+ export type CartFragment = (Pick<Cart, 'id' | 'checkoutUrl' | 'totalQuantity' | 'note' | 'email' | 'phone' | 'selectedPaymentInstrumentCode' | 'requiresShipping' | 'createdAt' | 'updatedAt' | 'status'> & {
4337
4500
  cost: {
4338
4501
  total: Pick<Money, 'amount' | 'currencyCode'>;
4339
4502
  subtotal: Pick<Money, 'amount' | 'currencyCode'>;
@@ -4360,6 +4523,7 @@ export type CartFragment = (Pick<Cart, 'id' | 'checkoutUrl' | 'totalQuantity' |
4360
4523
  };
4361
4524
  attributes: Array<Pick<Attribute, 'key' | 'value'>>;
4362
4525
  attributeSelections: Array<Pick<AttributeSelection, 'attributeDefinitionId' | 'attributeName' | 'type' | 'fillingMode' | 'billingMode' | 'optionId' | 'optionLabel' | 'optionIds' | 'textValue' | 'surchargeAmount' | 'surchargeType' | 'taxClassId' | 'linkedVariantId'>>;
4526
+ giftCardRecipient?: Maybe<Pick<GiftCardLineRecipient, 'recipientEmail' | 'recipientName' | 'message'>>;
4363
4527
  })>;
4364
4528
  pageInfo: Pick<PageInfo, 'hasNextPage' | 'hasPreviousPage' | 'startCursor' | 'endCursor'>;
4365
4529
  });
@@ -4410,6 +4574,7 @@ export type CartLineFragment = (Pick<CartLine, 'id' | 'quantity' | 'productId' |
4410
4574
  };
4411
4575
  attributes: Array<Pick<Attribute, 'key' | 'value'>>;
4412
4576
  attributeSelections: Array<Pick<AttributeSelection, 'attributeDefinitionId' | 'attributeName' | 'type' | 'fillingMode' | 'billingMode' | 'optionId' | 'optionLabel' | 'optionIds' | 'textValue' | 'surchargeAmount' | 'surchargeType' | 'taxClassId' | 'linkedVariantId'>>;
4577
+ giftCardRecipient?: Maybe<Pick<GiftCardLineRecipient, 'recipientEmail' | 'recipientName' | 'message'>>;
4413
4578
  });
4414
4579
  export type CartLineCostFragment = {
4415
4580
  pricePerUnit: Pick<Money, 'amount' | 'currencyCode'>;
@@ -4477,6 +4642,7 @@ export type OrderFragment = (Pick<Order, 'id' | 'orderNumber' | 'accessToken' |
4477
4642
  })>;
4478
4643
  });
4479
4644
  export type PaymentSessionFragment = Pick<PaymentSession, 'id' | 'orderId' | 'flow' | 'provider' | 'redirectUrl' | 'clientSecret' | 'status' | 'expiresAt'>;
4645
+ export type PaymentWarningFragment = Pick<PaymentWarning, 'message' | 'code' | 'retryHint'>;
4480
4646
  export type CustomerAccessTokenFieldsFragment = Pick<CustomerAccessToken, 'accessToken' | 'expiresAt'>;
4481
4647
  export type UserErrorFieldsFragment = Pick<UserError, 'message' | 'field' | 'code'>;
4482
4648
  export type CustomerFieldsFragment = (Pick<Customer, 'id' | 'email' | 'firstName' | 'lastName' | 'displayName' | 'phone' | 'isEmailVerified' | 'emailMarketing' | 'orderCount' | 'createdAt' | 'updatedAt'> & {