# MerchantShippingBinding

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 shipping rate provider binding. Persisted as an element of `Merchant.ShippingBindings`.
            


The binding belongs to the merchant, so a shipping quote reaches the same answer wherever it is computed:
on the hosted payment page, in a background job, or 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 tax,
3-D Secure and wallet bindings use, so a merchant can be switched off without losing credentials.

## Fields
- `providerName` (string): Which shipping 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` ([ProviderCredentialSource](https://devportal.demo.winkpg.io/docs/api/models/ProviderCredentialSource.md)): Whose provider account the quotes 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 credential source 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<[ShippingBindingFieldValue](https://devportal.demo.winkpg.io/docs/api/models/ShippingBindingFieldValue.md)>): The provider-declared configuration values for this merchant, keyed by the setting names the provider  declares. For a provider whose gateway credentials are platform-wide settings, the keys are those same  setting names, so one name identifies a credential whoever holds it.                   <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 token 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)

## See also

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