Locks the page against deletion and against changes to its billing-critical fields.
POST
/api/hostedpaymentpages/lock-async
deprecated
Requires: HostedPaymentPage.HostedPaymentPages, HostedPaymentPage.HostedPaymentPages.Lock, merchant scope.
The page purpose, the owning merchant and the active state are frozen; the rest of the configuration stays editable. Who locked the page, and the reason given, are recorded.
Example request
Every block below sends the same request. Replace {{BASE_URL}} with the address of the API you are calling and {{API_KEY}} with your own key.
The request body is a . See the Request body section below for its fields.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
id
required |
query | string (uuid) | The page to lock. |
reason
required |
query | string | Optional reason recorded alongside the lock. |
suppressNulls
required |
query | boolean | If true, omit properties with null values. |
Request body
application/json
, required
| Field | Type | Description |
|---|
This request body has no documented fields.
Responses
200 OK
Body: HostedPaymentPageDto
Each item has these fields.
| Field | Type | Description |
|---|---|---|
extraProperties
required |
object | nullableread only |
id
required |
string (uuid) | |
creationTime
required |
string (date-time) | The date and time when this entity was created. |
creatorId
required |
string (uuid) | The ID of the user who created this entity. nullable |
lastModificationTime
required |
string (date-time) | The date and time when this entity was last modified. nullable |
lastModifierId
required |
string (uuid) | The ID of the user who last modified this entity. nullable |
isDeleted
required |
boolean | Indicates whether this entity has been deleted. |
deleterId
required |
string (uuid) | The ID of the user who deleted this entity, if it is deleted. nullable |
deletionTime
required |
string (date-time) | The date and time when this entity was deleted, if it is deleted. nullable |
name
required |
string | nullable |
concurrencyStamp
required |
string | nullable |
tenantId
required |
string (uuid) | nullableread only |
merchantId
required |
string (uuid) | |
isActive
required |
boolean | |
title
required |
string | nullable |
bannerImage
required |
string | Filename of the header banner image, as produced by the portal image uploader. This is not a URL: the public page resolves the filename against the hosted-page image CDN container. See `bannerImage` for the write contract. nullable |
hideBanner
required |
boolean | |
supportRetail
required |
boolean | |
usePostOnSubmit
required |
boolean | |
useCaptcha
required |
boolean | |
supportTokenization
required |
boolean | |
pageActions
required |
HostedPaymentPageActionUrls | Represents the set of action URLs for the hosted payment page, including submit, edit, continue, and cancel (Back) actions. |
donations
required |
HostedPageDonations | Represents donation configuration for the hosted payment page, including enablement and predefined amounts. |
theme
required |
HostedPageTheme | Represents theme settings for the hosted payment page, including colors, fonts, and header styles. |
fieldsAndPanels
required |
HostedPageFieldsAndPanels | Represents the configuration of fields and panels for the hosted payment page, including display options and custom labels. |
receiptAndNotifications
required |
HostedPageReceipts | Represents receipt and notification settings for the hosted payment page, including callback URLs, email options, and notification recipients. |
disclosures
required |
HostedPageDisclosures | Represents disclosure information for a hosted payment page, including display and acceptance requirements. |
customText
required |
HostedPageCustomText | Represents custom text and links for a hosted payment page, including terms, promo, support, and privacy policy. |
entityVersion
required |
integer (int32) | read only |
isTemplate
required |
boolean | Deprecated. `true` when a template has been saved from this page. Templates live in the shared template store; this echoes whether a store row exists for the page (or, for a page written under the former inline model that has not been migrated yet, its stored flag). deprecated |
templateName
required |
string | Deprecated. The name of the template saved from this page, echoed from the shared template store; `null` when `isTemplate` is `false`. nullabledeprecated |
templateDescription
required |
string | Deprecated. The description of the template saved from this page, echoed from the shared template store; `null` when `isTemplate` is `false`. nullabledeprecated |
shareTemplate
required |
boolean | Deprecated. Whether the template saved from this page is shared beyond its merchant, echoed from the shared template store's published state. deprecated |
createdFromTemplateId
required |
string (uuid) | The template this page was created from, or `null` for a page started blank. Set by the create-from-template paths and by the designers' Load Template action when the page is saved. nullable |
pageMode
required |
all of HostedPaymentPageMode | nullable |
collectBusinessName
required |
boolean | nullable |
collectPhone
required |
boolean | nullable |
allowPromoCodes
required |
boolean | nullable |
collectTaxId
required |
boolean | Deprecated and inert. No hosted payment page renders a tax ID field, so setting this collects nothing and no tax ID is stored. To capture a buyer tax ID, define a merchant custom field and make it visible on hosted payment pages. nullable |
savePaymentDetails
required |
boolean | nullable |
declineRetryMode
required |
all of HppDeclineRetryMode | What a payment link created against this page does when a payment is declined. `null` inherits the tenant default, which is the historical single-use behavior: any declined payment spends the link permanently. nullable |
requireTermsAcceptance
required |
boolean | nullable |
termsUrl
required |
string | nullable |
callToActionText
required |
string | nullable |
productName
required |
string | nullable |
productDescription
required |
string | nullable |
productImageBlobName
required |
string | Filename of the Streamlined order-summary product image, as produced by the portal image uploader. This is not a URL: the public page resolves the filename against the hosted-page image CDN container. See `productImageBlobName` for the write contract. nullable |
fixedAmount
required |
number (double) | nullable |
allowCustomAmount
required |
boolean | nullable |
successRedirectUrl
required |
string | nullable |
successRedirectDelaySeconds
required |
integer (int32) | Seconds the hosted confirmation panel is shown before the payer is sent to the configured post-payment address. `null` means the page inherits the platform-configured delay. See `successRedirectDelaySeconds` for the write contract. nullable |
paymentMethods
required |
array of string | nullable |
customFieldNames
required |
array of string | Optional per-page allow-list of merchant custom-field names this page shows and accepts. `null` means "all of the merchant's HPP-visible custom fields"; an explicit empty list means "no merchant custom fields on this page". See `customFieldNames` for the full-replace semantics. nullable |
resolvedCustomFields
required |
array of HppResolvedCustomFieldDto | The merchant custom fields this page actually shows and accepts, in the order it renders them. Read-only, and resolved on every page the hosted-payment-pages API returns: `customFieldNames` is only the page's selection, and its default (`null`) means "all of the merchant's hosted-page custom fields", so the selection on its own does not tell a caller what the page uses. This resolves it against the merchant's current definitions, applying the same enabled / hosted-page-visible / page-purpose gates the page itself applies, and reports each field's validation rules so a value can be checked before it is posted. The list also carries the fields the merchant keeps hidden from the payer but opted in to accepting a value for through the session API, flagged by `isRenderedToPayer`. Those are reported precisely because the API is the only way to use them. Empty means the page uses no merchant custom fields. Definitions are merchant-global and live, so this tracks the merchant's configuration: renaming or disabling a field changes what this returns for every page that had not scoped itself to a fixed list. Sending it back on a create or update has no effect; the write contract is `customFieldNames`. nullable |
allowedEmbeddingDomains
required |
array of string | nullable |
checkoutLayout
required |
all of CheckoutLayout | nullable |
allowLevel3LineItems
required |
boolean | nullable |
pagePurpose
required |
all of HppPagePurpose | Instance-level page purpose. `null` resolves to `Payment`. `SaveCard` dedicates the page to capturing and storing the customer's card via a zero-dollar verification (no charge); amount-bearing configuration is hidden in the builder and rejected by the validator, and sessions created against the page inherit the save-card flow. nullable |
recurringPlan
required |
all of HppRecurringPlan | The inlined recurring-schedule definition whose first payment a `SaveCardWithInitialCharge` page charges. `null` for every other purpose. |
captureMode
required |
all of HppCaptureMode | Capture timing for the chargeable Payment flow. `null` resolves to `Sale`. `Authorize` produces an Authorization with capture deferred. nullable |
allowTransparentEmbedding
required |
boolean | Opt-in to a see-through backdrop when the page is rendered inside a merchant iframe. `null`/`false` keeps the page opaque (the default). Honoured only when the request is genuinely framed and `allowedEmbeddingDomains` is configured. nullable |
hideTitle
required |
boolean | Suppress the page `title` on the payer-facing page (both the Classic and the Streamlined renderer). `null`/`false` is the default and renders the title exactly as before. Display-only: the title is still stored, still returned, and still shown on the administrative surfaces (grid, quick view, favorites subtitle). nullable |
hideMerchantName
required |
boolean | Suppress the merchant business-name line in the Streamlined identity header on the payer-facing page. `null`/`false` is the default. The banner image in that same header stays governed by `hideBanner`. Display-only, and deliberately narrow: the merchant name still reaches the Apple Pay / Paze sheet total label and the NACHA ACH consent copy (and the consent evidence captured with an ACH authorization), which must name the real merchant regardless of this flag. nullable |
hideLoadingIndicator
required |
boolean | Suppress the gateway's own loading chrome on the payer-facing page: the loading card shown while the page resolves, and the connecting affordance drawn over the prerendered form before the circuit is live. `null`/`false` is the default and shows them exactly as before. For an integrator who embeds the page and paints a loading state of their own, revealing the frame on the `ready` event. Display-only: the session, the payment and the events the page emits are untouched. Honored on the initial document, which the embedding-restriction feature resolves the page for; a deployment with that feature off shows the chrome as before. nullable |
campaignId
required |
string (uuid) | Optional campaign this page belongs to. Sessions created from this page inherit it when the create request names no campaign of its own, so a merchant can attach a whole page to a campaign once instead of naming it on every link. nullable |
products
required |
array of HppPageProduct | The catalog products this page sells, in display order, or `null` for a page priced by a single `productName` with a `fixedAmount` or a payer-entered amount. Each entry references an invoicing catalog product owned by this page's merchant; the price, name and quantity limits are read from the catalog when a link is created and snapshotted onto that link, so editing the catalog never reprices a link already in a payer's hands. nullable |
isLocked
required |
boolean | nullable |
lockedAt
required |
string (date-time) | nullable |
lockedByUserId
required |
string (uuid) | nullable |
lockedByUserName
required |
string | nullable |
lockReason
required |
string | nullable |
This response has no documented body fields.
403 Forbidden
Body: RemoteServiceErrorResponse
Each item has these fields.
| Field | Type | Description |
|---|---|---|
error
required |
RemoteServiceErrorInfo |
This response has no documented body fields.
401 Unauthorized
Body: RemoteServiceErrorResponse
Each item has these fields.
| Field | Type | Description |
|---|---|---|
error
required |
RemoteServiceErrorInfo |
This response has no documented body fields.
400 Bad Request
Body: RemoteServiceErrorResponse
Each item has these fields.
| Field | Type | Description |
|---|---|---|
error
required |
RemoteServiceErrorInfo |
This response has no documented body fields.
404 Not Found
Body: RemoteServiceErrorResponse
Each item has these fields.
| Field | Type | Description |
|---|---|---|
error
required |
RemoteServiceErrorInfo |
This response has no documented body fields.
501 Not Implemented
Body: RemoteServiceErrorResponse
Each item has these fields.
| Field | Type | Description |
|---|---|---|
error
required |
RemoteServiceErrorInfo |
This response has no documented body fields.
500 Internal Server Error
Body: RemoteServiceErrorResponse
Each item has these fields.
| Field | Type | Description |
|---|---|---|
error
required |
RemoteServiceErrorInfo |
This response has no documented body fields.
default The request failed. The body carries the standard error envelope: a machine-readable `error.code`, a human-readable `error.message`, and `error.validationErrors` when the failure was a validation rejection. See the error-code reference in this document's description for the values `error.code` can take.
Body: RemoteServiceErrorResponse
Each item has these fields.
| Field | Type | Description |
|---|---|---|
error
required |
RemoteServiceErrorInfo |
This response has no documented body fields.
429 The request was refused because a rate limit was exceeded. Wait at least the interval `Retry-After` names before retrying, then back off. Limits are tuned per deployment, so read the allowance from the response headers rather than assuming a fixed ceiling.
Body: RateLimitProblemDetails
Each item has these fields.
| Field | Type | Description |
|---|---|---|
type
required |
string | The problem type identifier. Always the same value: the failure is the status code itself, so there is no sub-type for a caller to branch on. nullable |
title
required |
string | A short, human-readable summary of the problem type. nullable |
status
required |
integer (int32) | The HTTP status code, repeated in the body as the problem-details format defines. |
detail
required |
string | A human-readable explanation of this occurrence of the problem. nullable |
retryAfterSeconds
required |
integer (int32) | How long to wait before retrying, in whole seconds, carrying the same figure as the `Retry-After` header. Always at least one: a value of zero would invite an immediate retry that is certain to be rejected again. |
This response has no documented body fields.
Errors
A failed request returns the platform error envelope. The
error reference lists every value
error.code can carry and shows the four response shapes.