The Payment Integrations API lets you set up and manage payment method settings for your Checkout applications without relying on manual configuration in the Merchant Center. It makes it easier to configure and update payment methods in a scalable and automated way. With this API, you can enable or disable payment methods, keep settings consistent across multiple Stores or Regions, and make changes such as adding new payment methods or updating payment predicates.
100
Payment Integrations can be added to an Application. Learn more about this limit.Representations
PaymentIntegration
id ​String​ | Unique identifier of the PaymentIntegration. |
version ​Int​ | Current version of the PaymentIntegration. |
key ​String​ | User-defined unique identifier of the PaymentIntegration. MinLength: 2 ​MaxLength: 256 ​Pattern: ^[A-Za-z0-9_-]+$ |
application ​ | Reference to an Application associated with the PaymentIntegration. |
status ​ | Indicates whether the Payment Integration is active or not. Default:ÂInactive ​ |
type ​String​ | Type of the PaymentIntegration, for example, card, Paypal, or Applepay. This field must be same as used by the payment service provider (PSP) and must be supported by the Connector. Use drop-in for drop-in Payment Integrations. |
name ​String​ | Name of the PaymentIntegration in the Merchant Center. |
predicate ​String​ | Predicate in JSONata format. Applies only when componentType is Component . |
componentType ​ | Indicates the component type of Payment Integration. |
connectorDeployment ​ | Connector deployment info for the Payment Integration. |
displayInfo ​DisplayInfo​ | Customization for the information that is displayed in the UI. Applies only when componentType is Component |
sortingInfo ​SortingInfo​ | Sorting information of the Payment Integration. |
automatedReversalConfiguration ​ | Configuration of the Payment Integration automatic reversal. |
createdAt ​DateTime​ | Date and time (UTC) the PaymentIntegration was initially created. |
createdBy ​CreatedBy​ | IDs and references that created the PaymentIntegration. |
lastModifiedAt ​DateTime​ | Date and time (UTC) the PaymentIntegration was last updated. |
lastModifiedBy ​ | IDs and references that last modified the PaymentIntegration. |
PaymentIntegration Draft
key ​String​ | User-defined unique identifier of the PaymentIntegration. MinLength: 2 ​MaxLength: 256 ​Pattern: ^[A-Za-z0-9_-]+$ |
application ​ | Reference to an Application associated with the PaymentIntegration. |
status ​ | Indicates whether the Payment Integration is active or not. By default in Inactive. |
type ​String​ | Type of the PaymentIntegration. ie. card, paypal, applepay. |
name ​String​ | Name of the PaymentIntegration in the Merchant Center. |
predicate ​String​ | Predicate in JSONata format. Applies only when componentType is Component . |
componentType ​ | Indicates the component type of payment integration. |
connectorDeployment ​ | Connector deployment info for the payment integration. |
displayInfo ​DisplayInfo​ | Customization for the information that is displayed in the UI. Applies only when componentType is Component |
sortingInfo ​SortingInfo​ | Sorting info of the payment integration. |
automatedReversalConfiguration ​ | Configuration of the payment integration automatic reversal. |
Application Reference
id ​String​ | Unique identifier of the referenced Application. |
typeId ​ | application Type of referenced resource. |
ConnectorDeployment Reference
Reference to a connector deployment for the payment integration.
id ​String​ | Unique identifier of the referenced Connect Deployment. |
typeId ​String​ | Type identifier, always deployment for Connector deployment references. |
DisplayInfo
Display information for the payment integration in the UI.
label ​LocalizedString​ | Label of the payment method displayed in the UI. |
logoUrl ​LocalizedUrl​ | Logo of the payment method displayed in the UI. |
description ​LocalizedString​ | Description of the payment method displayed in the UI. |
payButtonText ​LocalizedString​ | Text of the Pay button displayed in the UI when paying with the payment method. |
SortingInfo
priority ​Int​ | Sorting priority of the Payment Integration. |
AutomatedReversalConfiguration
Configuration for automated reversal of payments.
status ​String​ | Indicates whether the automated reversal configuration is active or not. Can be"Active" , or "Inactive" ​ |
predicate ​String​ | Cart-based predicate in JSONata format to determine when automated reversal should be applied. |
PaymentComponentType
Component
Each payment method component renders just a single payment method.
DropIn
A component that renders all the payment methods.
PaymentIntegrationReference
id ​String​ | Unique identifier of the referenced Payment Integration. |
typeId ​ | payment-integration Type of referenced resource. |
PaymentIntegrationResourceIdentifier
id
or key
is required. If both are set, an InvalidJsonInput error is returned.id ​String​ | Unique identifier of the referenced Payment Integration. Required if key is absent. |
typeId ​ | payment-integration Type of referenced resource. If given, it must match the expected ReferenceTypeId of the referenced resource. |
key ​String​ | User-defined unique identifier of the referenced Payment Integration. Required if id is absent. |
PaymentIntegrationStatus
Active
The Payment Integration is active and can be used for processing payments.
Inactive
The Payment Integration is inactive and cannot be used for processing payments.
Get PaymentIntegration
Get PaymentIntegration by ID
id
.view_checkout_payment_integrations:{projectKey}
projectKey String ​ | Identifier of your Checkout entity and key of your Project. |
id String ​ | id of the PaymentIntegration. |
region String ​ |
application/json
curl --get https://checkout.{region}.commercetools.com/{projectKey}/payment-integrations/{id} -i \
--header "Authorization: Bearer ${BEARER_TOKEN}"
{
"id": "cb5a7f70-4d19-4a95-8296-380a9c87bd1c",
"version": 1,
"createdAt": "2025-05-16T10:48:44.750Z",
"lastModifiedAt": "2025-05-16T10:48:44.750Z",
"type": "card",
"status": "Active",
"name": "Credit Card via Adyen",
"application": {
"id": "bc95d35a-8cc1-484c-b207-bd8c55a55a28",
"typeId": "application"
},
"connectorDeployment": {
"id": "cb0ad988-cc50-4829-83ad-777993d0ddd5",
"typeId": "deployment"
},
"componentType": "Component",
"predicate": "country='DE'",
"sortingInfo": {
"priority": 1
},
"displayInfo": {
"label": {
"en": "Credit Cards"
},
"logoUrl": {
"en": "https://mylogourl.com/logo.svg"
},
"description": {
"en": "Pay securely with Credit Cards"
},
"payButtonText": {
"en": "Pay with cards"
}
},
"automatedReversalConfiguration": {
"status": "Active",
"predicate": "country='DE'"
}
}
Get PaymentIntegration by Key
key
. Specific Error Codes:view_checkout_payment_integrations:{projectKey}
projectKey String ​ | Identifier of your Checkout entity and key of your Project. |
key String ​ | key of the PaymentIntegration. |
region String ​ |
application/json
curl --get https://checkout.{region}.commercetools.com/{projectKey}/payment-integrations/key={key} -i \
--header "Authorization: Bearer ${BEARER_TOKEN}"
{
"id": "cb5a7f70-4d19-4a95-8296-380a9c87bd1c",
"version": 1,
"createdAt": "2025-05-16T10:48:44.750Z",
"lastModifiedAt": "2025-05-16T10:48:44.750Z",
"type": "card",
"status": "Active",
"name": "Credit Card via Adyen",
"application": {
"id": "bc95d35a-8cc1-484c-b207-bd8c55a55a28",
"typeId": "application"
},
"connectorDeployment": {
"id": "cb0ad988-cc50-4829-83ad-777993d0ddd5",
"typeId": "deployment"
},
"componentType": "Component",
"predicate": "country='DE'",
"sortingInfo": {
"priority": 1
},
"displayInfo": {
"label": {
"en": "Credit Cards"
},
"logoUrl": {
"en": "https://mylogourl.com/logo.svg"
},
"description": {
"en": "Pay securely with Credit Cards"
},
"payButtonText": {
"en": "Pay with cards"
}
},
"automatedReversalConfiguration": {
"status": "Active",
"predicate": "country='DE'"
}
}
Query PaymentIntegrations
view_checkout_payment_integrations:{projectKey}
projectKey String ​ | Identifier of your Checkout entity and key of your Project. |
region String ​ |
sort String ​ | Controls Sorting of query results. The parameter can be passed multiple times. |
limit Int ​ | Number of results requested. Default: 20 ​Minimum: 0 ​Maximum: 500 ​ |
offset Int ​ | Number of elements skipped. Default: 0 ​Maximum: 10000 ​ |
withTotal Boolean ​ | Controls the calculation of the total number of query results. Default: true ​ |
application/json
curl --get https://checkout.{region}.commercetools.com/{projectKey}/payment-integrations -i \
--header "Authorization: Bearer ${BEARER_TOKEN}"
{
"limit": 20,
"offset": 0,
"count": 2,
"total": 2,
"results": [
{
"id": "cb5a7f70-4d19-4a95-8296-380a9c87bd1c",
"version": 1,
"createdAt": "2025-05-16T10:48:44.750Z",
"lastModifiedAt": "2025-05-16T10:48:44.750Z",
"type": "card",
"status": "Active",
"name": "Credit Card via Adyen",
"application": {
"id": "bc95d35a-8cc1-484c-b207-bd8c55a55a28",
"typeId": "application"
},
"connectorDeployment": {
"id": "cb0ad988-cc50-4829-83ad-777993d0ddd5",
"typeId": "deployment"
},
"componentType": "Component",
"predicate": "country='DE'",
"sortingInfo": {
"priority": 1
},
"displayInfo": {
"label": {
"en": "Credit Cards"
},
"logoUrl": {
"en": "https://mylogourl.com/logo.svg"
},
"description": {
"en": "Pay securely with Credit Cards"
},
"payButtonText": {
"en": "Pay with cards"
}
},
"automatedReversalConfiguration": {
"status": "Active",
"predicate": "country='DE'"
}
},
{
"id": "a1b2c3d4-5e6f-7890-abcd-ef1234567890",
"version": 1,
"createdAt": "2025-05-16T11:30:15.200Z",
"lastModifiedAt": "2025-05-16T11:30:15.200Z",
"type": "paypal",
"status": "Active",
"name": "PayPal Integration",
"application": {
"id": "bc95d35a-8cc1-484c-b207-bd8c55a55a28",
"typeId": "application"
},
"connectorDeployment": {
"id": "d2e3f4g5-h6i7-8901-bcde-f23456789012",
"typeId": "deployment"
},
"componentType": "DropIn",
"predicate": "country='US'",
"sortingInfo": {
"priority": 2
},
"displayInfo": {
"label": {
"en": "PayPal"
},
"logoUrl": {
"en": "https://paypal.com/logo.svg"
},
"description": {
"en": "Pay with your PayPal account"
},
"payButtonText": {
"en": "Pay with PayPal"
}
},
"automatedReversalConfiguration": {
"status": "Inactive",
"predicate": "country='US'"
}
}
]
}
Check if PaymentIntegration exists
Check if PaymentIntegration exists by ID
id
exists. Returns 200 OK
if the PaymentIntegration exists, or 404 Not Found
if it doesn't. Specific Error Codes:view_checkout_payment_integrations:{projectKey}
projectKey String ​ | Identifier of your Checkout entity and key of your Project. |
id String ​ | id of the PaymentIntegration. |
region String ​ |
curl --head https://checkout.{region}.commercetools.com/{projectKey}/payment-integrations/{id} -i \
--header "Authorization: Bearer ${BEARER_TOKEN}"
Check if PaymentIntegration exists by Key
key
exists. Returns 200 OK
if the PaymentIntegration exists, or 404 Not Found
if it doesn't. Specific Error Codes:view_checkout_payment_integrations:{projectKey}
projectKey String ​ | Identifier of your Checkout entity and key of your Project. |
key String ​ | key of the PaymentIntegration. |
region String ​ |
curl --head https://checkout.{region}.commercetools.com/{projectKey}/payment-integrations/key={key} -i \
--header "Authorization: Bearer ${BEARER_TOKEN}"
Create PaymentIntegration
Creates a new PaymentIntegration.
manage_checkout_payment_integrations:{projectKey}
projectKey String ​ | Identifier of your Checkout entity and key of your Project. |
region String ​ |
application/json
application/json
curl https://checkout.{region}.commercetools.com/{projectKey}/payment-integrations -i \
--header "Authorization: Bearer ${BEARER_TOKEN}" \
--header 'Content-Type: application/json' \
--data-binary @- << DATA
{
"type" : "card",
"status" : "Active",
"name" : "Credit Card via Adyen",
"application" : {
"id" : "bc95d35a-8cc1-484c-b207-bd8c55a55a28",
"typeId" : "application"
},
"connectorDeployment" : {
"id" : "cb0ad988-cc50-4829-83ad-777993d0ddd5",
"typeId" : "deployment"
},
"predicate" : "country='DE'",
"componentType" : "Component",
"sortingInfo" : {
"priority" : 1
},
"displayInfo" : {
"label" : {
"en" : "Credit Cards"
},
"logoUrl" : {
"en" : "https://mylogourl.com/logo.svg"
},
"description" : {
"en" : "Pay securely with Credit Cards"
},
"payButtonText" : {
"en" : "Pay with cards"
}
},
"automatedReversalConfiguration" : {
"status" : "Active",
"predicate" : "country='DE'"
}
}
DATA
{
"id": "cb5a7f70-4d19-4a95-8296-380a9c87bd1c",
"version": 1,
"createdAt": "2025-05-16T10:48:44.750Z",
"lastModifiedAt": "2025-05-16T10:48:44.750Z",
"type": "card",
"status": "Active",
"name": "Credit Card via Adyen",
"application": {
"id": "bc95d35a-8cc1-484c-b207-bd8c55a55a28",
"typeId": "application"
},
"connectorDeployment": {
"id": "cb0ad988-cc50-4829-83ad-777993d0ddd5",
"typeId": "deployment"
},
"componentType": "Component",
"predicate": "country='DE'",
"sortingInfo": {
"priority": 1
},
"displayInfo": {
"label": {
"en": "Credit Cards"
},
"logoUrl": {
"en": "https://mylogourl.com/logo.svg"
},
"description": {
"en": "Pay securely with Credit Cards"
},
"payButtonText": {
"en": "Pay with cards"
}
},
"automatedReversalConfiguration": {
"status": "Active",
"predicate": "country='DE'"
}
}
Update PaymentIntegration
Update PaymentIntegration by ID
manage_checkout_payment_integrations:{projectKey}
projectKey String ​ | Identifier of your Checkout entity and key of your Project. |
id String ​ | id of the PaymentIntegration. |
region String ​ |
application/json
PaymentIntegrationUpdateActions
version ​Int​ | Expected version of the PaymentIntegration on which the changes should be applied. If the expected version does not match the actual version, a ConcurrentModification error will be returned. |
actions ​Array of PaymentIntegrationUpdateAction​ | Update actions to be performed on the PaymentIntegration. |
application/json
curl https://checkout.{region}.commercetools.com/{projectKey}/payment-integrations/{id} -i \
--header "Authorization: Bearer ${BEARER_TOKEN}" \
--header 'Content-Type: application/json' \
--data-binary @- << DATA
{
"version" : 1,
"actions" : [ {
"action" : "setKey",
"key" : "my-payment-integration"
} ]
}
DATA
Update PaymentIntegration by Key
manage_checkout_payment_integrations:{projectKey}
projectKey String ​ | Identifier of your Checkout entity and key of your Project. |
key String ​ | key of the PaymentIntegration. |
region String ​ |
application/json
PaymentIntegrationUpdateActions
version ​Int​ | Expected version of the PaymentIntegration on which the changes should be applied. If the expected version does not match the actual version, a ConcurrentModification error will be returned. |
actions ​Array of PaymentIntegrationUpdateAction​ | Update actions to be performed on the PaymentIntegration. |
application/json
Update actions
The following update actions allow you to modify specific properties of a Payment Integration resource. Use them with the update endpoints as described above.
Payment Integration Update Action
Base type for all PaymentIntegration update actions.
action ​String​ | Type of update action to be performed on the PaymentIntegration. |
Set Key
Sets or unsets the key of a PaymentIntegration.
action ​String​ | "setKey" Type of update action to be performed on the PaymentIntegration. |
key ​String​ | Value to set. If empty, any existing value will be removed. |
{
"action": "setKey",
"key": "string"
}
Set Name
Sets the name of a PaymentIntegration.
action ​String​ | "setName" Type of update action to be performed on the PaymentIntegration. |
name ​String​ | Value to set as the name of the PaymentIntegration. |
{
"action": "setName",
"name": "Credit Card via Stripe"
}
Set Type
Sets the type of a PaymentIntegration.
action ​String​ | "setType" Type of update action to be performed on the PaymentIntegration. |
type ​String​ | Value to set as the type of the PaymentIntegration. |
{
"action": "setType",
"type": "card"
}
Set Status
Sets the status of a PaymentIntegration.
action ​String​ | "setStatus" Type of update action to be performed on the PaymentIntegration. |
status ​ | Value to set as the status of the PaymentIntegration. |
{
"action": "setStatus",
"status": "Active"
}
Set Predicate
Sets the predicate of a PaymentIntegration.
action ​String​ | "setPredicate" Type of update action to be performed on the PaymentIntegration. |
predicate ​String​ | Value to set. If empty, any existing value will be removed. |
{
"action": "setPredicate",
"predicate": "country='US'"
}
Set Connector Deployment
Sets the connector deployment reference of a PaymentIntegration.
action ​String​ | "setConnectorDeployment" Type of update action to be performed on the PaymentIntegration. |
connectorDeployment ​ | Value to set as the connector deployment reference of the PaymentIntegration. |
{
"action": "setConnectorDeployment",
"connectorDeployment": {
"id": "cb0ad988-cc50-4829-83ad-777993d0ddd5",
"typeId": "deployment"
}
}
Set Display Info
action ​String​ | "setDisplayInfo" Type of update action to be performed on the PaymentIntegration. |
displayInfo ​DisplayInfo​ | Value to set. If empty, any existing value will be removed. |
{
"action": "setDisplayInfo",
"displayInfo": {
"label": {
"en": "Credit Cards"
},
"logoUrl": {
"en": "https://mylogourl.com/logo.svg"
},
"description": {
"en": "Pay securely with Credit Cards"
},
"payButtonText": {
"en": "Pay with cards"
}
}
}
Set Display Info Label
Sets the display info label of a PaymentIntegration.
action ​String​ | "setDisplayInfoLabel" Type of update action to be performed on the PaymentIntegration. |
label ​LocalizedString​ | Value to set. If empty, any existing value will be removed. |
{
"action": "setDisplayInfoLabel",
"label": {
"en": "Credit Cards",
"de": "Kreditkarten"
}
}
Set Display Info Logo URL
Sets the display info logo URL of a PaymentIntegration.
action ​String​ | "setDisplayInfoLogoUrl" Type of update action to be performed on the PaymentIntegration. |
logoUrl ​LocalizedString​ | Value to set. If empty, any existing value will be removed. |
{
"action": "setDisplayInfoLogoUrl",
"logoUrl": {
"en": "https://mylogourl.com/logo.svg"
}
}
Set Display Info Description
Sets the display info description of a PaymentIntegration.
action ​String​ | "setDisplayInfoDescription" Type of update action to be performed on the PaymentIntegration. |
description ​LocalizedString​ | Value to set. If empty, any existing value will be removed. |
{
"action": "setDisplayInfoDescription",
"description": {
"en": "Pay securely with Credit Cards",
"de": "Sicher mit Kreditkarten bezahlen"
}
}
Set Sorting Info
Sets the sorting info of a PaymentIntegration.
action ​String​ | "setSortingInfo" Type of update action to be performed on the PaymentIntegration. |
sortingInfo ​SortingInfo​ | Value to set. If empty, any existing value will be removed. |
{
"action": "setSortingInfo",
"sortingInfo": {
"priority": 1
}
}
Set Automated Reversal Configuration
Sets the automated reversal configuration of a PaymentIntegration.
action ​String​ | "setAutomatedReversalConfiguration" Type of update action to be performed on the PaymentIntegration. |
automatedReversalConfiguration ​ | Value to set as the automated reversal configuration of the PaymentIntegration. |
{
"action": "setAutomatedReversalConfiguration",
"automatedReversalConfiguration": {
"status": "Active",
"predicate": "country='DE'"
}
}
Set Automated Reversal Configuration Status
Sets the automated reversal configuration status of a PaymentIntegration.
action ​String​ | "setAutomatedReversalConfigurationStatus" Type of update action to be performed on the PaymentIntegration. |
status ​String​ | Value to set as the automated reversal configuration status of the PaymentIntegration. Can be"Active" , or "Inactive" ​ |
{
"action": "setAutomatedReversalConfigurationStatus",
"status": "Active"
}
Set Automated Reversal Configuration Predicate
Sets the automated reversal configuration predicate of a PaymentIntegration.
action ​String​ | "setAutomatedReversalConfigurationPredicate" Type of update action to be performed on the PaymentIntegration. |
predicate ​String​ | Value to set. If empty, any existing value will be removed. |
{
"action": "setAutomatedReversalConfigurationPredicate",
"predicate": "country='DE'"
}
Delete PaymentIntegration
Delete PaymentIntegration by Key
manage_checkout_payment_integrations:{projectKey}
projectKey String ​ | Identifier of your Checkout entity and key of your Project. |
key String ​ | key of the PaymentIntegration. |
region String ​ |
application/json
application/json
curl -X DELETE https://checkout.{region}.commercetools.com/{projectKey}/payment-integrations/key={key} -i \
--header "Authorization: Bearer ${BEARER_TOKEN}"
Delete PaymentIntegration by ID
manage_checkout_payment_integrations:{projectKey}
projectKey String ​ | Identifier of your Checkout entity and key of your Project. |
id String ​ | id of the PaymentIntegration. |
region String ​ |
application/json
application/json
curl -X DELETE https://checkout.{region}.commercetools.com/{projectKey}/payment-integrations/{id} -i \
--header "Authorization: Bearer ${BEARER_TOKEN}"
Allowed SortList
sort
query parameter. The following fields are available for sorting:Field | Description | Example |
---|---|---|
id | Sort by Payment Integration ID | id asc |
name | Sort by Payment Integration name | name desc |
type | Sort by Payment Integration type (card, paypal, etc.) | type asc |
status | Sort by Payment Integration status (Active, Inactive) | status desc |
key | Sort by Payment Integration key | key asc |
componentType | Sort by component type (Component, DropIn) | componentType asc |
createdAt | Sort by creation timestamp | createdAt desc |
lastModifiedAt | Sort by last modification timestamp | lastModifiedAt asc |
sortingInfo.priority | Sort by sorting priority | sortingInfo.priority asc |
Sorting Examples
GET /payment-integrations?sort=name asc
GET /payment-integrations?sort=createdAt desc
GET /payment-integrations?sort=status asc,createdAt desc
GET /payment-integrations?sort=sortingInfo.priority asc,name asc
GET /payment-integrations?sort=lastModifiedAt desc&limit=10&offset=0