# WalletCheckoutSnapshot

A model the API reference uses in a request or a response. The operation pages link every field typed as this model here.

Storefront-safe projection of a `WalletProviderRegistration` row,
keyed by `(providerType, merchantId)`. Returned by the anonymous checkout
snapshot endpoint so the FE can decide whether to render the wallet button and
what to pass to the matching session-creation endpoint.
            

Intentionally omits admin-only fields (Id, ConcurrencyStamp, EntityVersion,
TenantId, MerchantId, certificate snapshots, audit fields, the full
ProviderMetadata map): this DTO is reached without authentication and must
not leak operational state.

## Fields
- `providerType` ([WalletProviderType](https://devportal.signapay-sbx.winkpg.io/docs/api/models/WalletProviderType.md)): The wallet provider this snapshot describes. Echoed back so the FE can confirm the response matches the request.
  Values:
  - `Unknown`: Unknown wallet provider.
  - `ApplePay`: Apple Pay wallet provider.
  - `GooglePay`: Google Pay wallet provider.
  - `NetworkToken`: Network tokenization provider (Visa, Mastercard etc).
  - `Paze`: Paze (Early Warning) wallet provider.
- `isEnabled` (boolean): True only when the merchant has an enabled `DigitalWallets[]` binding, the binding points at a resolvable `WalletProviderRegistration` row, AND that row is `Active`. The FE MUST check this flag before rendering the wallet button: a non-null registration alone is not sufficient evidence the merchant is opted in.
- `merchantDisplayName` (string): Merchant display name as registered with the provider. Sourced from `MerchantDisplayName`. `null` when no resolvable registration row was found. (nullable)
- `merchantUrl` (string): Canonical merchant URL registered with the provider. Sourced from `MerchantUrl`. `null` when no resolvable registration row was found. (nullable)
- `verifiedDomains` (array<string>): Domains the wallet provider has verified ownership of (filtered to `Verified` entries). The FE selects the entry matching the current page host and passes it to `CreateWalletPaymentSessionInput.InitiativeContext`. Empty when no resolvable registration row was found. (nullable)
- `status` ([WalletRegistrationStatus](https://devportal.signapay-sbx.winkpg.io/docs/api/models/WalletRegistrationStatus.md)): Lifecycle status of the underlying registration row, so the FE can show "wallet is being set up" copy when `isEnabled` is false due to the row not yet being `Active`. `null` when no resolvable registration row was found. (nullable)
  Values:
  - `Pending`: Registration created but not started.
  - `Registering`: Registration process in progress.
  - `CertificatesPending`: Waiting for certificates to be uploaded.
  - `VerifyingDomains`: Domain verification in progress.
  - `Active`: Wallet provider fully active.
  - `Suspended`: Provider temporarily suspended.
  - `Expired`: Certificates expired.
  - `Failed`: Registration failed.
- `supportedNetworks` (array<string>): The card networks the wallet sheet should offer: the brands the merchant accepts that its processor can carry a wallet cryptogram for. Values are `Visa`, `Mastercard`, `Amex` and `Discover`, in that order; translate them to the wallet's own network names before passing them to the wallet SDK. Populated only when `isEnabled` is true. Empty otherwise, and when empty, offer the wallet's default networks. (nullable)

## See also

- [All documentation](https://devportal.signapay-sbx.winkpg.io/llms.txt): the machine-readable index of every public page on this site.
