# HostedPageFieldsAndPanels

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

Represents the configuration of fields and panels for the hosted payment page, including display options and custom labels.

## Fields
- `fieldInvoice` ([HppFieldVisibility](https://devportal.demo.winkpg.io/docs/api/models/HppFieldVisibility.md)): Gets or sets a value indicating whether to display the invoice number field.
  Values:
  - `Hidden`
  - `Optional`
  - `Required`
- `fieldTax` ([HppFieldVisibility](https://devportal.demo.winkpg.io/docs/api/models/HppFieldVisibility.md)): Gets or sets the visibility of the tax amount field.
  Values:
  - `Hidden`
  - `Optional`
  - `Required`
- `fieldConvenienceFee` ([HppFieldVisibility](https://devportal.demo.winkpg.io/docs/api/models/HppFieldVisibility.md)): Gets or sets the visibility of the convenience fee field.
  Values:
  - `Hidden`
  - `Optional`
  - `Required`
- `fieldShipping` ([HppFieldVisibility](https://devportal.demo.winkpg.io/docs/api/models/HppFieldVisibility.md)): Gets or sets the visibility of the shipping amount field.
  Values:
  - `Hidden`
  - `Optional`
  - `Required`
- `fieldTotal` (boolean): Gets or sets a value indicating whether to display the total amount field.
- `fieldBillingAddr` ([HppFieldVisibility](https://devportal.demo.winkpg.io/docs/api/models/HppFieldVisibility.md)): Gets or sets a value indicating whether to display the billing address fields.
  Values:
  - `Hidden`
  - `Optional`
  - `Required`
- `fieldShipAddr` ([HppFieldVisibility](https://devportal.demo.winkpg.io/docs/api/models/HppFieldVisibility.md)): Gets or sets a value indicating whether to display the shipping address fields.
  Values:
  - `Hidden`
  - `Optional`
  - `Required`
- `panelWidthOrder` (integer(int32)): Gets or sets an optional width for the order detail panel. (nullable)
- `panelWidthCustom` (integer(int32)): Gets or sets an optional width for the custom fields panel. (nullable)
- `panelWidthAddress` (integer(int32)): Gets or sets an optional width for the address panels. (nullable)
- `panelWidthCard` (integer(int32)): Gets or sets an optional width for the card detail panel. (nullable)
- `amountSetByCustomer` (boolean): Gets or sets a value indicating whether the total amount can be set by the customer.
- `panelWidthResult` (integer(int32)): Gets or sets an optional width for the result panel. (nullable)
- `customerSetsInvoiceNumber` (boolean): Gets or sets a value indicating whether the customer can set the invoice number.
- `fieldCustomerEmail` ([HppFieldVisibility](https://devportal.demo.winkpg.io/docs/api/models/HppFieldVisibility.md)): Gets or sets a value indicating whether to display the customer email field.
  Values:
  - `Hidden`
  - `Optional`
  - `Required`
- `fieldCustomerNameOnCard` ([HppFieldVisibility](https://devportal.demo.winkpg.io/docs/api/models/HppFieldVisibility.md)): Gets or sets a value indicating whether to display the customer Name on card.
  Values:
  - `Hidden`
  - `Optional`
  - `Required`
- `hideHeaderMenu` (boolean): Gets or sets a value indicating whether to hide the header menu/panel.
- `orderPanelCustomText` (string): Gets or sets an optional custom label for the order panel. (nullable, max length 125)
- `customizeOrderPanelText` (boolean): Gets or sets a value indicating whether to replace the default order panel label with a custom label.
- `customFieldPanelCustomText` (string): Gets or sets an optional custom label for the custom field panel. (nullable, max length 125)
- `customizeCustomFieldPanelText` (boolean): Gets or sets a value indicating whether to replace the default custom field panel label with a custom label.
- `addressPanelCustomText` (string): Gets or sets an optional custom label for the address panel. (nullable, max length 125)
- `customizeAddressPanelText` (boolean): Gets or sets a value indicating whether to replace the default address panel label with a custom label.
- `cardPanelCustomText` (string): Gets or sets an optional custom label for the card detail panel. (nullable, max length 125)
- `customizeCardPanelText` (boolean): Gets or sets a value indicating whether to replace the default card panel label with a custom label.
- `resultPanelCustomText` (string): Gets or sets an optional custom label for the result panel. (nullable, max length 125)
- `customizeResultPanelText` (boolean): Gets or sets a value indicating whether to replace the default result panel label with a custom label.
- `showOrderPanelText` (boolean): Gets or sets a value indicating whether to display header label for the order panel.
- `showCustomFieldsText` (boolean): Gets or sets a value indicating whether to display the header label for the custom fields panel.
- `showAddressPanelText` (boolean): Gets or sets a value indicating whether to display the header label for the address panel.
- `showCardPanelText` (boolean): Gets or sets a value indicating whether to display the header label for the card detail panel.
- `showResultPanelText` (boolean): Gets or sets a value indicating whether to display the header label for the result panel.
- `hideAddressAndPhone` (boolean): Gets or sets a value indicating whether to hide the address and phone number fields.
- `fieldTip` ([HppFieldVisibility](https://devportal.demo.winkpg.io/docs/api/models/HppFieldVisibility.md)): Gets or sets the visibility of the tip amount field. `null` is treated as  `Hidden`. (nullable)
  Values:
  - `Hidden`
  - `Optional`
  - `Required`
- `fieldPurchaseOrder` ([HppFieldVisibility](https://devportal.demo.winkpg.io/docs/api/models/HppFieldVisibility.md)): Gets or sets the visibility of the customer code / purchase order field. `null` is  treated as `Hidden`. (nullable)
  Values:
  - `Hidden`
  - `Optional`
  - `Required`
- `fieldContactPhone` ([HppFieldVisibility](https://devportal.demo.winkpg.io/docs/api/models/HppFieldVisibility.md)): Gets or sets the visibility of the contact phone field. `null` means the page has never  configured it and the older control decides: the Streamlined `CollectPhone` toggle, or  on a Classic page the always-rendered phone input behind `hideAddressAndPhone`. (nullable)
  Values:
  - `Hidden`
  - `Optional`
  - `Required`
- `fieldLevel3Amount` ([HppFieldVisibility](https://devportal.demo.winkpg.io/docs/api/models/HppFieldVisibility.md)): Gets or sets the visibility of the read-only Level 3 summary a session can carry.  `null` means the page has never configured it and the older  `AllowLevel3LineItems` toggle decides. (nullable)
  Values:
  - `Hidden`
  - `Optional`
  - `Required`
- `shippingAmountMode` ([HppShippingAmountMode](https://devportal.demo.winkpg.io/docs/api/models/HppShippingAmountMode.md)): Gets or sets where this page's shipping amount comes from. `null` is treated as  `CardholderEntered`. (nullable)
  Values:
  - `CardholderEntered`: The cardholder types the shipping amount into the shipping field (today's behaviour, and what a persisted null mode coalesces to).
  - `Flat`: The merchant fixed a single shipping amount for this page. The field renders visible, seeded with that amount, and non-editable, and the create path stamps the configured value server-side. An amount of zero is free shipping, which is a configured value like any other.
  - `ProviderCalculated`: The shipping amount comes from a carrier rate quote the cardholder selects. The page quotes the shipping address once it is complete, re-quotes whenever it changes, and preselects an option so a cardholder who ignores the selector still has a valid total. The submit carries only the quote and option identifiers; the create path re-reads the stored quote and charges its amount. What happens when no rate can be quoted is the page's shippingQuoteFailureBehavior. A session that locks a shipping amount wins over this mode, and the selector does not render for it at all.
- `flatShippingAmount` (number(double)): Gets or sets the fixed shipping amount this page charges. Meaningful only in  `Flat` mode; the save-time validator refuses a non-null value  in any other mode so a stale amount cannot sit in the document waiting to be reactivated by a  later mode change. (nullable)
- `shippingQuoteFailureBehavior` ([HppShippingQuoteFailureBehavior](https://devportal.demo.winkpg.io/docs/api/models/HppShippingQuoteFailureBehavior.md)): Gets or sets what a `ProviderCalculated` page does when no  carrier rate can be quoted. `null` is treated as  `BlockPayment`. (nullable)
  Values:
  - `BlockPayment`: The payment cannot be taken until a rate is quoted. The default, and what a persisted null coalesces to: the safest reading of a page that never chose.
  - `ChargeFallbackAmount`: The page charges its configured fallback shipping amount (shippingFallbackAmount), which may be zero.
  - `ChargeNoShipping`: The payment proceeds with no shipping charged.
- `shippingFallbackAmount` (number(double)): Gets or sets the shipping amount, in the transaction currency, that a  `ProviderCalculated` page charges when no carrier rate can be  quoted and the page is set to `ChargeFallbackAmount`.  Zero is a valid configured value. (nullable)
- `taxAmountMode` ([HppTaxAmountMode](https://devportal.demo.winkpg.io/docs/api/models/HppTaxAmountMode.md)): Gets or sets where this page's tax amount comes from. `null` is treated as  `CardholderEntered`. (nullable)
  Values:
  - `CardholderEntered`: The cardholder types the tax amount into the tax field, or the merchant's own auto-calculated tax rate fills it. The default, and what a persisted null mode coalesces to.
  - `FlatRate`: The merchant picked one of its invoicing tax rates for this page. The tax field renders read-only, filled with that rate applied to the taxable amount, and the server computes and charges the same figure whatever the browser submitted.
  - `ProviderCalculated`: The rate comes from the merchant's tax provider, looked up for the customer's address. The tax field renders read-only, is quoted when the address is complete and re-quoted when it changes, and the server re-derives the rate for the submitted address and refuses a submit whose tax disagrees with it. A provider that cannot answer blocks the payment rather than charging no tax.
- `flatTaxRateId` (string(uuid)): Gets or sets the identifier of the merchant's invoicing tax rate this page charges. Meaningful  only in `FlatRate` mode; the save-time validator refuses a non-null  value in any other mode so a stale rate cannot be reactivated by a later mode change. (nullable)
- `taxQuoteAddress` ([HppTaxQuoteAddress](https://devportal.demo.winkpg.io/docs/api/models/HppTaxQuoteAddress.md)): Gets or sets which of the customer's addresses a  `ProviderCalculated` page looks the tax rate up for. `null` is  treated as `Billing`. The save-time validator refuses a non-null  value in any other mode. (nullable)
  Values:
  - `Billing`: The billing address. What a persisted null coalesces to.
  - `Shipping`: The shipping address, for a merchant that ships goods and owes tax where they are delivered. A page in this setting must show the shipping address panel.
- `panelLayout` (array<[HppPanelDefinition](https://devportal.demo.winkpg.io/docs/api/models/HppPanelDefinition.md)>): Optional explicit panel ordering and sizing for the public form. When `null`, the page  uses the default panel layout. (nullable)
  Fields of each item:
  - `panelKey` (string): The panel this definition positions. Use a constant from `HppPanelKeys`. (nullable)
  - `sortOrder` (integer(int32)): Relative render order, ascending. Ties break on the order the definitions appear  in the collection.
  - `columnSpan` (integer(int32)): Bootstrap 5 column span applied at the `md` breakpoint and up (1 to 12). On smaller  viewports every panel is full width (`col-12`). Values outside 1 to 12 are clamped  by the renderer.

## See also

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