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.
Signed in, you can send this request to your own sandbox merchant from the console and read the answer. Sign in to try it.
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 | Older Streamlined control for the payer phone field. Honored only while `fieldsAndPanels.fieldContactPhone` is `null`; once that visibility is set it decides what the page renders, and this toggle is kept in step with it on every save. 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 | Older control for the read-only Level 3 line-item summary. Honored only while `fieldsAndPanels.fieldLevel3Amount` is `null`; once that visibility is set it decides what the page renders, and this toggle is kept in step with it on every save. 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, or because something a later retry can clear stopped it. A rate limit refusal carries an `application/problem+json` body: 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. Any other refusal carries the standard error envelope as `application/json`, and its `error.code` names the cause.
Body: RemoteServiceErrorResponse
Each item has these fields.
| Field | Type | Description |
|---|---|---|
error
required |
RemoteServiceErrorInfo |
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.