commerce/settings/checkout

Use the Checkout Settings resource to specify the site-wide settings that define checkout and order processing behavior. This resource includes subresources for payment settings, customer checkout settings, and order processing settings.

JSON Example

CheckoutSettings Properties

Property Description
customerCheckoutSettings

type: customerCheckoutSettings

The properties of the customer checkout settings such as whether shoppers must be logged in.

customerCheckoutSettings.auditInfo

type: auditInfo

Basic audit info about the object, including date, time, and user account. This data may be captured when creating, updating, and removing data.

customerCheckoutSettings.auditInfo.createBy

type: string

Identifier of the user that created the object. System created and read only.

customerCheckoutSettings.auditInfo.createDate

type: DateTime

The date and time in UTC format set when the object was created.

customerCheckoutSettings.auditInfo.updateBy

type: string

Identifier of the user that updated the entity most recently.

customerCheckoutSettings.auditInfo.updateDate

type: DateTime

The date and time in UTC format the object was updated most recently.

customerCheckoutSettings.customerCheckoutType

type: string

The type of customer checking out in the order such as a guest who has not logged in or a customer who has logged in. Valid strings are either "LoginOptional," where shoppers are prompted to sign in but are not required to do so, or "LoginRequired," where shopppers must login before purchasing.

orderProcessingSettings

type: orderProcessingSettings

Settings that determine how orders are processed and order payments are authorized for the site.

orderProcessingSettings.abandonedOrderThresholdInMinutes

type: int

Abandoned order threshold in minutes indicates the number of minutes until a pending order is considered abandoned.

orderProcessingSettings.auditInfo

type: auditInfo

Basic audit info about the object, including date, time, and user account. This data may be captured when creating, updating, and removing data.

orderProcessingSettings.auditInfo.createBy

type: string

Identifier of the user that created the object. System created and read only.

orderProcessingSettings.auditInfo.createDate

type: DateTime

The date and time in UTC format set when the object was created.

orderProcessingSettings.auditInfo.updateBy

type: string

Identifier of the user that updated the entity most recently.

orderProcessingSettings.auditInfo.updateDate

type: DateTime

The date and time in UTC format the object was updated most recently.

orderProcessingSettings.giftCardProcessingType

type: string

giftCardProcessingType ApiType DOCUMENT_HERE

orderProcessingSettings.paymentProcessingFlowType

type: string

Determines whether payment authorization occurs when the order is placed or when the order is shipped.

orderProcessingSettings.thirdPartyPaymentSettings

type: list of thirdPartyPaymentSetting

The settings of the third party payment gateways as configured by the user.

orderProcessingSettings.thirdPartyPaymentSetting.paymentProcessingFlowType

type: string

Determines whether payment authorization occurs when the order is placed or when the order is shipped.

orderProcessingSettings.thirdPartyPaymentSetting.type

type: string

The type of scope, which is a developer account or production tenant.

orderProcessingSettings.useOverridePriceToCalculateDiscounts

type: bool

If true, use the override price defined for products in the order to calculate discounts for the order.

paymentSettings

type: paymentSettings

Properties of the payment settings used at order checkout time for the site.

paymentSettings.auditInfo

type: auditInfo

Basic audit info about the object, including date, time, and user account. This data may be captured when creating, updating, and removing data.

paymentSettings.auditInfo.createBy

type: string

Identifier of the user that created the object. System created and read only.

paymentSettings.auditInfo.createDate

type: DateTime

The date and time in UTC format set when the object was created.

paymentSettings.auditInfo.updateBy

type: string

Identifier of the user that updated the entity most recently.

paymentSettings.auditInfo.updateDate

type: DateTime

The date and time in UTC format the object was updated most recently.

paymentSettings.externalPaymentWorkflowDefinitions

type: list of externalPaymentWorkflowDefinition

The external payment workflwo definitions configured for the site's payment settings. At this time, only PayPal Express is supported.

paymentSettings.externalPaymentWorkflowDefinition.credentials

type: list of thirdPartyCredentialField

The credential fields required to communicate with the external payment processor.

paymentSettings.externalPaymentWorkflowDefinition.thirdPartyCredentialField.apiName

type: string

System-supplied API name required to communicate with the external payment processor.

paymentSettings.externalPaymentWorkflowDefinition.thirdPartyCredentialField.displayName

type: string

The name that displays for the payment gateway or third-party credentials field.

paymentSettings.externalPaymentWorkflowDefinition.thirdPartyCredentialField.inputType

type: string

The type of input selection used to define a value for the attribute, including Yes/No, Date, DateTime, List, TextBox, or TextArea.

paymentSettings.externalPaymentWorkflowDefinition.thirdPartyCredentialField.isSensitive

type: bool

A flag to determine if the field holds sensitive information.

paymentSettings.externalPaymentWorkflowDefinition.thirdPartyCredentialField.value

type: string

The value of a property, used by numerous objects within Kibo eCommerce including facets, attributes, products, localized content, metadata, capabilities (Kibo eCommerce and third-party), location inventory adjustment, and more. The value may be a string, integer, or double. Validation may be run against the entered and saved values depending on the object type.

paymentSettings.externalPaymentWorkflowDefinition.thirdPartyCredentialField.vocabularyValues

type: list of vocabularyValue

List of valid vocabulary values defined for an attribute.

paymentSettings.externalPaymentWorkflowDefinition.thirdPartyCredentialField.vocabularyValue.contents

type: list of localizedContent

Contents of the vocabulary values that have been defined for an attribute.

paymentSettings.externalPaymentWorkflowDefinition.thirdPartyCredentialField.vocabularyValue.localizedContent.localeCode

type: string

The two character locale code, per the country code provided. This code determines the localized content to use and display.

paymentSettings.externalPaymentWorkflowDefinition.thirdPartyCredentialField.vocabularyValue.localizedContent.value

type: string

The value of a property, used by numerous objects within Kibo eCommerce including facets, attributes, products, localized content, metadata, capabilities (Kibo eCommerce and third-party), location inventory adjustment, and more. The value may be a string, integer, or double. Validation may be run against the entered and saved values depending on the object type.

paymentSettings.externalPaymentWorkflowDefinition.thirdPartyCredentialField.vocabularyValue.key

type: string

Key used for metadata defined for objects, including extensible attributes, custom attributes associated with a shipping provider, and search synonyms definitions. This content may be user-defined depending on the object and usage.

For search synonym definitions, refer to Synonym Expansion Types for more information about the key usage.

paymentSettings.externalPaymentWorkflowDefinition.description

type: string

The localized description in text for the object, displayed per the locale code. For example, descriptions are used for product descriptions, attributes, and pre-authorization transaction types.

paymentSettings.externalPaymentWorkflowDefinition.fullyQualifiedName

type: string

Fully qualified name of the attribute for the order or customer.

paymentSettings.externalPaymentWorkflowDefinition.isEnabled

type: bool

Indicates if the object or process is enabled. This indicator is used on external payment workflows and product option values. For product options, if true, the product option value is available for a shopper to choose. During configuration, this property will be false if the option value is invalid with other selected options. For external payment workflows, if true, the workflow is enabled and available for routing payments for the submitted order.

paymentSettings.externalPaymentWorkflowDefinition.isLegacy

type: bool

Whether this is a legacy process.

paymentSettings.externalPaymentWorkflowDefinition.name

type: string

The user supplied name that appears in Admin. You can use this field for identification purposes.

paymentSettings.externalPaymentWorkflowDefinition.namespace

type: string

The namespace for the accessible APIs and source capabilities in the core of Kibo eCommerce APIs.

paymentSettings.gateways

type: list of gateway

List of name and account information for a payment gateway.

paymentSettings.gateway.areGatewayCredentialFieldsSet

type: bool

If true, the credential fields for the gateway are configured with valid values. For security purposes, Kibo eCommerce does not return the credential fields for the gateway subresource.

paymentSettings.gateway.gatewayAccount

type: gatewayAccount

Account information for the payment gateway.

paymentSettings.gateway.gatewayAccount.binPatterns

type: list of string

The bin patterns for a branded credit card.

paymentSettings.gateway.gatewayAccount.countryCode

type: string

The 2-letter geographic code representing the country for the physical or mailing address. Currently limited to the US.

paymentSettings.gateway.gatewayAccount.credentialFields

type: list of gatewayCredentialFieldValue

List of credential fields for the payment gateway account.

paymentSettings.gateway.gatewayAccount.gatewayCredentialFieldValue.isValueSet

type: bool

A list of KeyValueTuples containing the configuration from the application setup.

paymentSettings.gateway.gatewayAccount.gatewayCredentialFieldValue.name

type: string

The user supplied name that appears in Admin. You can use this field for identification purposes.

paymentSettings.gateway.gatewayAccount.gatewayCredentialFieldValue.value

type: string

The value of a property, used by numerous objects within Kibo eCommerce including facets, attributes, products, localized content, metadata, capabilities (Kibo eCommerce and third-party), location inventory adjustment, and more. The value may be a string, integer, or double. Validation may be run against the entered and saved values depending on the object type.

paymentSettings.gateway.gatewayAccount.gatewayDefinitionId

type: string

Identifier of the payment gateway.

paymentSettings.gateway.gatewayAccount.isActive

type: bool

Indicates if the object or feature is active.

paymentSettings.gateway.gatewayAccount.name

type: string

The user supplied name that appears in Admin. You can use this field for identification purposes.

paymentSettings.gateway.gatewayDefinition

type: gatewayDefinition

Properties of the payment gateway.

paymentSettings.gateway.gatewayDefinition.administationUi

type: Mozu.Core.Api.Contracts.Json

paymentSettings.gateway.gatewayDefinition.countryCode

type: string

The 2-letter geographic code representing the country for the physical or mailing address. Currently limited to the US.

paymentSettings.gateway.gatewayDefinition.credentialDefinitions

type: list of gatewayCredentialFieldDefinition

Credential fields for the payment gateway. For security purposes, Kibo eCommerce does not return these credential fields.

paymentSettings.gateway.gatewayDefinition.gatewayCredentialFieldDefinition.adminDisplayOrder

type: int

The sequential display order of the gateway in Admin.

paymentSettings.gateway.gatewayDefinition.gatewayCredentialFieldDefinition.displayName

type: string

The name that displays for the payment gateway or third-party credentials field.

paymentSettings.gateway.gatewayDefinition.gatewayCredentialFieldDefinition.isPublic

type: bool

Whether or not the field is public.

paymentSettings.gateway.gatewayDefinition.gatewayCredentialFieldDefinition.name

type: string

The user supplied name that appears in Admin. You can use this field for identification purposes.

paymentSettings.gateway.gatewayDefinition.features

type: list of string

features ApiType DOCUMENT_HERE

paymentSettings.gateway.gatewayDefinition.id

type: string

Unique identifier of the source property, such as a catalog, discount, order, or email template.

For a product field it will be the name of the field.

For a category ID, must be a positive integer not greater than 2000000. By default, Kibo eCommerce auto-generates a category ID when categories are created. If you want to specify an ID during creation (which preserves category link relationships when migrating tenant data from one sandbox to another), you must also include the useProvidedId query string in the endpoint. For example, api/commerce/catalog/admin/categories/?useProvidedId=true. Then, use the id property to specify the desired category ID.

For a product attribute it will be the Attribute FQN.

For a document, the ID must be specified as a 32 character, case-insensitive, alphanumeric string. You can specify the ID as 32 sequential characters or as groups separated by dashes in the format 8-4-4-4-12. For example, bba0a1a885e2413bb097ceacf7bac366
or
bba0a1a8-85e2-413b-b097-ceacf7bac366.

For email templates, the ID must be one of the following values:
BackInStock
OrderChanged
OrderShipped
OrderFulfillmentDetailsChanged
ShopperLoginCreated
ShopperPasswordReset
ReturnCreated
ReturnAuthorized
ReturnUpdated
ReturnRejected
ReturnCancelled
ReturnClosed
RefundCreated
StoreCreditCreated
StoreCreditUpdated
GiftCardCreated

paymentSettings.gateway.gatewayDefinition.integrationImplTypeName

type: string

The implementing type name of the integration with the payment gateway.

paymentSettings.gateway.gatewayDefinition.name

type: string

The user supplied name that appears in Admin. You can use this field for identification purposes.

paymentSettings.gateway.gatewayDefinition.prodServiceURL

type: string

URL of the production payment service.

paymentSettings.gateway.gatewayDefinition.supportedCards

type: list of supportedCard

The types of credit cards supported by the payment gateway.

paymentSettings.gateway.gatewayDefinition.supportedCard.friendlyName

type: string

Company-defined friendly name that identifies the supported card.

paymentSettings.gateway.gatewayDefinition.supportedCard.paymentType

type: string

The type of payment, such as credit card, check, or PayPal Express. Additional payment types will be supported in future releases.

paymentSettings.gateway.gatewayDefinition.supportedCard.type

type: string

The type of scope, which is a developer account or production tenant.

paymentSettings.gateway.gatewayDefinition.testServiceURL

type: string

URL of the test payment service environment.

paymentSettings.gateway.siteGatewaySupportedCards

type: list of siteGatewaySupportedCard

The cards supported by the payment gateway enabled for the site.

paymentSettings.gateway.siteGatewaySupportedCard.cardTypeId

type: string

An identifier for the type of payment card being used in the gateway.

paymentSettings.gateway.siteGatewaySupportedCard.gatewayAccountId

type: string

The identifier of the account for the gateway.

paymentSettings.gateway.siteGatewaySupportedCard.paymentType

type: string

The type of payment, such as credit card, check, or PayPal Express. Additional payment types will be supported in future releases.

paymentSettings.gateway.siteGatewaySupportedCard.processingGatewayAccountId

type: string

The identifier of the account for the processing gateway.

paymentSettings.gateway.supportedCards

type: list of string

The types of credit cards supported by the payment gateway.

paymentSettings.payByMail

type: bool

Settings that provide for the ability to pay for an order by mail.

paymentSettings.purchaseOrder

type: purchaseOrderPaymentDefinition

The purchase order payment type settings associated with a site.

Refer to Enable the Purchase Order Payment Type in the Purchase Orders guides topic for more information.

paymentSettings.purchaseOrderPaymentDefinition.allowSplitPayment

type: bool

Specifies whether another payment can be used with the purchase order.

Note:  Split payment is currently not supported with purchase orders.

paymentSettings.purchaseOrderPaymentDefinition.customFields

type: list of purchaseOrderCustomField

The details of the custom fields associated with the purchase order payment type for the specific site.

You can create custom text fields that customers or CSRs can fill out when they use the purchase order payment method before submitting the order.

Refer to Custom Text Fields in the Purchase Orders guides topic for more information.

paymentSettings.purchaseOrderPaymentDefinition.purchaseOrderCustomField.code

type: string

The unique identifier of the object.

paymentSettings.purchaseOrderPaymentDefinition.purchaseOrderCustomField.isEnabled

type: bool

Indicates if the object or process is enabled. This indicator is used on external payment workflows and product option values. For product options, if true, the product option value is available for a shopper to choose. During configuration, this property will be false if the option value is invalid with other selected options. For external payment workflows, if true, the workflow is enabled and available for routing payments for the submitted order.

paymentSettings.purchaseOrderPaymentDefinition.purchaseOrderCustomField.isRequired

type: bool

Indicates if the property, attribute, product option, or product extra is required. If true, the object must have a defined value.

paymentSettings.purchaseOrderPaymentDefinition.purchaseOrderCustomField.label

type: string

Descriptive text used as a label for objects, such as field names, facets, date ranges, contact information, and package information.

paymentSettings.purchaseOrderPaymentDefinition.purchaseOrderCustomField.sequenceNumber

type: int

The order/sequence position in which Admin displays the custom field.

paymentSettings.purchaseOrderPaymentDefinition.isEnabled

type: bool

Indicates if the object or process is enabled. This indicator is used on external payment workflows and product option values. For product options, if true, the product option value is available for a shopper to choose. During configuration, this property will be false if the option value is invalid with other selected options. For external payment workflows, if true, the workflow is enabled and available for routing payments for the submitted order.

paymentSettings.purchaseOrderPaymentDefinition.paymentTerms

type: list of purchaseOrderPaymentTerm

The complete set of payment terms details for which all your customers are possibly applicable on that specific site.

Refer to Payment Terms in the Purchase Orders guides topic for more information.

paymentSettings.purchaseOrderPaymentDefinition.purchaseOrderPaymentTerm.code

type: string

The unique identifier of the object.

paymentSettings.purchaseOrderPaymentDefinition.purchaseOrderPaymentTerm.description

type: string

The localized description in text for the object, displayed per the locale code. For example, descriptions are used for product descriptions, attributes, and pre-authorization transaction types.

paymentSettings.purchaseOrderPaymentDefinition.purchaseOrderPaymentTerm.sequenceNumber

type: int

The order/sequence position in which Admin displays the payment term.

Operations

Operation Name Request URI Description
GetCheckoutSettings GET %3fresponseFields%3d%7bresponseFields%7d

Retrieves all checkout settings defined for the site including payment settings (payment gateway ID and credentials), shopper checkout settings (login requirement or guest mode and custom attributes), and order processing settings (when payment is authorized and captured plus any custom attributes).