@delopay/sdk 0.107.0 → 0.109.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.
package/dist/index.d.ts CHANGED
@@ -3190,6 +3190,52 @@ interface MerchantAccountResponse {
3190
3190
  modified_at?: string | null;
3191
3191
  [key: string]: unknown;
3192
3192
  }
3193
+ /**
3194
+ * A partial update of a connector's `connector_webhook_details`.
3195
+ *
3196
+ * **Merged over the stored block, not swapped for it** (be#992). Each key is
3197
+ * decided on its own:
3198
+ *
3199
+ * - **absent (or the whole object omitted / `null`) — keeps** whatever is
3200
+ * stored. This is how you edit one environment's signing secret without
3201
+ * touching the other's.
3202
+ * - **an explicit value — writes**, and the empty string is an explicit value:
3203
+ * sending `''` **clears a stored secret**. That is the only way to clear one
3204
+ * once omission means "keep", so it is deliberate on the server — and it is
3205
+ * why you must never pad the fields you are not editing with `''`. A live
3206
+ * connector cleared that way stops verifying inbound webhooks, silently.
3207
+ *
3208
+ * Only send the keys the operator actually typed. `connectors.retrieve()`
3209
+ * returns `null` for `connector_webhook_details`, so there is nothing to
3210
+ * prefill from and nothing to send back; read
3211
+ * {@link ConnectorResponse.has_live_webhook_secret} /
3212
+ * {@link ConnectorResponse.has_sandbox_webhook_secret} to tell a stored secret
3213
+ * from an unconfigured one.
3214
+ *
3215
+ * The spec's `MerchantConnectorWebhookDetailsUpdate`.
3216
+ */
3217
+ interface MerchantConnectorWebhookDetailsUpdate {
3218
+ /**
3219
+ * Live-environment webhook verification secret. Omit to keep the stored one;
3220
+ * `''` clears it.
3221
+ */
3222
+ merchant_secret?: string | null;
3223
+ /**
3224
+ * Live-environment secondary secret. Omit to keep the stored one; `''`
3225
+ * clears it.
3226
+ */
3227
+ additional_secret?: string | null;
3228
+ /**
3229
+ * Sandbox-environment webhook verification secret. Omit to keep the stored
3230
+ * one; `''` clears it.
3231
+ */
3232
+ sandbox_merchant_secret?: string | null;
3233
+ /**
3234
+ * Sandbox counterpart of `additional_secret`. Omit to keep the stored one;
3235
+ * `''` clears it.
3236
+ */
3237
+ sandbox_additional_secret?: string | null;
3238
+ }
3193
3239
  interface ConnectorCreateRequest {
3194
3240
  connector_type: ConnectorType;
3195
3241
  connector_name: Connector;
@@ -3213,17 +3259,29 @@ interface ConnectorUpdateRequest {
3213
3259
  metadata?: Record<string, unknown> | null;
3214
3260
  test_mode?: boolean | null;
3215
3261
  disabled?: boolean | null;
3262
+ /**
3263
+ * **Merged key by key into the stored webhook details, not a whole-value
3264
+ * replacement** (be#992). An absent key keeps its stored value; an explicit
3265
+ * value is written, and an explicit `''` **clears** that secret.
3266
+ *
3267
+ * Send only the keys an operator typed. Padding the environment you are not
3268
+ * editing with `''` — the shape the old replacement semantics invited —
3269
+ * clears a live signing secret and breaks inbound webhook verification for
3270
+ * that connector. See {@link MerchantConnectorWebhookDetailsUpdate}.
3271
+ *
3272
+ * The other three fields below are still whole-value replacements; this one
3273
+ * alone merges.
3274
+ */
3275
+ connector_webhook_details?: MerchantConnectorWebhookDetailsUpdate | null;
3216
3276
  /**
3217
3277
  * Whole-value replacement, not a patch. Send it only when an operator typed
3218
- * a new secret; omitting it leaves the stored one alone, which is the only
3278
+ * a new value; omitting it leaves the stored one alone, which is the only
3219
3279
  * safe default now that `retrieve` returns `null` here.
3220
3280
  */
3221
- connector_webhook_details?: Record<string, unknown> | null;
3222
- /** Whole-value replacement — same rule as `connector_webhook_details`. */
3223
3281
  connector_wallets_details?: Record<string, unknown> | null;
3224
- /** Whole-value replacement — same rule as `connector_webhook_details`. */
3282
+ /** Whole-value replacement — same rule as `connector_wallets_details`. */
3225
3283
  pm_auth_config?: Record<string, unknown> | null;
3226
- /** Whole-value replacement — same rule as `connector_webhook_details`. */
3284
+ /** Whole-value replacement — same rule as `connector_wallets_details`. */
3227
3285
  additional_merchant_data?: Record<string, unknown> | null;
3228
3286
  }
3229
3287
  interface ConnectorCloneRequest {
@@ -3240,6 +3298,20 @@ interface ConnectorResponse {
3240
3298
  merchant_connector_id: string;
3241
3299
  profile_id: string;
3242
3300
  status: string;
3301
+ /**
3302
+ * Whether a LIVE webhook signing secret is stored on this connector.
3303
+ * Presence only — the secret itself never comes back on `retrieve()`, so
3304
+ * this flag is the only thing that tells a stored secret from an
3305
+ * unconfigured one. An empty stored secret reads as `false`.
3306
+ */
3307
+ has_live_webhook_secret: boolean;
3308
+ /**
3309
+ * Whether a SANDBOX webhook signing secret is stored on this connector.
3310
+ * Presence only, like its live counterpart. `false` on the many connectors
3311
+ * that issue a single secret for both environments — they store only the
3312
+ * live one.
3313
+ */
3314
+ has_sandbox_webhook_secret: boolean;
3243
3315
  connector_label?: string | null;
3244
3316
  connector_account_details?: Record<string, unknown> | null;
3245
3317
  payment_methods_enabled?: Record<string, unknown>[] | null;
@@ -6079,6 +6151,27 @@ interface CheckoutBrandingUpdate {
6079
6151
  /** Applied as a whole-object replace of `payment_link_config`. */
6080
6152
  payment_link_config?: BusinessPaymentLinkConfig | null;
6081
6153
  }
6154
+ /**
6155
+ * Response of `GET /shops/{merchant_id}/{shop_id}/checkout-branding`.
6156
+ *
6157
+ * Deliberately not a `ProfileResponse`: that carries `payment_response_hash_key`
6158
+ * — the webhook signing secret — plus the card-vault and authentication
6159
+ * configuration, and a role that may only restyle a checkout has no business
6160
+ * reading any of it. This carries what the branding editor renders and nothing
6161
+ * else.
6162
+ */
6163
+ interface CheckoutBrandingResponse {
6164
+ /** The shop (business profile) this branding belongs to. */
6165
+ profile_id: string;
6166
+ /** Name of the shop, for labelling the editor. */
6167
+ profile_name: string;
6168
+ /**
6169
+ * `null` means the shop has never been styled — the untouched default, not
6170
+ * an error. Keep the `null`: it is what tells the editor to seed its own
6171
+ * defaults rather than to render a stored, empty style.
6172
+ */
6173
+ payment_link_config: BusinessPaymentLinkConfig | null;
6174
+ }
6082
6175
  /** A VGS vault environment. */
6083
6176
  type VaultEnvironment = 'sandbox' | 'live';
6084
6177
  /** What a VGS route is for: inbound card capture or outbound reveal. */
@@ -6323,23 +6416,23 @@ interface FeatureMatrixResponse {
6323
6416
  connectors: ConnectorFeatureMatrixEntry[];
6324
6417
  }
6325
6418
  /**
6326
- * Rail a native pane is rendered and confirmed on.
6419
+ * Rail a pane is rendered and confirmed on.
6327
6420
  *
6328
6421
  * `wallet` panes are collected in-page by the connector's own SDK;
6329
6422
  * `redirect` panes hand the buyer to a connector-hosted page.
6330
6423
  */
6331
- type NativePaneRail$1 = 'wallet' | 'redirect';
6424
+ type PaneRail = 'wallet' | 'redirect';
6332
6425
  /**
6333
- * One method a connector can publish as a native pane.
6426
+ * One method a connector can publish as a pane.
6334
6427
  *
6335
6428
  * Capability facts only. There is deliberately no `label`, `sublabel` or
6336
6429
  * `category` here — presentational copy for a pane lives in the dashboard's
6337
6430
  * `en.json` / `de.json`, keyed by `key`, and never in the router.
6338
6431
  */
6339
- interface NativePaneCapability {
6432
+ interface PaneCapability {
6340
6433
  /** Stable catalogue key (`apple_pay`, `klarna`, …). The copy lookup key. */
6341
6434
  key: string;
6342
- rail: NativePaneRail$1;
6435
+ rail: PaneRail;
6343
6436
  /** Routing key sent on confirm. Pass through verbatim; never derive it. */
6344
6437
  payment_method: PaymentMethod;
6345
6438
  /** Routing key sent on confirm. Pass through verbatim; never derive it. */
@@ -6347,8 +6440,8 @@ interface NativePaneCapability {
6347
6440
  /** Whether a configuration for this method must carry a billing country. */
6348
6441
  requires_billing_country: boolean;
6349
6442
  }
6350
- /** What one connector can publish as native panes. */
6351
- interface NativePanesConnectorCatalog {
6443
+ /** What one connector can publish as panes. */
6444
+ interface PanesConnectorCatalog {
6352
6445
  /** Connector name (`stripe`, `creem`, …). */
6353
6446
  connector: string;
6354
6447
  /**
@@ -6356,12 +6449,23 @@ interface NativePanesConnectorCatalog {
6356
6449
  * this list is refused when the connector account is saved, rather than
6357
6450
  * accepted and silently dropped.
6358
6451
  */
6359
- allowed_rails: NativePaneRail$1[];
6360
- methods: NativePaneCapability[];
6452
+ allowed_rails: PaneRail[];
6453
+ methods: PaneCapability[];
6454
+ }
6455
+ interface PanesCatalogResponse {
6456
+ connectors: PanesConnectorCatalog[];
6457
+ }
6458
+ /** @deprecated Renamed to {@link PaneCapability}. Removed in 0.112.0. */
6459
+ interface NativePaneCapability extends PaneCapability {
6361
6460
  }
6362
- interface NativePanesCatalogResponse {
6363
- connectors: NativePanesConnectorCatalog[];
6461
+ /** @deprecated Renamed to {@link PanesConnectorCatalog}. Removed in 0.112.0. */
6462
+ interface NativePanesConnectorCatalog extends PanesConnectorCatalog {
6364
6463
  }
6464
+ /** @deprecated Renamed to {@link PanesCatalogResponse}. Removed in 0.112.0. */
6465
+ interface NativePanesCatalogResponse extends PanesCatalogResponse {
6466
+ }
6467
+ /** @deprecated Renamed to {@link PaneRail}. Removed in 0.112.0. */
6468
+ type NativePaneRail = PaneRail;
6365
6469
 
6366
6470
  /** Create and manage API keys for a merchant account. */
6367
6471
  declare class ApiKeys {
@@ -6635,6 +6739,11 @@ declare class Connectors {
6635
6739
  * This is the retrieve path alone. `create` and `update` echo back what the
6636
6740
  * caller sent, and `clone` returns the *copied* secrets — see that method.
6637
6741
  *
6742
+ * Because the value is gone, `has_live_webhook_secret` and
6743
+ * `has_sandbox_webhook_secret` are what tell a stored webhook signing secret
6744
+ * from an unconfigured one. Render those; never infer configuration from the
6745
+ * `null` block.
6746
+ *
6638
6747
  * `GET /account/{accountId}/connectors/{connectorId}`
6639
6748
  */
6640
6749
  retrieve(accountId: string, connectorId: string): Promise<ConnectorResponse>;
@@ -6661,18 +6770,31 @@ declare class Connectors {
6661
6770
  */
6662
6771
  getEpayoutsCatalogDefaults(accountId: string): Promise<EpayoutsCatalogResponse>;
6663
6772
  /**
6664
- * Every connector's native-pane capabilities, as the router itself knows
6665
- * them — which rails a connector supports, and which methods it can publish
6666
- * as a pane with the confirm routing keys each one carries.
6773
+ * Every connector's pane capabilities, as the router itself knows them —
6774
+ * which rails a connector supports, and which methods it can publish as a
6775
+ * pane with the confirm routing keys each one carries.
6667
6776
  *
6668
6777
  * Capability facts only: no label, sublabel or category comes back. A
6669
6778
  * designer renders a method's copy from its own locale files, keyed by
6670
6779
  * `key`, and takes `payment_method` / `payment_method_type` from here
6671
6780
  * verbatim rather than deriving them client-side.
6672
6781
  *
6782
+ * This is what the pane helpers in `src/panes.ts` should be driven from —
6783
+ * `paneMethodInfo`, `defaultPane` and `validatePanes` all take a
6784
+ * {@link PanesConnectorCatalog} out of this response, so a connector the
6785
+ * router starts publishing panes for needs no SDK release.
6786
+ *
6673
6787
  * `GET /account/{accountId}/connectors/native-panes/catalog`
6788
+ *
6789
+ * The path keeps the `native-panes` spelling deliberately. The identifiers
6790
+ * were renamed off "native pane"; the route was not, and pointing at the
6791
+ * backend's new name before it is deployed everywhere would both 404 against
6792
+ * un-upgraded replicas mid-rollout and fail `scripts/parity-check.mjs`,
6793
+ * which blocks publishing.
6674
6794
  */
6675
- getNativePanesCatalog(accountId: string): Promise<NativePanesCatalogResponse>;
6795
+ getPanesCatalog(accountId: string): Promise<PanesCatalogResponse>;
6796
+ /** @deprecated Renamed to {@link getPanesCatalog}. Removed in 0.112.0. */
6797
+ getNativePanesCatalog(accountId: string): Promise<PanesCatalogResponse>;
6676
6798
  /**
6677
6799
  * Sweep the merchant's own e-Payouts module and return the rails it
6678
6800
  * actually has enabled. Server-side this makes many upstream calls, so it
@@ -6681,6 +6803,21 @@ declare class Connectors {
6681
6803
  * `POST /account/{accountId}/connectors/{connectorId}/epayouts/catalog/sync`
6682
6804
  */
6683
6805
  syncEpayoutsCatalog(accountId: string, connectorId: string): Promise<EpayoutsCatalogResponse>;
6806
+ /**
6807
+ * Update a connector account.
6808
+ *
6809
+ * `connector_webhook_details` **merges** into the stored block key by key
6810
+ * (be#992): an absent key keeps its stored secret, an explicit value is
6811
+ * written, and an explicit empty string clears that secret. Send only the
6812
+ * keys the operator typed — padding the other environment's keys with `''`
6813
+ * clears a live signing secret and inbound webhooks stop verifying.
6814
+ *
6815
+ * The other credential-bearing fields — `connector_wallets_details`,
6816
+ * `pm_auth_config`, `additional_merchant_data` — are still whole-value
6817
+ * replacements: omit them unless you are writing a complete new value.
6818
+ *
6819
+ * `POST /account/{accountId}/connectors/{connectorId}`
6820
+ */
6684
6821
  update(accountId: string, connectorId: string, params: ConnectorUpdateRequest): Promise<ConnectorResponse>;
6685
6822
  /**
6686
6823
  * Remove a connector account.
@@ -8400,6 +8537,26 @@ declare class Shops {
8400
8537
  * @returns The updated business profile.
8401
8538
  */
8402
8539
  updateCheckoutBranding(merchantId: string, shopId: string, params: CheckoutBrandingUpdate, options?: RequestExtras): Promise<ProfileResponse>;
8540
+ /**
8541
+ * Read only the checkout appearance of a shop, so the role that may restyle a
8542
+ * checkout can load the checkout it may restyle.
8543
+ *
8544
+ * Gated on `ProfileCheckoutBrandingRead` — the read twin of the
8545
+ * `ProfileCheckoutBrandingEdit` guard on `updateCheckoutBranding` above.
8546
+ * Prefer this over `shops.retrieve` for the branding editor: `retrieve`
8547
+ * returns the whole profile, including the webhook signing key and the
8548
+ * card-vault configuration, and needs the shop-read permission for exactly
8549
+ * that reason.
8550
+ *
8551
+ * `GET /shops/{merchantId}/{shopId}/checkout-branding`
8552
+ *
8553
+ * @param merchantId - The merchant account ID.
8554
+ * @param shopId - The shop (business profile) ID whose branding to read.
8555
+ * @returns The shop's id, name and stored `payment_link_config`. That config
8556
+ * is `null` when the shop has never been styled — the untouched default, not
8557
+ * an error, and distinct from a stored-but-empty style.
8558
+ */
8559
+ retrieveCheckoutBranding(merchantId: string, shopId: string, options?: RequestExtras): Promise<CheckoutBrandingResponse>;
8403
8560
  }
8404
8561
 
8405
8562
  declare class StripeConnect {
@@ -10357,24 +10514,21 @@ declare class CheckoutSession {
10357
10514
  }
10358
10515
 
10359
10516
  /**
10360
- * How the focused external checkout charges a paned method. Decided
10361
- * server-side; the browser never picks.
10517
+ * Where a pane's tile is offered.
10362
10518
  *
10363
- * - `wallet` — the method rides inside Stripe's `card` rail (Apple Pay, Google
10364
- * Pay, Link). The focused view charges the **same** PaymentIntent the
10365
- * embedded checkout already holds, so no second intent is ever created.
10366
- * - `redirect` — the method has its own `payment_method_types[]` entry. The
10367
- * focused view confirms through the standard `/payments/{id}/confirm` rail
10368
- * and follows `next_action.redirect_to_url`.
10369
- */
10370
- type NativePaneRail = 'wallet' | 'redirect';
10371
- /**
10372
- * Where a pane's tile is offered. Wallet rail only a redirect pane is
10373
- * suppressed server-side, before any render knows whether it is framed, so
10374
- * `embedded_only` there would leave the method unpayable at top level and the
10375
- * router forces it back to `always`.
10519
+ * - `always` — wherever the checkout renders.
10520
+ * - `embedded_only` inside a merchant iframe only, which keeps the wallet
10521
+ * inside the connector's own form at top level.
10522
+ * - `external_only` — the inverse: only when the checkout renders at top level
10523
+ * (a hosted payment link or the focused view), hidden inside a merchant
10524
+ * iframe.
10525
+ *
10526
+ * Wallet rail only. A redirect pane is suppressed server-side, before any
10527
+ * render knows whether it is framed, so a framing-dependent value there would
10528
+ * leave the method unpayable on one side and the router forces it back to
10529
+ * `always`.
10376
10530
  */
10377
- type NativePaneVisibility = 'always' | 'embedded_only';
10531
+ type PaneVisibility = 'always' | 'embedded_only' | 'external_only';
10378
10532
  /**
10379
10533
  * How the embedded checkout opens a pane's focused view: a new browser tab
10380
10534
  * (`tab`, the historical behaviour) or a centred popup window (`popup`).
@@ -10382,61 +10536,137 @@ type NativePaneVisibility = 'always' | 'embedded_only';
10382
10536
  * render always navigates in place. Browsers that refuse popup windows fall
10383
10537
  * back to a tab on their own.
10384
10538
  */
10385
- type NativePaneOpenTarget = 'tab' | 'popup';
10539
+ type PaneOpenTarget = 'tab' | 'popup';
10386
10540
  /**
10387
- * One native pane exactly as the merchant configures it. Persisted (JSON) under
10388
- * `metadata.native_panes` on the Stripe merchant connector account.
10541
+ * One pane exactly as the merchant configures it. Persisted (JSON) under
10542
+ * `metadata.native_panes` on the merchant connector account.
10389
10543
  *
10390
10544
  * Field names are the wire contract — renaming one is a migration. The router
10391
10545
  * decodes strictly row by row: a row that fails strict decoding (e.g. a
10392
10546
  * wrong-typed field like `display_order: "3"`) is dropped whole with a server
10393
- * log, and the remaining rows still render. This SDK's
10394
- * {@link decodeNativePanes} is additionally per-property tolerant — including
10395
- * clamping `display_order` into the router's `i32` range — so a decode→encode
10396
- * round-trip through the SDK repairs a blob the router would partially drop.
10547
+ * log, and the remaining rows still render. This SDK's {@link decodePanes} is
10548
+ * additionally per-property tolerant — including clamping `display_order` into
10549
+ * the router's `i32` range — so a decode→encode round-trip through the SDK
10550
+ * repairs a blob the router would partially drop.
10397
10551
  */
10398
- interface StripeNativePane {
10399
- /** Catalog key of the promoted method — see {@link STRIPE_NATIVE_PANE_METHODS}. */
10552
+ interface Pane {
10553
+ /** Catalogue key of the promoted method — see {@link paneMethodInfo}. */
10400
10554
  method: string;
10401
10555
  /** Disabled rows keep their tuning but never reach a buyer. */
10402
10556
  enabled: boolean;
10403
- /** Default-language tile label. Empty falls back to the catalog name. */
10557
+ /** Default-language tile label. Empty falls back to the catalogue name. */
10404
10558
  label: string;
10405
10559
  /** Per-locale overrides of `label`, keyed by checkout locale (`de`, `de-AT`). */
10406
10560
  labelTranslations: Record<string, string>;
10407
10561
  /**
10408
- * Secondary line under the label. `null` means "use the catalog default";
10562
+ * Secondary line under the label. `null` means "use the catalogue default";
10409
10563
  * an empty string means the merchant deliberately hid the line. That
10410
10564
  * distinction is the whole reason this is nullable and `label` is not.
10411
10565
  */
10412
10566
  sublabel: string | null;
10413
10567
  /** Per-locale overrides of `sublabel`. */
10414
10568
  sublabelTranslations: Record<string, string>;
10415
- /** Section the tile groups under. Empty falls back to the catalog category. */
10569
+ /** Section the tile groups under. Empty falls back to the catalogue category. */
10416
10570
  category: string;
10417
- /** Built-in icon key — see {@link NATIVE_PANE_ICON_KEYS}. */
10571
+ /** Built-in icon key — see {@link PANE_ICON_KEYS}. */
10418
10572
  icon: string;
10419
10573
  /** Custom inline SVG. Sanitized server-side before it reaches a buyer; a
10420
10574
  * rejected payload falls back to the built-in `icon`. */
10421
10575
  iconSvg: string;
10422
- /** Lower renders first; ties break on catalog order. */
10576
+ /** Lower renders first; ties break on catalogue order. */
10423
10577
  displayOrder: number;
10424
- /** `embedded_only` keeps the wallet inside Stripe's form at top level. */
10425
- visibility: NativePaneVisibility;
10426
- /** How the embedded checkout opens the focused view — see {@link NativePaneOpenTarget}. */
10427
- openIn: NativePaneOpenTarget;
10578
+ /** Where the tile is offered see {@link PaneVisibility}. */
10579
+ visibility: PaneVisibility;
10580
+ /** How the embedded checkout opens the focused view — see {@link PaneOpenTarget}. */
10581
+ openIn: PaneOpenTarget;
10428
10582
  }
10429
10583
  /**
10430
- * One resolved native pane as the buyer-facing checkout receives it on the
10584
+ * One resolved pane as the buyer-facing checkout receives it on the
10431
10585
  * payment-link payload (`native_panes`). Labels are already localized for the
10432
10586
  * render's locale and icons already sanitized — snake_case because this is the
10433
10587
  * API wire shape, not the editor's.
10434
10588
  */
10435
- interface NativePaneView {
10589
+ interface PaneView {
10436
10590
  method: string;
10437
- rail: NativePaneRail;
10591
+ /**
10592
+ * Connector brand that owns this pane (`stripe`, `klarna`, …).
10593
+ *
10594
+ * Pass straight to {@link focusedCheckoutUrl}'s `connector` to mint a link
10595
+ * that resolves to this tile and no other: `method` alone is ambiguous the
10596
+ * moment two connectors publish one key, and a bare `pane=` then resolves to
10597
+ * whichever tile sorts first server-side.
10598
+ *
10599
+ * It names a brand, not an account — {@link PaneView.merchant_connector_id}
10600
+ * is what separates two accounts of the same connector.
10601
+ *
10602
+ * Optional only because a router predating the field omits it; every router
10603
+ * that has it always serializes it, and it is never `null`.
10604
+ */
10605
+ connector?: string;
10606
+ /**
10607
+ * Merchant connector **account** this pane was configured on.
10608
+ *
10609
+ * Pass straight to {@link focusedCheckoutUrl}'s `merchantConnectorId`. The
10610
+ * checkout echoes this back on confirm as `native_pane_merchant_connector_id`
10611
+ * and the router re-validates it against the profile's live accounts, so a
10612
+ * pane charges the credentials it was configured on rather than a sibling
10613
+ * account's.
10614
+ *
10615
+ * Absent on the wallet rail — that rail charges the PaymentIntent the card
10616
+ * connector already created, so there is no routing decision to pin — and on
10617
+ * payloads predating the field. Omitted rather than `null` when unset.
10618
+ */
10619
+ merchant_connector_id?: string;
10620
+ rail: PaneRail;
10438
10621
  label: string;
10439
10622
  sublabel: string;
10623
+ /**
10624
+ * `true` when {@link PaneView.label} is the router's compiled catalog
10625
+ * default rather than anything the merchant typed.
10626
+ *
10627
+ * The catalog defaults are compiled in English only — the merchant's
10628
+ * `labelTranslations` are the sole localized path — so a merchant who
10629
+ * configures nothing gets an English tile label under a translated section
10630
+ * heading. This flag is what lets a localizing surface substitute its own
10631
+ * copy for exactly those tiles and leave merchant-authored ones alone.
10632
+ *
10633
+ * Key that copy on `method` alone. Two connectors may publish one key —
10634
+ * Cryptomus and NOWPayments both publish `crypto`, Stripe and Klarna both
10635
+ * publish `klarna` — and the catalog copy is identical for both on purpose.
10636
+ * What tells such a pair apart is
10637
+ * {@link PaneView.connector_display_name}, which is not translated and must
10638
+ * be appended to whichever copy wins.
10639
+ *
10640
+ * Absent on payloads that predate the field, which read as `false` —
10641
+ * merchant-authored, so nothing gets rewritten.
10642
+ */
10643
+ label_is_default?: boolean;
10644
+ /**
10645
+ * `true` when {@link PaneView.sublabel} is the router's compiled catalog
10646
+ * default. Same contract as {@link PaneView.label_is_default}.
10647
+ *
10648
+ * An explicitly-empty sublabel is a merchant decision ("hide the second
10649
+ * line") and reports `false`, so substituting copy there would restore a
10650
+ * line they deliberately cleared.
10651
+ */
10652
+ sublabel_is_default?: boolean;
10653
+ /**
10654
+ * The connector's brand, present **only** when this render would otherwise
10655
+ * show two tiles a buyer cannot tell apart — a merchant running both
10656
+ * Cryptomus and NOWPayments, or both Klarna rails.
10657
+ *
10658
+ * Append it to the sublabel you render (`` `${sublabel} · ${name}` ``).
10659
+ * It travels separately from {@link PaneView.sublabel} precisely because that
10660
+ * string is replaced wholesale when {@link PaneView.sublabel_is_default} is
10661
+ * set: a brand baked into it would be discarded with it, collapsing the two
10662
+ * tiles again. Do not translate it — brand names are the same in every
10663
+ * locale, which is why it can arrive as data at all.
10664
+ *
10665
+ * Absent for the common case of one connector per method. A merchant with
10666
+ * only Stripe must never read "· via Stripe" on a tile there is nothing
10667
+ * to distinguish it from.
10668
+ */
10669
+ connector_display_name?: string | null;
10440
10670
  category: string;
10441
10671
  icon?: string | null;
10442
10672
  icon_svg?: string | null;
@@ -10453,54 +10683,266 @@ interface NativePaneView {
10453
10683
  * variant's `billing_country`.
10454
10684
  */
10455
10685
  requires_billing_country?: boolean;
10456
- /** `true` when the tile is only offered inside an iframe. Wallet rail only. */
10686
+ /**
10687
+ * `true` when the tile is only offered inside an iframe. Wallet rail only.
10688
+ *
10689
+ * Superseded by {@link PaneView.visibility}, which carries all three states,
10690
+ * and kept by the router at exactly its historical meaning (`rail ===
10691
+ * 'wallet' && visibility === 'embedded_only'`) so checkout builds that
10692
+ * predate that field keep working. Such a build reads an `external_only`
10693
+ * pane as `embedded_only: false` and shows it in the embed too — it
10694
+ * over-shows, which loses a placement rule, rather than hiding a tile the
10695
+ * buyer needs. Read {@link paneViewVisibility} instead of either field.
10696
+ */
10457
10697
  embedded_only?: boolean;
10698
+ /**
10699
+ * Which render contexts this tile is offered in.
10700
+ *
10701
+ * **This is the resolved value, not the merchant's stored one, and the two do
10702
+ * not round-trip.** The router coerces anything the render path cannot
10703
+ * honour before emitting: a pane whose suppression is decided server-side
10704
+ * reads `always` here whatever the merchant configured. Stripe's redirect
10705
+ * panes are the case to know about — the router forces every redirect-rail
10706
+ * pane back to `always` (suppression happens before any render knows whether
10707
+ * it is framed), so a redirect pane stored as `embedded_only` on the config
10708
+ * {@link Pane} still arrives here as `always`. Do not read this field back as
10709
+ * the merchant's setting; read {@link Pane.visibility} off the connector
10710
+ * account's `metadata.native_panes` for that.
10711
+ *
10712
+ * Optional because a router predating this field omits it, not because the
10713
+ * router ever skips it: it is always serialized once present. A value
10714
+ * outside the union can also arrive from a router newer than this SDK, so
10715
+ * read it through {@link paneViewVisibility} rather than comparing it
10716
+ * directly.
10717
+ */
10718
+ visibility?: PaneVisibility;
10458
10719
  /**
10459
10720
  * How the embedded checkout opens this tile's focused view. Absent on
10460
10721
  * payloads from older backends — treat as `tab`.
10461
10722
  */
10462
- open_in?: NativePaneOpenTarget;
10723
+ open_in?: PaneOpenTarget;
10463
10724
  }
10464
10725
  /**
10465
- * Methods that may be promoted to a native pane.
10726
+ * Read a resolved tile's placement rule, across every payload version.
10727
+ *
10728
+ * Prefer this to touching either field. They are independent on the wire — a
10729
+ * payload may carry either, both or neither — and each alone loses a placement
10730
+ * rule: `embedded_only` cannot express `external_only`, so an `external_only`
10731
+ * tile read through it renders inside the merchant iframe the merchant asked
10732
+ * to keep it out of; `visibility` is absent on a router that predates it, so
10733
+ * an `embedded_only` tile read through it alone renders at top level too,
10734
+ * duplicating a method Stripe's own form already offers there.
10735
+ *
10736
+ * A recognised `visibility` wins. Otherwise the legacy boolean answers: absent
10737
+ * (old router) it carries the only placement that router could express, and
10738
+ * unrecognised (newer router) the router still sets it under its own fixed
10739
+ * rule. Neither path throws, and both degrade toward showing a tile — losing a
10740
+ * placement rule, never stranding a method.
10741
+ */
10742
+ declare function paneViewVisibility(view: Pick<PaneView, 'visibility' | 'embedded_only'>): PaneVisibility;
10743
+ /**
10744
+ * A method the frozen Stripe fallback table knows, with the compiled copy the
10745
+ * router shipped for it at the time.
10466
10746
  *
10467
- * **The router owns this list** `core::payment_link::native_panes::CATALOG` in
10468
- * delopay-backend. This is a mirror so SDK consumers can validate or offer the
10469
- * promotable methods without a round-trip; keep it in sync when the router's
10470
- * catalog changes (the control-center keeps its own copy in
10471
- * `native-panes.model.ts`). Drift is safe in one direction only: the backend
10472
- * silently drops a key it does not know, so a stale entry here produces a row
10473
- * that never renders rather than a broken checkout.
10747
+ * Only {@link STRIPE_FALLBACK_PANE_METHODS} is typed with this. The live
10748
+ * catalogue (`connectors.getPanesCatalog()`) carries capability facts and no
10749
+ * copy at all, by design see {@link PaneCapability}.
10474
10750
  */
10475
- interface NativePaneMethodInfo {
10751
+ interface PaneMethodInfo {
10476
10752
  key: string;
10477
- rail: NativePaneRail;
10478
- /** Catalog default label, shown as the editor's placeholder. */
10753
+ rail: PaneRail;
10754
+ /** Confirm routing key. Pass through verbatim; never derive it. */
10755
+ paymentMethod: string;
10756
+ /** Confirm routing key. Pass through verbatim; never derive it. */
10757
+ paymentMethodType: string;
10758
+ /** The focused checkout has to collect a billing country to confirm this. */
10759
+ requiresBillingCountry: boolean;
10760
+ /** Catalogue default label, shown as the editor's placeholder. */
10479
10761
  defaultLabel: string;
10480
- /** Catalog default sub-text. */
10762
+ /** Catalogue default sub-text. */
10481
10763
  defaultSublabel: string;
10482
- /** Catalog default section. */
10764
+ /** Catalogue default section. */
10483
10765
  defaultCategory: string;
10484
- /** Catalog default icon key. */
10766
+ /** Catalogue default icon key. */
10485
10767
  defaultIcon: string;
10486
10768
  }
10487
- declare const STRIPE_NATIVE_PANE_METHODS: readonly NativePaneMethodInfo[];
10488
- /** Built-in tile icon keys the buyer-facing checkout ships a glyph for. */
10489
- declare const NATIVE_PANE_ICON_KEYS: readonly string[];
10490
- /** Section keys the checkout knows a translated header for. */
10491
- declare const NATIVE_PANE_CATEGORY_KEYS: readonly string[];
10769
+ /**
10770
+ * What this SDK assumes when the router cannot answer.
10771
+ *
10772
+ * The capability endpoint shipped with delopay-backend#964 and does not exist
10773
+ * on an older router, which answers `connectors.getPanesCatalog()` with a 404.
10774
+ * Rather than leaving a caller with nothing, the pane helpers default to
10775
+ * exactly the behaviour they had before that endpoint existed: panes on the
10776
+ * Stripe connector only, with the method set the router's Stripe catalogue had
10777
+ * at the time.
10778
+ *
10779
+ * **This is a degradation path, not a mirror. Do not keep it in sync by hand,
10780
+ * and do not add a connector or a method to it** — that is what this table was
10781
+ * before this ticket, and adding to it would quietly rebuild the mirror. A
10782
+ * connector the router serves panes for arrives through the endpoint and needs
10783
+ * no entry here; a connector that needs an entry here to appear is a connector
10784
+ * the router will not deliver panes for anyway.
10785
+ *
10786
+ * The only reason to touch this list is to correct what Stripe's catalogue
10787
+ * looked like *before* the endpoint existed, and that is history, so there is
10788
+ * no such reason. Once the endpoint is reachable it is never consulted for a
10789
+ * connector the router answered for.
10790
+ *
10791
+ * The redirect-rail set is deliberately narrow — every entry is a variant the
10792
+ * Stripe connector accepts and that needs no extra buyer input beyond a
10793
+ * billing country. `eps` / `p24` / `bancontact` are absent because Stripe
10794
+ * hard-requires billing fields the focused checkout never collects (a full
10795
+ * name for EPS and Bancontact, an email for Przelewy24), so their tiles could
10796
+ * never succeed.
10797
+ *
10798
+ * `defaultLabel` / `defaultSublabel` are the copy the router compiled at that
10799
+ * time and are frozen with the rest of the table. Copy for a method the live
10800
+ * catalogue reports belongs to the consumer's own locale files, keyed by
10801
+ * `key` — the router ships none.
10802
+ */
10803
+ declare const STRIPE_FALLBACK_PANE_METHODS: readonly PaneMethodInfo[];
10804
+ /**
10805
+ * {@link STRIPE_FALLBACK_PANE_METHODS} in the shape the live endpoint returns,
10806
+ * so every helper below takes one type of catalogue and the degradation path
10807
+ * is not a second code path. Derived, not written out: two spellings of one
10808
+ * table is exactly the drift this ticket removed.
10809
+ */
10810
+ declare const STRIPE_FALLBACK_PANE_CATALOG: PanesConnectorCatalog;
10811
+ /**
10812
+ * An empty catalogue — a connector the router does not offer panes for.
10813
+ * Exported so callers can express "asked, and the answer was no" without
10814
+ * reaching for `null` in the middle of a computation.
10815
+ */
10816
+ declare function emptyPaneCatalog(connector: string): PanesConnectorCatalog;
10817
+ /**
10818
+ * Pull one connector's entry out of a `connectors.getPanesCatalog()` response.
10819
+ *
10820
+ * Returns {@link emptyPaneCatalog} for a connector the response does not name:
10821
+ * "the router knows this connector and publishes no panes for it" and "the
10822
+ * router has never heard of it" are the same answer to a caller building an
10823
+ * editor, and both mean "offer nothing".
10824
+ */
10825
+ declare function paneCatalogFor(response: PanesCatalogResponse, connector: string): PanesConnectorCatalog;
10826
+ /**
10827
+ * Built-in tile icon keys the buyer-facing checkout ships a glyph for.
10828
+ *
10829
+ * Reconciled against both ends: every key here has a branch in the checkout's
10830
+ * `NativePaneIcon.svelte`, and every `default_icon` the router's catalogue
10831
+ * publishes is in this list. An icon key the checkout does not ship falls
10832
+ * through to `wallet` there, so a key that drifts in renders as the wrong
10833
+ * glyph rather than as nothing.
10834
+ */
10835
+ declare const PANE_ICON_KEYS: readonly string[];
10836
+ /**
10837
+ * Section keys a pane's tile may group under.
10838
+ *
10839
+ * Reconciled against the router's actual `default_category` values rather than
10840
+ * against what the Stripe table happened to need. `crypto` and `game_items`
10841
+ * are router defaults (the Cryptomus/NowPayments and Skinsback catalogues) and
10842
+ * were missing here, so a merchant configuring one of those panes was shown a
10843
+ * category their editor did not recognise.
10844
+ *
10845
+ * A custom value is allowed and renders as its own section under that literal
10846
+ * text. The buyer-facing checkout translates a subset of these into a section
10847
+ * header and falls through to the raw key for the rest — `crypto` and
10848
+ * `game_items` are the two it has yet to add, tracked in delopay-checkout#70.
10849
+ */
10850
+ declare const PANE_CATEGORY_KEYS: readonly string[];
10492
10851
  /**
10493
10852
  * Mirror of the router's per-connector cap. Counted differently on each side:
10494
- * {@link decodeNativePanes} stops after 12 *decoded* rows (entries with a
10495
- * usable, non-duplicate `method` — junk and duplicate entries don't consume a
10496
- * slot), while the router caps *accepted* panes (enabled, known,
10497
- * deduplicated) at 12 — so an oversized hand-written blob may render a pane
10498
- * this decoder drops. Blobs the SDK itself encodes never exceed the cap.
10853
+ * {@link decodePanes} stops after 12 *decoded* rows (entries with a usable,
10854
+ * non-duplicate `method` — junk and duplicate entries don't consume a slot),
10855
+ * while the router caps *accepted* panes (enabled, known, deduplicated) at 12
10856
+ * — so an oversized hand-written blob may render a pane this decoder drops.
10857
+ * Blobs the SDK itself encodes never exceed the cap.
10858
+ */
10859
+ declare const PANES_MAX = 12;
10860
+ /**
10861
+ * Look a method up in one connector's catalogue.
10862
+ *
10863
+ * Pass the entry for the connector being configured, from
10864
+ * `connectors.getPanesCatalog()` via {@link paneCatalogFor}. The default is
10865
+ * the degradation path and only correct for Stripe on a router that predates
10866
+ * the endpoint — see {@link STRIPE_FALLBACK_PANE_CATALOG}.
10867
+ */
10868
+ declare function paneMethodInfo(method: string, catalog?: PanesConnectorCatalog): PaneCapability | undefined;
10869
+ /** Whether this connector may declare a pane on `rail` at all. A wallet pane
10870
+ * on a connector outside its `allowed_rails` is refused at save time — the
10871
+ * wallet rail rides on Stripe's Express Checkout Element charging the *same*
10872
+ * payment intent the embedded checkout holds, which does not generalise. */
10873
+ declare function paneRailAllowed(rail: PaneRail, catalog: PanesConnectorCatalog): boolean;
10874
+ /**
10875
+ * The methods a caller may actually offer for this connector: the catalogue's
10876
+ * own list, minus anything on a rail the connector does not allow.
10877
+ *
10878
+ * The router should not report such a pair in the first place, but the two
10879
+ * fields are independent in the response and a save that crosses them is
10880
+ * refused at the API with an error naming the connector and the method. Filter
10881
+ * rather than trust, so a merchant never configures a tile the save will
10882
+ * bounce.
10883
+ */
10884
+ declare function offerablePaneMethods(catalog: PanesConnectorCatalog): PaneCapability[];
10885
+ /** Non-copy display defaults for a tile: which built-in glyph and which
10886
+ * section heading a new pane starts on. */
10887
+ interface PaneDisplayDefaults {
10888
+ icon: string;
10889
+ category: string;
10890
+ }
10891
+ /**
10892
+ * What a new tile looks like before the merchant designs it.
10893
+ *
10894
+ * The router serves capability, not presentation, so the glyph and the section
10895
+ * come from here and the accompanying text comes from the caller's own locale
10896
+ * files. A method with no entry at all still resolves — that is the point of
10897
+ * deriving from `payment_method`: a connector added to the router's catalogue
10898
+ * tomorrow needs no SDK release to be designable today.
10499
10899
  */
10500
- declare const NATIVE_PANES_MAX = 12;
10501
- declare function nativePaneMethodInfo(method: string): NativePaneMethodInfo | undefined;
10502
- declare function defaultNativePane(method: string): StripeNativePane;
10503
- declare function cloneNativePane(pane: StripeNativePane): StripeNativePane;
10900
+ declare function paneDisplayDefaults(info: PaneCapability | undefined): PaneDisplayDefaults;
10901
+ /**
10902
+ * Why a configured pane would not survive a save or a render.
10903
+ *
10904
+ * - `method_unknown` — the connector's catalogue does not publish this key, so
10905
+ * the router drops the row at render.
10906
+ * - `rail_not_allowed` — the method's rail is not in the connector's
10907
+ * `allowed_rails`; the API refuses this at save time.
10908
+ * - `over_cap` — past the router's per-connector cap of {@link PANES_MAX}; the
10909
+ * row is stored but never rendered.
10910
+ * - `duplicate_method` — an earlier enabled row already claims this method.
10911
+ * The router skips disabled rows and then dedupes, so the first *enabled*
10912
+ * row renders and every later one is dropped in silence. Reported on the
10913
+ * losing rows, never on the one that survives.
10914
+ */
10915
+ type PaneIssueCode = 'method_unknown' | 'rail_not_allowed' | 'over_cap' | 'duplicate_method';
10916
+ interface PaneIssue {
10917
+ /** Index into the list handed to {@link validatePanes}. */
10918
+ index: number;
10919
+ method: string;
10920
+ code: PaneIssueCode;
10921
+ }
10922
+ /**
10923
+ * Check a configured list against one connector's catalogue, before writing it
10924
+ * to `metadata.native_panes`.
10925
+ *
10926
+ * The API applies the same rules at save time, so this changes where the
10927
+ * merchant finds out, not whether they do — and an SDK caller building an
10928
+ * editor would otherwise learn it from a bounced request with no row to point
10929
+ * at. An empty result means nothing here will be refused or silently dropped.
10930
+ */
10931
+ declare function validatePanes(panes: readonly Pane[], catalog?: PanesConnectorCatalog): PaneIssue[];
10932
+ /**
10933
+ * A new pane for `method`, with its glyph and section resolved from the
10934
+ * connector's catalogue entry rather than from a Stripe-keyed table — so
10935
+ * `defaultPane('creem_checkout', catalog)` is a designed tile and not a blank
10936
+ * one.
10937
+ *
10938
+ * Pass the catalogue entry for the connector being configured; the default is
10939
+ * the degradation path (see {@link STRIPE_FALLBACK_PANE_CATALOG}). Labels are
10940
+ * deliberately left empty: empty means "use the catalogue default", which the
10941
+ * router resolves at render, and the router ships no copy for a caller to
10942
+ * mirror.
10943
+ */
10944
+ declare function defaultPane(method: string, catalog?: PanesConnectorCatalog): Pane;
10945
+ declare function clonePane(pane: Pane): Pane;
10504
10946
  /**
10505
10947
  * Decode the stored `metadata.native_panes` blob into editor rows.
10506
10948
  *
@@ -10508,32 +10950,53 @@ declare function cloneNativePane(pane: StripeNativePane): StripeNativePane;
10508
10950
  * property, rows without a usable `method` are dropped, duplicates keep the
10509
10951
  * first occurrence — except that an enabled row wins over an earlier disabled
10510
10952
  * one for the same method, because that is the row the router renders — and
10511
- * decoding stops after {@link NATIVE_PANES_MAX} decoded
10512
- * rows (dropped junk/duplicate entries don't consume a slot). That is more
10513
- * forgiving than the router, which drops a strict-decode-failing row whole
10514
- * (keeping the rest) and caps accepted panes rather than decoded rows — see
10515
- * {@link StripeNativePane} and {@link NATIVE_PANES_MAX}. Returns `null` when
10516
- * the input is not an array so the caller can distinguish "never configured"
10517
- * from "cleared".
10953
+ * decoding stops after {@link PANES_MAX} decoded rows (dropped junk/duplicate
10954
+ * entries don't consume a slot). That is more forgiving than the router, which
10955
+ * drops a strict-decode-failing row whole (keeping the rest) and caps accepted
10956
+ * panes rather than decoded rows — see {@link Pane} and {@link PANES_MAX}.
10957
+ * Returns `null` when the input is not an array so the caller can distinguish
10958
+ * "never configured" from "cleared".
10518
10959
  */
10519
- declare function decodeNativePanes(raw: unknown): StripeNativePane[] | null;
10960
+ declare function decodePanes(raw: unknown): Pane[] | null;
10520
10961
  /**
10521
10962
  * Encode editor rows back into the snake_case blob the connector account
10522
10963
  * stores. Empty optional strings are omitted so the metadata stays small and a
10523
- * merchant who typed nothing round-trips as "use the catalog default" rather
10964
+ * merchant who typed nothing round-trips as "use the catalogue default" rather
10524
10965
  * than as an explicit empty override.
10525
10966
  *
10526
10967
  * `sublabel` is the exception: an explicitly-empty value is preserved (as `""`)
10527
10968
  * because that is how a merchant hides the second line.
10528
10969
  */
10529
- declare function encodeNativePanes(panes: StripeNativePane[]): Record<string, unknown>[];
10970
+ declare function encodePanes(panes: Pane[]): Record<string, unknown>[];
10530
10971
  interface FocusedCheckoutUrlParams {
10531
10972
  /** Base URL of the DeloPay hosted checkout, e.g. `https://checkout.delopay.net`. */
10532
10973
  checkoutBaseUrl: string;
10533
10974
  merchantId: string;
10534
10975
  paymentId: string;
10535
- /** Native-pane method key to focus on (`apple_pay`, `klarna`, …). */
10976
+ /** Pane method key to focus on (`apple_pay`, `klarna`, …). */
10536
10977
  method: string;
10978
+ /**
10979
+ * Connector that owns the tile, forwarded as `connector=`.
10980
+ *
10981
+ * A bare `pane=` resolves to the **first payable match in server-sorted
10982
+ * order**, which is unambiguous only while one connector publishes a given
10983
+ * key. Stripe publishes `klarna` and so does the Klarna connector, so a deep
10984
+ * link that names neither charges through whichever tile happens to sort
10985
+ * first. Name the connector whenever you know it.
10986
+ *
10987
+ * Optional because links minted before this parameter existed are already in
10988
+ * merchants' pages and still have to resolve.
10989
+ */
10990
+ connector?: string;
10991
+ /**
10992
+ * Merchant connector ACCOUNT that owns the tile, forwarded as `mca=`.
10993
+ *
10994
+ * Needed for the same reason `connector` is, one level down: a profile may
10995
+ * hold two enabled accounts of one connector, each publishing its own tile,
10996
+ * and the two links would otherwise be identical. Only meaningful alongside
10997
+ * `connector`.
10998
+ */
10999
+ merchantConnectorId?: string;
10537
11000
  /** Optional buyer locale, forwarded as `?locale=`. */
10538
11001
  locale?: string;
10539
11002
  /**
@@ -10553,18 +11016,25 @@ interface FocusedCheckoutUrlParams {
10553
11016
  *
10554
11017
  * Two callers:
10555
11018
  * - the embedded checkout, which opens this in a new tab when a buyer clicks
10556
- * a native pane tile, and
11019
+ * a pane tile, and
10557
11020
  * - a merchant running their own checkout, who puts it behind their own
10558
11021
  * button — the same mechanism without an iframe.
10559
11022
  *
10560
- * `method` is not limited to configured native panes. A configured Stripe
10561
- * native pane gets the focused one-button view; `card`, `paypal`,
10562
- * `crypto_currency` and the local-methods catalogs (by method key or vendor
10563
- * code) open the checkout pinned to that method. Methods that exist only as a
10564
- * tab inside Stripe's Payment Element — iDEAL, Bancontact, P24 and the like,
10565
- * unless promoted to a native pane — cannot be isolated, because Stripe owns
10566
- * that surface. An unknown or unavailable method is never a dead end: the
10567
- * checkout shows a notice with a visible "show all payment methods" action.
11023
+ * `method` is not limited to configured panes. A configured pane gets the
11024
+ * focused one-button view; `card`, `paypal`, `crypto_currency` and the
11025
+ * local-methods catalogs (by method key or vendor code) open the checkout
11026
+ * pinned to that method. Methods that exist only as a tab inside a connector's
11027
+ * own embedded form — iDEAL, Bancontact, P24 and the like, unless promoted to
11028
+ * a pane — cannot be isolated, because the connector owns that surface. An
11029
+ * unknown or unavailable method is never a dead end: the checkout shows a
11030
+ * notice with a visible "show all payment methods" action.
11031
+ *
11032
+ * Pass {@link FocusedCheckoutUrlParams.connector} (and
11033
+ * {@link FocusedCheckoutUrlParams.merchantConnectorId}) whenever you know
11034
+ * them. Without them the method key alone picks the first payable match, and
11035
+ * more than one connector can publish the same key. Omitting them produces
11036
+ * exactly the URL this function has always produced, so links already minted
11037
+ * are unaffected.
10568
11038
  *
10569
11039
  * Open it **at the top level** (a new tab or a full-page navigation). The whole
10570
11040
  * point is that the top-level domain is the registered payment method domain;
@@ -10581,8 +11051,81 @@ declare function focusedCheckoutUrl(params: FocusedCheckoutUrlParams): string;
10581
11051
  * status timeline. Written through
10582
11052
  * `POST /payment-link/{merchant_id}/{payment_id}/checkout-events`, authorized
10583
11053
  * with the payment's `client_secret` as a bearer token.
11054
+ *
11055
+ * The `native_pane_` prefix is the router's enum on the wire and does not move
11056
+ * with the rename — see the module header.
10584
11057
  */
10585
11058
  declare const CHECKOUT_EVENT_KINDS: readonly ["native_pane_selected", "native_pane_tab_opened", "native_pane_tab_blocked", "native_pane_abandoned", "native_pane_returned"];
10586
11059
  type CheckoutEventKind = (typeof CHECKOUT_EVENT_KINDS)[number];
11060
+ /** @deprecated Renamed to {@link Pane}. Removed in 0.112.0. */
11061
+ type StripeNativePane = Pane;
11062
+ /** @deprecated Renamed to {@link PaneView}. Removed in 0.112.0. */
11063
+ type NativePaneView = PaneView;
11064
+ /** @deprecated Renamed to {@link PaneVisibility}. Removed in 0.112.0. */
11065
+ type NativePaneVisibility = PaneVisibility;
11066
+ /** @deprecated Renamed to {@link PaneOpenTarget}. Removed in 0.112.0. */
11067
+ type NativePaneOpenTarget = PaneOpenTarget;
11068
+ /**
11069
+ * @deprecated Superseded by {@link PaneMethodInfo}. Removed in 0.112.0.
11070
+ *
11071
+ * Deliberately **not** an alias of `PaneMethodInfo`: that type gained three
11072
+ * required routing fields (`paymentMethod`, `paymentMethodType`,
11073
+ * `requiresBillingCountry`), and a consumer who wrote an object literal or a
11074
+ * function return against the 0.108 shape would stop compiling on a deprecated
11075
+ * name that promises the opposite. This stays the six fields that shape had.
11076
+ *
11077
+ * `PaneMethodInfo` is structurally assignable to it, so everything this SDK
11078
+ * hands back — including {@link nativePaneMethodInfo} — still satisfies it.
11079
+ */
11080
+ interface NativePaneMethodInfo {
11081
+ key: string;
11082
+ rail: PaneRail;
11083
+ /** Catalogue default label, shown as the editor's placeholder. */
11084
+ defaultLabel: string;
11085
+ /** Catalogue default sub-text. */
11086
+ defaultSublabel: string;
11087
+ /** Catalogue default section. */
11088
+ defaultCategory: string;
11089
+ /** Catalogue default icon key. */
11090
+ defaultIcon: string;
11091
+ }
11092
+ /**
11093
+ * @deprecated Renamed to {@link STRIPE_FALLBACK_PANE_METHODS}, which is a
11094
+ * degradation path and not a catalogue mirror. Removed in 0.112.0.
11095
+ */
11096
+ declare const STRIPE_NATIVE_PANE_METHODS: readonly PaneMethodInfo[];
11097
+ /** @deprecated Renamed to {@link PANE_ICON_KEYS}. Removed in 0.112.0. */
11098
+ declare const NATIVE_PANE_ICON_KEYS: readonly string[];
11099
+ /** @deprecated Renamed to {@link PANE_CATEGORY_KEYS}. Removed in 0.112.0. */
11100
+ declare const NATIVE_PANE_CATEGORY_KEYS: readonly string[];
11101
+ /** @deprecated Renamed to {@link PANES_MAX}. Removed in 0.112.0. */
11102
+ declare const NATIVE_PANES_MAX = 12;
11103
+ /**
11104
+ * @deprecated Superseded by {@link paneMethodInfo}, which takes the connector's
11105
+ * catalogue and answers for every connector rather than only for Stripe.
11106
+ * Removed in 0.112.0.
11107
+ *
11108
+ * Kept as its own function rather than as an alias because it must keep its
11109
+ * old return type: it answers out of the frozen Stripe table and carries that
11110
+ * table's compiled copy, which the live catalogue deliberately does not have.
11111
+ */
11112
+ declare function nativePaneMethodInfo(method: string): PaneMethodInfo | undefined;
11113
+ /**
11114
+ * @deprecated Superseded by {@link defaultPane}. Removed in 0.112.0.
11115
+ *
11116
+ * Kept as its own function rather than as an alias because it must keep its
11117
+ * old behaviour: it leaves `category` empty and resolves `icon` out of the
11118
+ * frozen Stripe table only. `defaultPane` fills both from the connector's
11119
+ * catalogue, which is the fix — but a caller on the old name encodes whatever
11120
+ * it is handed, and quietly turning a blank field into a stored override is
11121
+ * not something a deprecated alias should do to a merchant's saved config.
11122
+ */
11123
+ declare function defaultNativePane(method: string): Pane;
11124
+ /** @deprecated Renamed to {@link clonePane}. Removed in 0.112.0. */
11125
+ declare const cloneNativePane: typeof clonePane;
11126
+ /** @deprecated Renamed to {@link decodePanes}. Removed in 0.112.0. */
11127
+ declare const decodeNativePanes: typeof decodePanes;
11128
+ /** @deprecated Renamed to {@link encodePanes}. Removed in 0.112.0. */
11129
+ declare const encodeNativePanes: typeof encodePanes;
10587
11130
 
10588
- export { ALL_CUSTOM_FIELD_CONDITION_SOURCES, ALL_CUSTOM_FIELD_OPERATORS, ALL_CUSTOM_FIELD_TYPES, type AddUserRequest, type AddUserResponse, type Address, type AddressDetails, type AllocationListResponse, type AllocationResponse, type AllocationTransferRequest, type AllocationTransferResponse, type AmountFilter, type AmountRange, Analytics, type AnalyticsChild, type AnalyticsConnectorDay, type AnalyticsConnectorSeries, AnalyticsDashboard, type AnalyticsDayBucket, type AnalyticsMethodSlice, type AnalyticsScopeRequest, type AnalyticsScopeResponse, type ApiKeyCreateRequest, type ApiKeyCreateResponse, type ApiKeyExpiration, type ApiKeyListConstraints, type ApiKeyResponse, type ApiKeyRevokeResponse, type ApiKeyUpdateRequest, type ApplePayVerificationRequest, type ApplePayVerificationResponse, type ApplePayVerifiedDomainsResponse, type AttemptStatus, type AuthResponse, type AuthenticationCreateRequest, type AuthenticationResponse, type AuthenticationStatus, type AuthenticationType, type AutoRechargeConfig, type AutoRechargeUpdateRequest, type AvailabilityOverrideCreateRequest, type AvailabilityOverrideResponse, AvailabilityOverrides, type AvailabilityPreviewMethod, type AvailabilityPreviewParams, type AvailabilityPreviewResponse, BRANDING_EXPORT_FORMAT, BRANDING_EXPORT_VERSION, type BankCodeResponse, type BankDebitTypes, type BankTransferTypes, type BillingCompleteSetupRequest, type BillingProfileResponse, type BillingSetupRequest, type BillingSetupResponse, type BlockedAttempt, type BlockedAttemptListParams, type BlockedAttemptListResponse, type BlocklistAddRequest, type BlocklistDataKind, type BlocklistResponse, type BrandingExport, type BrandingSource, type BuiltInRegionGroupResponse, type BusinessPaymentLinkConfig, CHECKBOX_CHECKED, CHECKBOX_UNCHECKED, CHECKOUT_EVENT_KINDS, CUSTOM_CSS_MAX_LENGTH, CUSTOM_FIELDS_MAX, CUSTOM_FIELD_CONDITIONS_MAX, CUSTOM_FIELD_KEY_PATTERN, CUSTOM_FIELD_OPERATORS_BY_SOURCE, CUSTOM_FIELD_VALUELESS_OPERATORS, type CancelSubscriptionRequest, type CancelSubscriptionResponse, type CaptureMethod, type CardDetail, type CardDetailFromLocker, type CardNetworkTypes, type CardSpecificFeatures, Cards, type ChangePasswordRequest, type CheckoutBranding, type CheckoutBrandingUpdate, type CheckoutCustomField, type CheckoutEventKind, CheckoutSession, type CheckoutSessionOptions, type CheckoutThemeComparisonSide, type CheckoutThemeConversionCaveat, type CheckoutThemeConversionCell, type CheckoutThemeConversionComparison, type CheckoutThemeConversionQuery, type CheckoutThemeConversionResponse, type CheckoutThemeConversionSegment, type CheckoutThemeDenominatorBasis, type CheckoutThemeDimension, type CheckoutThemeOutput, type CheckoutThemeProgram, type CheckoutThemeProgramRequest, type CheckoutThemeProgramResponse, type CheckoutThemeRule, type CheckoutThemeSampleVerdict, type ClientAnalyticsCaveat, type ClientAnalyticsFilters, type ClientAnalyticsRequest, type ConditionNode, type ConfirmSubscriptionPaymentDetails, type ConfirmSubscriptionRequest, type ConfirmSubscriptionResponse, type Connector, type ConnectorCloneRequest, type ConnectorCreateRequest, type ConnectorFeatureMatrixEntry, type ConnectorIntegrationStatus, type ConnectorListResponse, type ConnectorOwnership, type ConnectorResponse, type ConnectorRisk, type ConnectorSelection, type ConnectorType, type ConnectorUpdateRequest, type ConnectorVolumeSplit, type ConnectorWebhookEntry, type ConnectorWebhookEventType, type ConnectorWebhookListResponse, type ConnectorWebhookRegisterRequest, type ConnectorWebhookRegisterResponse, type ConnectorWebhookSyncResponse, type ConnectorWebhookSyncResult, type CornerRadius, type CreateAndConfirmSubscriptionRequest, type CreateSubscriptionPaymentDetails, type CreateSubscriptionRequest, type Currency, type CurrencyRevenue, type CustomFieldCondition, type CustomFieldConditionSource, type CustomFieldContext, type CustomFieldOperator, type CustomFieldOption, type CustomFieldTranslations, type CustomFieldType, type CustomFieldVisibility, type CustomerCreateRequest, type CustomerListParams, type CustomerPaymentMethodsListParams, type CustomerPaymentMethodsListResponse, type CustomerResponse, type CustomerUpdateRequest, DEFAULT_BADGES, DEFAULT_BADGES_DARK, DEFAULT_BRANDING, DEFAULT_BRANDING_DARK, type DecidePendingOperationRequest, type DeleteAccountRequest, type DeleteUserRoleRequest, Delopay, DelopayAuthenticationError, type DelopayConnectorCategory, DelopayError, type DelopayLogger, type DelopayOptions, type DeviceAnalyticsChild, type DeviceAnalyticsTotals, type DeviceBrowserSlice, type DeviceChannelBucket, type DeviceClassSlice, type DeviceDrillRequest, type DeviceModelSlice, type DevicePlatformSlice, type DeviceSessionBucket, type DevicesAnalyticsResponse, type DisputeEvidenceBlock, type DisputeEvidenceRequest, type DisputeEvidenceType, type DisputeListParams, type DisputeResponse, type DisputeStage, type DisputeStatus, type DrillPayment, type DrillResponse, type EncodedBranding, type EntityType, type EpayoutsCatalogEntry, type EpayoutsCatalogResponse, type EpayoutsLocality, type EpayoutsMethod, type EpayoutsMethodsResponse, type EpayoutsRail, type EphemeralKeyCreateRequest, type EphemeralKeyCreateResponse, type EuclidComparison, type EuclidComparisonType, type EuclidIfStatement, type EuclidValue, type EventClass, type EventDeliveryAttemptResponse, type EventDetailResponse, type EventListParams, type EventListResponse, type EventResponse, type EventType, Export, FeatureMatrix, type FeatureMatrixResponse, type FeatureStatus, type FeeOwner, FeeProgramBuilder, type FeeRuleConditions, type FeeRuleDefaultPrecedence, type FeeRuleInput, type FeeRulePreviewRequest, type FeeRulePreviewResponse, type FeeScheduleCreateRequest, type FeeScheduleResponse, type FeeScheduleUpdateRequest, type FeeSpecInput, type FeeStatementDetail, type FeeStatementSummary, type FeeType, Files, type FocusedCheckoutUrlParams, type FontFamily, type FontWeight, Forex, type ForgotPasswordRequest, type FromEmailRequest, type FutureUsage, type GatewayConnectRequest, type GatewayResponse, type GeoAnalyticsChild, type GeoAnalyticsResponse, type GeoAnalyticsTotals, type GeoCitySlice, type GeoCountrySlice, type GeoDrillRequest, type GeoLanguageSlice, type GetSubscriptionItemsParams, type GetSubscriptionItemsResponse, type GlobalSearchRequest, type GroupNode, type ImpersonateEmployeeRequest, type IntentStatus, type InviteUsersRequest, type InviteUsersResponse, type InvoiceAmountState, type InvoiceOutcomes, type InvoiceStatus, type LabelStyle, type LayoutStyle, type LeafNode, type LedgerEntry, type LedgerListParams, type LedgerResponse, type LimitedOperation, type LinkedRoutingConfigRetrieveResponse, type ListInvitableRolesParams, type ListUsersInLineageParams, type LoginHistoryEntry, type LoginHistoryParams, type LoginHistoryResponse, type LogoShape, type LogoSize, type MandateListParams, type MandateResponse, type MandateRevokedResponse, type MandateStatus, type MandateType, type MarginQuality, type MerchantAccountCreateRequest, type MerchantAccountResponse, type MerchantAccountType, type MerchantAccountUpdateRequest, type MerchantOverviewResponse, type MerchantOverviewStat, type MerchantRisk, type MerchantRoutingAlgorithm, type MethodSurcharge, type MinimalRoleInfo, NATIVE_PANES_MAX, NATIVE_PANE_CATEGORY_KEYS, NATIVE_PANE_ICON_KEYS, type NativePaneCapability, type NativePaneMethodInfo, type NativePaneOpenTarget, type NativePaneRail, type NativePaneView, type NativePaneVisibility, type NativePanesCatalogResponse, type NativePanesConnectorCatalog, type NonPillRadius, type OperationLimitOnExceeded, type OperationLimitRule, type OperationLimitRuleDeleteResponse, type OperationLimitRuleListParams, type OperationLimitScope, type OperationLimitSettings, type OperationLimitWindowMode, OperationLimits, type OverrideAction, type OverrideScope, type ParentGroup, type ParentGroupInfo, type PauseSubscriptionRequest, type PauseSubscriptionResponse, type PaymentAttemptResponse, type PaymentAttemptsListResponse, type PaymentCancelRequest, type PaymentCaptureRequest, type PaymentClientContextEntry, type PaymentClientContextListResponse, type PaymentConfirmRequest, type PaymentCreateRequest, type PaymentErrorDetails, type PaymentExperience, type PaymentExperienceTypes, type PaymentIdFormatConfig, type PaymentIdStyle, type PaymentIntentStateMetadata, type PaymentLayout, type PaymentLinkBackgroundImageConfig, type PaymentLinkConfigRequest, type PaymentLinkListParams, type PaymentLinkListResponse, type PaymentLinkResponse, type PaymentLinkTransactionDetails, type PaymentListFilterConstraints, type PaymentListFilteredResponse, type PaymentListOrder, type PaymentListParams, type PaymentListResponse, type PaymentMethod, type PaymentMethodAmountLimits, type PaymentMethodCreateRequest, type PaymentMethodDeleteResponse, type PaymentMethodDisplayInfo, type PaymentMethodListInstallmentAmountDetails, type PaymentMethodListInstallmentOption, type PaymentMethodListInstallmentPlan, type PaymentMethodListIntentData, type PaymentMethodListParams, type PaymentMethodListResponse, type PaymentMethodResponse, type PaymentMethodType, type PaymentMethodUpdateRequest, type PaymentResponse, type PaymentRetrieveOptions, type PaymentStatusHistoryEntityType, type PaymentStatusHistoryEvent, type PaymentStatusHistoryResponse, type PaymentUpdateRequest, type PaymentsDeletePolicyResponse, type PaymentsDeleteResponse, type PayoutCreateRequest, type PayoutListParams, type PayoutListResponse, type PayoutResponse, type PayoutStatus, type PayoutType, type PayoutUpdateRequest, type PayseproMethod, type PayseproMethodsResponse, type PendingApprovalErrorDetails, type PendingOperation, type PendingOperationLimitContext, type PendingOperationListParams, type PendingOperationListResponse, type PendingOperationStatus, type PendingOperationSummary, type PerMethodSurchargeItem, type PermissionScope, type PhoneDetails, type PhoneOtpRequest, type PhoneOtpResponse, type PhoneOtpVerifyRequest, type PhoneOtpVerifyResponse, type PlanSlice, type PlatformFeeKind, type PlatformFeeOutput, type PlatformFeeProgram, type PlatformFeeRule, type PlatformFeeRuleInput, type PlatformFeeRuleOutput, type PlatformFeeRuleRecord, type PlatformFeeRuleRequest, type PollStatus, type PollStatusResponse, type ProcessorCostBasis, type ProcessorCostBucket, type ProcessorCostSource, type ProcessorSlice, type ProfileAcquirerCreateRequest, type ProfileAcquirerResponse, type ProfileAcquirerUpdateRequest, type ProfileCreateRequest, type ProfileDefaultRoutingConfig, type ProfileDeniedConnectorsResponse, type ProfileLogoUploadResponse, type ProfileResponse, type ProfileUpdateRequest, type ProgramConnectorSelection, type ProjectCreateRequest, type ProjectResponse, type ProjectStats, type ProjectStatsResponse, type ProjectUpdateRequest, type PublishableKey, type RecordCheckoutEventRequest, type RecordCheckoutEventResponse, type RecoveryCodesResponse, type RefundAggregateResponse, type RefundCreateRequest, type RefundListParams, type RefundListResponse, type RefundResponse, type RefundStatus, type RefundType, type RefundUpdateRequest, type RegionCountriesResponse, type RegionCreateRequest, type RegionResponse, type RegionSetCountriesRequest, type RegionUpdateRequest, Regions, type RelayRequest, type RelayResponse, type RelayStatus, type RelayType, type RequestExtras, type RequestFn, type RequestOptions, type RequiredFieldInfo, type ResetPasswordRequest, type ResponsePaymentMethodTypes, type ResponsePaymentMethodsEnabled, type ResumeSubscriptionRequest, type ResumeSubscriptionResponse, Risk, type RoleConnectorGrant, type RoleConnectorGrantEntry, type RoutableConnectorChoice, type RoutingActivatePayload, type RoutingAlgorithmKind, type RoutingConfigCreateRequest, type RoutingConfigHistoryResponse, type RoutingConfigResponse, type RoutingConfigUpdateRequest, type RoutingConfigVersion, type RoutingConnectorCap, type RoutingConnectorCaps, type RoutingDeactivateRequest, type RoutingDictionary, type RoutingDictionaryRecord, type RoutingHistoryParams, type RuleConnectorSelection, STRIPE_NATIVE_PANE_METHODS, Search, type SearchGroupResponse, type SearchIndex, type SearchStatus, type SearchTimeRange, Settlement, type SettlementBackfillRequest, type SettlementBackfillResponse, type SettlementBucket, type SettlementCostParams, type SettlementCostPeriod, type SettlementCostResponse, type SettlementCurrentParams, type SettlementCurrentResponse, type SettlementLine, type SettlementLineBase, type SettlementLineListParams, type SettlementLineListResponse, type SettlementLineWithProcessorCost, type SettlementLineWithoutProcessorCost, type SettlementOverviewParams, type SettlementOverviewResponse, type SettlementPayoutStatus, type SettlementStatementListParams, type SettlementStatementListResponse, type ShopCreateRequest, type ShopFeeConfigEntry, type ShopFeeConfigParams, type ShopFeeConfigResponse, type ShopResponse, type ShopRisk, type ShopSettlementOverview, type ShopStats, type ShopStatsResponse, type ShopUpdateRequest, type ShopVisibilityResponse, type ShopVisibilityUpdateRequest, type SignInRequest, type SignUpRequest, type SignUpWithMerchantIdRequest, type SignUpWithMerchantRequest, type SizeScale, type SpacingScale, type StatementAdjustment, type StatementAdjustmentCreateRequest, type StatementAdjustmentListResponse, type StatementGenerateRequest, type StatementPayoutUpdateRequest, type StatementPdfParams, type StaticRoutingAlgorithm, type StatsPeriod, type StripeConnectAccountRequest, type StripeConnectAccountResponse, type StripeConnectLinkRequest, type StripeConnectLinkResponse, type StripeNativePane, type StripePaymentMethodDomainResult, type StripePaymentMethodDomainStatus, type StripePaymentMethodDomainsRegisterRequest, type StripePaymentMethodDomainsRegisterResponse, type SubscriptionAnalyticsRequest, type SubscriptionAnalyticsResponse, type SubscriptionBillingProcessorResponse, type SubscriptionBucket, type SubscriptionCaveat, type SubscriptionChild, type SubscriptionDrillBase, type SubscriptionDrillRequest, type SubscriptionDrillTarget, type SubscriptionEstimateParams, type SubscriptionEstimateResponse, type SubscriptionFilters, type SubscriptionInvoice, type SubscriptionInvoiceListParams, type SubscriptionInvoiceListResponse, type SubscriptionItem, type SubscriptionItemPrice, type SubscriptionItemType, type SubscriptionLineItem, type SubscriptionListParams, type SubscriptionMovement, type SubscriptionPaymentData, type SubscriptionPaymentDetails, type SubscriptionPaymentLink, type SubscriptionPaymentLookupRequest, type SubscriptionPaymentLookupResponse, type SubscriptionPeriodUnit, type SubscriptionProcessors, type SubscriptionResponse, type SubscriptionStatus, type SubscriptionTotals, Subscriptions, type SummaryPosition, type SupportedPaymentMethod, type SurchargeDetailsResponse, type SurchargeResponse, type SurchargeRuleRequest, type SurchargeRuleResponse, type SurfaceStyle, type SwitchMerchantRequest, type SwitchProfileRequest, type Terminate2faQueryParams, type ThemeBrowserLanguage, type ThemeCheckoutChannel, type ThemeChoice, type ThemeCondition, type ThemeDeviceClass, type ThemeEnumCondition, type ThemeIfStatement, type ThemeMetadataCondition, type ThemeNumberCondition, type ThemeTrafficSource, type ThreeDSDecision, type ThreeDsRuleExecuteRequest, type ThreeDsRuleResponse, type TierSummary, type TimeToPayBucket, type TimeToPayStats, type TokenPurpose, type TokenResponse, type TopupRequest, type TopupResponse, type TotpResponse, type TransactionType, type TrustBadge, type UpdateMetadataRequest, type UpdateOperationLimitSettingsRequest, type UpdateRoleConnectorGrantParams, type UpdateSubscriptionRequest, type UpdateUserDetailsRequest, type UpdateUserRoleRequest, type UpsertOperationLimitRuleRequest, type UpsertRefundLimitRuleRequest, type UpsertSettlementAdjustmentLimitRuleRequest, type UpsertSettlementPayoutLimitRuleRequest, type UserInLineage, type UserResponse, type UserSessionEntry, type UserSessionListResponse, type UserSessionRevokeResponse, type VaultCheck, type VaultCheckId, type VaultCheckStatus, type VaultCollectSessionResponse, type VaultEnvironment, type VaultPaymentMethodRequest, type VaultPaymentMethodResponse, type VaultRouteApplyVerification, type VaultRouteChange, type VaultRouteChangeKind, type VaultRouteFieldChange, type VaultRouteIds, type VaultRoutePurpose, type VaultRouteWarning, type VaultRouteWarningCode, type VaultRoutesApplyRequest, type VaultRoutesApplyResponse, type VaultRoutesFingerprint, type VaultRoutesPreviewRequest, type VaultRoutesPreviewResponse, type VaultVerificationResponse, type VaultVerifyRequest, type VerifyTotpRequest, type WebhookDeliveryAttempt, type WebhookDeliveryTerminalReason, type WebhookDetails, type WebhookEvent, type WebhookRefundStatus, type WebhookRegistrationEnvironment, Webhooks, allOf, anyOf, applyBrandingVariables, buildBrandingExport, buttonPadValue, cloneBranding, cloneCustomField, cloneNativePane, customFieldContextFromMetadata, customFieldIsTextLike, customFieldOperatorTakesValue, customFieldOptionLabel, customFieldText, decodeBadges, decodeBranding, decodeCustomFields, decodeNativePanes, defaultBranding, defaultCustomFieldVisibility, defaultNativePane, defaultOperatorForSource, encodeBadges, encodeBranding, encodeCustomFields, encodeNativePanes, evaluateCustomFieldCondition, evaluateCustomFieldVisibility, feeProgram, focusedCheckoutUrl, fontStack, fontWeightValue, inputPadValue, isCheckboxChecked, isDarkSurface, isHexColor, leaf, logoDimensions, nativePaneMethodInfo, parseCustomFieldsLoose, parseImportedBranding, programToTree, radiusValue, ruleMatchToTree, sanitizeCustomCss, shadowFor, surfacePadValue, verticalGapValue, visibleCustomFields };
11131
+ export { ALL_CUSTOM_FIELD_CONDITION_SOURCES, ALL_CUSTOM_FIELD_OPERATORS, ALL_CUSTOM_FIELD_TYPES, type AddUserRequest, type AddUserResponse, type Address, type AddressDetails, type AllocationListResponse, type AllocationResponse, type AllocationTransferRequest, type AllocationTransferResponse, type AmountFilter, type AmountRange, Analytics, type AnalyticsChild, type AnalyticsConnectorDay, type AnalyticsConnectorSeries, AnalyticsDashboard, type AnalyticsDayBucket, type AnalyticsMethodSlice, type AnalyticsScopeRequest, type AnalyticsScopeResponse, type ApiKeyCreateRequest, type ApiKeyCreateResponse, type ApiKeyExpiration, type ApiKeyListConstraints, type ApiKeyResponse, type ApiKeyRevokeResponse, type ApiKeyUpdateRequest, type ApplePayVerificationRequest, type ApplePayVerificationResponse, type ApplePayVerifiedDomainsResponse, type AttemptStatus, type AuthResponse, type AuthenticationCreateRequest, type AuthenticationResponse, type AuthenticationStatus, type AuthenticationType, type AutoRechargeConfig, type AutoRechargeUpdateRequest, type AvailabilityOverrideCreateRequest, type AvailabilityOverrideResponse, AvailabilityOverrides, type AvailabilityPreviewMethod, type AvailabilityPreviewParams, type AvailabilityPreviewResponse, BRANDING_EXPORT_FORMAT, BRANDING_EXPORT_VERSION, type BankCodeResponse, type BankDebitTypes, type BankTransferTypes, type BillingCompleteSetupRequest, type BillingProfileResponse, type BillingSetupRequest, type BillingSetupResponse, type BlockedAttempt, type BlockedAttemptListParams, type BlockedAttemptListResponse, type BlocklistAddRequest, type BlocklistDataKind, type BlocklistResponse, type BrandingExport, type BrandingSource, type BuiltInRegionGroupResponse, type BusinessPaymentLinkConfig, CHECKBOX_CHECKED, CHECKBOX_UNCHECKED, CHECKOUT_EVENT_KINDS, CUSTOM_CSS_MAX_LENGTH, CUSTOM_FIELDS_MAX, CUSTOM_FIELD_CONDITIONS_MAX, CUSTOM_FIELD_KEY_PATTERN, CUSTOM_FIELD_OPERATORS_BY_SOURCE, CUSTOM_FIELD_VALUELESS_OPERATORS, type CancelSubscriptionRequest, type CancelSubscriptionResponse, type CaptureMethod, type CardDetail, type CardDetailFromLocker, type CardNetworkTypes, type CardSpecificFeatures, Cards, type ChangePasswordRequest, type CheckoutBranding, type CheckoutBrandingResponse, type CheckoutBrandingUpdate, type CheckoutCustomField, type CheckoutEventKind, CheckoutSession, type CheckoutSessionOptions, type CheckoutThemeComparisonSide, type CheckoutThemeConversionCaveat, type CheckoutThemeConversionCell, type CheckoutThemeConversionComparison, type CheckoutThemeConversionQuery, type CheckoutThemeConversionResponse, type CheckoutThemeConversionSegment, type CheckoutThemeDenominatorBasis, type CheckoutThemeDimension, type CheckoutThemeOutput, type CheckoutThemeProgram, type CheckoutThemeProgramRequest, type CheckoutThemeProgramResponse, type CheckoutThemeRule, type CheckoutThemeSampleVerdict, type ClientAnalyticsCaveat, type ClientAnalyticsFilters, type ClientAnalyticsRequest, type ConditionNode, type ConfirmSubscriptionPaymentDetails, type ConfirmSubscriptionRequest, type ConfirmSubscriptionResponse, type Connector, type ConnectorCloneRequest, type ConnectorCreateRequest, type ConnectorFeatureMatrixEntry, type ConnectorIntegrationStatus, type ConnectorListResponse, type ConnectorOwnership, type ConnectorResponse, type ConnectorRisk, type ConnectorSelection, type ConnectorType, type ConnectorUpdateRequest, type ConnectorVolumeSplit, type ConnectorWebhookEntry, type ConnectorWebhookEventType, type ConnectorWebhookListResponse, type ConnectorWebhookRegisterRequest, type ConnectorWebhookRegisterResponse, type ConnectorWebhookSyncResponse, type ConnectorWebhookSyncResult, type CornerRadius, type CreateAndConfirmSubscriptionRequest, type CreateSubscriptionPaymentDetails, type CreateSubscriptionRequest, type Currency, type CurrencyRevenue, type CustomFieldCondition, type CustomFieldConditionSource, type CustomFieldContext, type CustomFieldOperator, type CustomFieldOption, type CustomFieldTranslations, type CustomFieldType, type CustomFieldVisibility, type CustomerCreateRequest, type CustomerListParams, type CustomerPaymentMethodsListParams, type CustomerPaymentMethodsListResponse, type CustomerResponse, type CustomerUpdateRequest, DEFAULT_BADGES, DEFAULT_BADGES_DARK, DEFAULT_BRANDING, DEFAULT_BRANDING_DARK, type DecidePendingOperationRequest, type DeleteAccountRequest, type DeleteUserRoleRequest, Delopay, DelopayAuthenticationError, type DelopayConnectorCategory, DelopayError, type DelopayLogger, type DelopayOptions, type DeviceAnalyticsChild, type DeviceAnalyticsTotals, type DeviceBrowserSlice, type DeviceChannelBucket, type DeviceClassSlice, type DeviceDrillRequest, type DeviceModelSlice, type DevicePlatformSlice, type DeviceSessionBucket, type DevicesAnalyticsResponse, type DisputeEvidenceBlock, type DisputeEvidenceRequest, type DisputeEvidenceType, type DisputeListParams, type DisputeResponse, type DisputeStage, type DisputeStatus, type DrillPayment, type DrillResponse, type EncodedBranding, type EntityType, type EpayoutsCatalogEntry, type EpayoutsCatalogResponse, type EpayoutsLocality, type EpayoutsMethod, type EpayoutsMethodsResponse, type EpayoutsRail, type EphemeralKeyCreateRequest, type EphemeralKeyCreateResponse, type EuclidComparison, type EuclidComparisonType, type EuclidIfStatement, type EuclidValue, type EventClass, type EventDeliveryAttemptResponse, type EventDetailResponse, type EventListParams, type EventListResponse, type EventResponse, type EventType, Export, FeatureMatrix, type FeatureMatrixResponse, type FeatureStatus, type FeeOwner, FeeProgramBuilder, type FeeRuleConditions, type FeeRuleDefaultPrecedence, type FeeRuleInput, type FeeRulePreviewRequest, type FeeRulePreviewResponse, type FeeScheduleCreateRequest, type FeeScheduleResponse, type FeeScheduleUpdateRequest, type FeeSpecInput, type FeeStatementDetail, type FeeStatementSummary, type FeeType, Files, type FocusedCheckoutUrlParams, type FontFamily, type FontWeight, Forex, type ForgotPasswordRequest, type FromEmailRequest, type FutureUsage, type GatewayConnectRequest, type GatewayResponse, type GeoAnalyticsChild, type GeoAnalyticsResponse, type GeoAnalyticsTotals, type GeoCitySlice, type GeoCountrySlice, type GeoDrillRequest, type GeoLanguageSlice, type GetSubscriptionItemsParams, type GetSubscriptionItemsResponse, type GlobalSearchRequest, type GroupNode, type ImpersonateEmployeeRequest, type IntentStatus, type InviteUsersRequest, type InviteUsersResponse, type InvoiceAmountState, type InvoiceOutcomes, type InvoiceStatus, type LabelStyle, type LayoutStyle, type LeafNode, type LedgerEntry, type LedgerListParams, type LedgerResponse, type LimitedOperation, type LinkedRoutingConfigRetrieveResponse, type ListInvitableRolesParams, type ListUsersInLineageParams, type LoginHistoryEntry, type LoginHistoryParams, type LoginHistoryResponse, type LogoShape, type LogoSize, type MandateListParams, type MandateResponse, type MandateRevokedResponse, type MandateStatus, type MandateType, type MarginQuality, type MerchantAccountCreateRequest, type MerchantAccountResponse, type MerchantAccountType, type MerchantAccountUpdateRequest, type MerchantConnectorWebhookDetailsUpdate, type MerchantOverviewResponse, type MerchantOverviewStat, type MerchantRisk, type MerchantRoutingAlgorithm, type MethodSurcharge, type MinimalRoleInfo, NATIVE_PANES_MAX, NATIVE_PANE_CATEGORY_KEYS, NATIVE_PANE_ICON_KEYS, type NativePaneCapability, type NativePaneMethodInfo, type NativePaneOpenTarget, type NativePaneRail, type NativePaneView, type NativePaneVisibility, type NativePanesCatalogResponse, type NativePanesConnectorCatalog, type NonPillRadius, type OperationLimitOnExceeded, type OperationLimitRule, type OperationLimitRuleDeleteResponse, type OperationLimitRuleListParams, type OperationLimitScope, type OperationLimitSettings, type OperationLimitWindowMode, OperationLimits, type OverrideAction, type OverrideScope, PANES_MAX, PANE_CATEGORY_KEYS, PANE_ICON_KEYS, type Pane, type PaneCapability, type PaneDisplayDefaults, type PaneIssue, type PaneIssueCode, type PaneMethodInfo, type PaneOpenTarget, type PaneRail, type PaneView, type PaneVisibility, type PanesCatalogResponse, type PanesConnectorCatalog, type ParentGroup, type ParentGroupInfo, type PauseSubscriptionRequest, type PauseSubscriptionResponse, type PaymentAttemptResponse, type PaymentAttemptsListResponse, type PaymentCancelRequest, type PaymentCaptureRequest, type PaymentClientContextEntry, type PaymentClientContextListResponse, type PaymentConfirmRequest, type PaymentCreateRequest, type PaymentErrorDetails, type PaymentExperience, type PaymentExperienceTypes, type PaymentIdFormatConfig, type PaymentIdStyle, type PaymentIntentStateMetadata, type PaymentLayout, type PaymentLinkBackgroundImageConfig, type PaymentLinkConfigRequest, type PaymentLinkListParams, type PaymentLinkListResponse, type PaymentLinkResponse, type PaymentLinkTransactionDetails, type PaymentListFilterConstraints, type PaymentListFilteredResponse, type PaymentListOrder, type PaymentListParams, type PaymentListResponse, type PaymentMethod, type PaymentMethodAmountLimits, type PaymentMethodCreateRequest, type PaymentMethodDeleteResponse, type PaymentMethodDisplayInfo, type PaymentMethodListInstallmentAmountDetails, type PaymentMethodListInstallmentOption, type PaymentMethodListInstallmentPlan, type PaymentMethodListIntentData, type PaymentMethodListParams, type PaymentMethodListResponse, type PaymentMethodResponse, type PaymentMethodType, type PaymentMethodUpdateRequest, type PaymentResponse, type PaymentRetrieveOptions, type PaymentStatusHistoryEntityType, type PaymentStatusHistoryEvent, type PaymentStatusHistoryResponse, type PaymentUpdateRequest, type PaymentsDeletePolicyResponse, type PaymentsDeleteResponse, type PayoutCreateRequest, type PayoutListParams, type PayoutListResponse, type PayoutResponse, type PayoutStatus, type PayoutType, type PayoutUpdateRequest, type PayseproMethod, type PayseproMethodsResponse, type PendingApprovalErrorDetails, type PendingOperation, type PendingOperationLimitContext, type PendingOperationListParams, type PendingOperationListResponse, type PendingOperationStatus, type PendingOperationSummary, type PerMethodSurchargeItem, type PermissionScope, type PhoneDetails, type PhoneOtpRequest, type PhoneOtpResponse, type PhoneOtpVerifyRequest, type PhoneOtpVerifyResponse, type PlanSlice, type PlatformFeeKind, type PlatformFeeOutput, type PlatformFeeProgram, type PlatformFeeRule, type PlatformFeeRuleInput, type PlatformFeeRuleOutput, type PlatformFeeRuleRecord, type PlatformFeeRuleRequest, type PollStatus, type PollStatusResponse, type ProcessorCostBasis, type ProcessorCostBucket, type ProcessorCostSource, type ProcessorSlice, type ProfileAcquirerCreateRequest, type ProfileAcquirerResponse, type ProfileAcquirerUpdateRequest, type ProfileCreateRequest, type ProfileDefaultRoutingConfig, type ProfileDeniedConnectorsResponse, type ProfileLogoUploadResponse, type ProfileResponse, type ProfileUpdateRequest, type ProgramConnectorSelection, type ProjectCreateRequest, type ProjectResponse, type ProjectStats, type ProjectStatsResponse, type ProjectUpdateRequest, type PublishableKey, type RecordCheckoutEventRequest, type RecordCheckoutEventResponse, type RecoveryCodesResponse, type RefundAggregateResponse, type RefundCreateRequest, type RefundListParams, type RefundListResponse, type RefundResponse, type RefundStatus, type RefundType, type RefundUpdateRequest, type RegionCountriesResponse, type RegionCreateRequest, type RegionResponse, type RegionSetCountriesRequest, type RegionUpdateRequest, Regions, type RelayRequest, type RelayResponse, type RelayStatus, type RelayType, type RequestExtras, type RequestFn, type RequestOptions, type RequiredFieldInfo, type ResetPasswordRequest, type ResponsePaymentMethodTypes, type ResponsePaymentMethodsEnabled, type ResumeSubscriptionRequest, type ResumeSubscriptionResponse, Risk, type RoleConnectorGrant, type RoleConnectorGrantEntry, type RoutableConnectorChoice, type RoutingActivatePayload, type RoutingAlgorithmKind, type RoutingConfigCreateRequest, type RoutingConfigHistoryResponse, type RoutingConfigResponse, type RoutingConfigUpdateRequest, type RoutingConfigVersion, type RoutingConnectorCap, type RoutingConnectorCaps, type RoutingDeactivateRequest, type RoutingDictionary, type RoutingDictionaryRecord, type RoutingHistoryParams, type RuleConnectorSelection, STRIPE_FALLBACK_PANE_CATALOG, STRIPE_FALLBACK_PANE_METHODS, STRIPE_NATIVE_PANE_METHODS, Search, type SearchGroupResponse, type SearchIndex, type SearchStatus, type SearchTimeRange, Settlement, type SettlementBackfillRequest, type SettlementBackfillResponse, type SettlementBucket, type SettlementCostParams, type SettlementCostPeriod, type SettlementCostResponse, type SettlementCurrentParams, type SettlementCurrentResponse, type SettlementLine, type SettlementLineBase, type SettlementLineListParams, type SettlementLineListResponse, type SettlementLineWithProcessorCost, type SettlementLineWithoutProcessorCost, type SettlementOverviewParams, type SettlementOverviewResponse, type SettlementPayoutStatus, type SettlementStatementListParams, type SettlementStatementListResponse, type ShopCreateRequest, type ShopFeeConfigEntry, type ShopFeeConfigParams, type ShopFeeConfigResponse, type ShopResponse, type ShopRisk, type ShopSettlementOverview, type ShopStats, type ShopStatsResponse, type ShopUpdateRequest, type ShopVisibilityResponse, type ShopVisibilityUpdateRequest, type SignInRequest, type SignUpRequest, type SignUpWithMerchantIdRequest, type SignUpWithMerchantRequest, type SizeScale, type SpacingScale, type StatementAdjustment, type StatementAdjustmentCreateRequest, type StatementAdjustmentListResponse, type StatementGenerateRequest, type StatementPayoutUpdateRequest, type StatementPdfParams, type StaticRoutingAlgorithm, type StatsPeriod, type StripeConnectAccountRequest, type StripeConnectAccountResponse, type StripeConnectLinkRequest, type StripeConnectLinkResponse, type StripeNativePane, type StripePaymentMethodDomainResult, type StripePaymentMethodDomainStatus, type StripePaymentMethodDomainsRegisterRequest, type StripePaymentMethodDomainsRegisterResponse, type SubscriptionAnalyticsRequest, type SubscriptionAnalyticsResponse, type SubscriptionBillingProcessorResponse, type SubscriptionBucket, type SubscriptionCaveat, type SubscriptionChild, type SubscriptionDrillBase, type SubscriptionDrillRequest, type SubscriptionDrillTarget, type SubscriptionEstimateParams, type SubscriptionEstimateResponse, type SubscriptionFilters, type SubscriptionInvoice, type SubscriptionInvoiceListParams, type SubscriptionInvoiceListResponse, type SubscriptionItem, type SubscriptionItemPrice, type SubscriptionItemType, type SubscriptionLineItem, type SubscriptionListParams, type SubscriptionMovement, type SubscriptionPaymentData, type SubscriptionPaymentDetails, type SubscriptionPaymentLink, type SubscriptionPaymentLookupRequest, type SubscriptionPaymentLookupResponse, type SubscriptionPeriodUnit, type SubscriptionProcessors, type SubscriptionResponse, type SubscriptionStatus, type SubscriptionTotals, Subscriptions, type SummaryPosition, type SupportedPaymentMethod, type SurchargeDetailsResponse, type SurchargeResponse, type SurchargeRuleRequest, type SurchargeRuleResponse, type SurfaceStyle, type SwitchMerchantRequest, type SwitchProfileRequest, type Terminate2faQueryParams, type ThemeBrowserLanguage, type ThemeCheckoutChannel, type ThemeChoice, type ThemeCondition, type ThemeDeviceClass, type ThemeEnumCondition, type ThemeIfStatement, type ThemeMetadataCondition, type ThemeNumberCondition, type ThemeTrafficSource, type ThreeDSDecision, type ThreeDsRuleExecuteRequest, type ThreeDsRuleResponse, type TierSummary, type TimeToPayBucket, type TimeToPayStats, type TokenPurpose, type TokenResponse, type TopupRequest, type TopupResponse, type TotpResponse, type TransactionType, type TrustBadge, type UpdateMetadataRequest, type UpdateOperationLimitSettingsRequest, type UpdateRoleConnectorGrantParams, type UpdateSubscriptionRequest, type UpdateUserDetailsRequest, type UpdateUserRoleRequest, type UpsertOperationLimitRuleRequest, type UpsertRefundLimitRuleRequest, type UpsertSettlementAdjustmentLimitRuleRequest, type UpsertSettlementPayoutLimitRuleRequest, type UserInLineage, type UserResponse, type UserSessionEntry, type UserSessionListResponse, type UserSessionRevokeResponse, type VaultCheck, type VaultCheckId, type VaultCheckStatus, type VaultCollectSessionResponse, type VaultEnvironment, type VaultPaymentMethodRequest, type VaultPaymentMethodResponse, type VaultRouteApplyVerification, type VaultRouteChange, type VaultRouteChangeKind, type VaultRouteFieldChange, type VaultRouteIds, type VaultRoutePurpose, type VaultRouteWarning, type VaultRouteWarningCode, type VaultRoutesApplyRequest, type VaultRoutesApplyResponse, type VaultRoutesFingerprint, type VaultRoutesPreviewRequest, type VaultRoutesPreviewResponse, type VaultVerificationResponse, type VaultVerifyRequest, type VerifyTotpRequest, type WebhookDeliveryAttempt, type WebhookDeliveryTerminalReason, type WebhookDetails, type WebhookEvent, type WebhookRefundStatus, type WebhookRegistrationEnvironment, Webhooks, allOf, anyOf, applyBrandingVariables, buildBrandingExport, buttonPadValue, cloneBranding, cloneCustomField, cloneNativePane, clonePane, customFieldContextFromMetadata, customFieldIsTextLike, customFieldOperatorTakesValue, customFieldOptionLabel, customFieldText, decodeBadges, decodeBranding, decodeCustomFields, decodeNativePanes, decodePanes, defaultBranding, defaultCustomFieldVisibility, defaultNativePane, defaultOperatorForSource, defaultPane, emptyPaneCatalog, encodeBadges, encodeBranding, encodeCustomFields, encodeNativePanes, encodePanes, evaluateCustomFieldCondition, evaluateCustomFieldVisibility, feeProgram, focusedCheckoutUrl, fontStack, fontWeightValue, inputPadValue, isCheckboxChecked, isDarkSurface, isHexColor, leaf, logoDimensions, nativePaneMethodInfo, offerablePaneMethods, paneCatalogFor, paneDisplayDefaults, paneMethodInfo, paneRailAllowed, paneViewVisibility, parseCustomFieldsLoose, parseImportedBranding, programToTree, radiusValue, ruleMatchToTree, sanitizeCustomCss, shadowFor, surfacePadValue, validatePanes, verticalGapValue, visibleCustomFields };