# MerchantTaxBinding

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

Per-merchant tax provider binding. Persisted as an element of `Merchant.TaxBindings`.
            


Tax liability is a property of the selling merchant, so the binding belongs to the merchant: a
payment that computes tax in a background job reaches the same answer as one computed while an
operator watches.

            


Collection membership decides whether the merchant is boarded with that provider at all, and
`isEnabled` decides whether it is currently switched on: the same two-level shape the
3-D Secure and wallet bindings use, so a merchant can be switched off without losing credentials.

## Fields
- `providerName` (string): Which tax provider this entry binds the merchant to, by the provider's registered name.  Compared case-insensitively. A null or blank provider is treated as no binding at all, so an  incompletely boarded row cannot silently become a live selection. Required: When IsEnabled is true. (nullable, max length 64)
- `isEnabled` (boolean): Master enable flag for this provider on this merchant. When `false` or null, the selector  must not return this binding even though the row exists. (nullable)
- `credentialSource` ([TaxCredentialSource](https://devportal.demo.winkpg.io/docs/api/models/TaxCredentialSource.md)): Whose provider account the lookups are billed to. Null reads as  `Gateway`. (nullable)
  Values:
  - `Gateway`: The gateway's own provider account. The binding stores no credential of its own: the values are filled in at read time from the host-scoped provider settings, and the merchant surfaces never carry them. This is what a null credentialSource reads as, which is the safe default: a half-completed row cannot accidentally claim to hold the merchant's own contract.
  - `Merchant`: The merchant's own provider account. The binding carries the credentials, with every secret value held as ciphertext and stripped on any read that leaves the server.
- `fieldValues` (array<[TaxBindingFieldValue](https://devportal.demo.winkpg.io/docs/api/models/TaxBindingFieldValue.md)>): The provider-declared configuration values for this merchant, keyed by the setting names the  provider declares.                   <b>Secret values are stored encrypted</b> and are stripped, not decrypted, on every read that  leaves the server: the admin UI and the API both see null and re-send a secret only when the  operator changes it. Only the server-side call to the provider ever uses the plaintext.                     Empty for a `Gateway` binding, whose values are filled in at  read time from the host-scoped provider settings instead. A gateway-sourced row that carried  values would be a copy of the gateway's key living on a merchant document. Conditional: When FieldValues is not null. (nullable)
  Fields of each item:
  - `key` (string): The provider setting name this value belongs to, matching a setting field definition the provider's  contributor declares. Compared case-insensitively. (nullable)
  - `value` (string): The configured value. Ciphertext at rest whenever `isSecret` is `true`, and  `null` on every read that leaves the server. (nullable)
  - `isSecret` (boolean): Whether `value` is credential material, and so held encrypted and stripped on read. (nullable)
  - `isConfigured` (boolean): Whether a secret value is stored, set on reads so an operator can tell a configured secret from an  empty one without the value ever being sent. (nullable)
- `defaultCountryCode` (string): The country code to use for a lookup that does not name one. Null falls back to the  gateway-wide `TaxCalculation.DefaultCountryCode` setting. (nullable, max length 3)

## See also

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