# 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.demo.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.demo.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.

## See also

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