Trigger payments without using the Checkout UI.
The Checkout Transactions API lets you initiate payments managed by Checkout without using the Checkout UI. For example, you can leverage the Checkout Transactions API to process recurring payments for subscription-based orders.
Use the Checkout Transactions API to trigger only payments managed by Checkout.
Scope
| Scope | Permission granted |
|---|---|
manage_checkout_transactions:{projectKey} | Manage Transactions |
view_checkout_transactions:{projectKey} | View Transactions |
Get Transaction
Get Transaction by ID
id. Specific Error Codes:view_checkout_transactions:{projectKey}manage_projects:{projectKey}projectKeyString ​ | Identifier of your Checkout entity and key of your Project. |
idString ​ | id of the Transaction. |
regionString ​ |
application/jsoncurl --get https://checkout.{region}.commercetools.com/{projectKey}/transactions/{id} -i \
--header "Authorization: Bearer ${BEARER_TOKEN}"{
"id": "6d95b6c6-5ef0-4091-8478-b26077ca2b2f",
"version": 1,
"key": "transaction-key",
"application": {
"typeId": "application",
"id": "a84d4fe7-ae82-4c3f-8c6c-435e54204fdd"
},
"cart": {
"typeId": "cart",
"id": "a0e60229-441c-44b0-952b-981a67cbd8c4"
},
"order": {
"typeId": "order",
"id": "39ccda28-47f9-41bf-8dde-e1d720c19000"
},
"transactionItems": [
{
"type": "Recurring",
"paymentMethod": {
"typeId": "payment-method",
"id": "9dee1785-0e29-4d0c-8f2e-3caeb1e77a3b"
},
"connectorDeployment": {
"typeId": "deployment",
"id": "4c24762b-87df-4bd3-898a-bafed913a9ca"
},
"payment": {
"typeId": "payment",
"id": "d1fec278-22c2-4a1d-8190-8f1e8af5ccfb"
}
}
],
"transactionStatus": {
"state": "Failed",
"errors": [
{
"code": "PaymentRejected",
"message": "Payment d1fec278-22c2-4a1d-8190-8f1e8af5ccfb has been rejected."
}
]
},
"createdAt": "2026-07-14T08:15:22.310Z",
"lastModifiedAt": "2026-07-18T08:15:29.840Z"
}Get Transaction by Key
key. Specific Error Codes:view_checkout_transactions:{projectKey}manage_projects:{projectKey}projectKeyString ​ | Identifier of your Checkout entity and key of your Project. |
keyString ​ | key of the Transaction. |
regionString ​ |
application/jsoncurl --get https://checkout.{region}.commercetools.com/{projectKey}/transactions/key={key} -i \
--header "Authorization: Bearer ${BEARER_TOKEN}"{
"id": "6d95b6c6-5ef0-4091-8478-b26077ca2b2f",
"version": 1,
"key": "transaction-key",
"application": {
"typeId": "application",
"id": "a84d4fe7-ae82-4c3f-8c6c-435e54204fdd"
},
"cart": {
"typeId": "cart",
"id": "a0e60229-441c-44b0-952b-981a67cbd8c4"
},
"order": {
"typeId": "order",
"id": "39ccda28-47f9-41bf-8dde-e1d720c19000"
},
"transactionItems": [
{
"type": "Recurring",
"paymentMethod": {
"typeId": "payment-method",
"id": "9dee1785-0e29-4d0c-8f2e-3caeb1e77a3b"
},
"connectorDeployment": {
"typeId": "deployment",
"id": "4c24762b-87df-4bd3-898a-bafed913a9ca"
},
"payment": {
"typeId": "payment",
"id": "d1fec278-22c2-4a1d-8190-8f1e8af5ccfb"
}
}
],
"transactionStatus": {
"state": "Failed",
"errors": [
{
"code": "PaymentRejected",
"message": "Payment d1fec278-22c2-4a1d-8190-8f1e8af5ccfb has been rejected."
}
]
},
"createdAt": "2026-07-14T08:15:22.310Z",
"lastModifiedAt": "2026-07-18T08:15:29.840Z"
}Create Transaction
Specific Error Codes:
manage_checkout_transactions:{projectKey}manage_projects:{projectKey}projectKeyString ​ | Identifier of your Checkout entity and key of your Project. |
regionString ​ |
application/jsonapplication/jsoncurl https://checkout.{region}.commercetools.com/{projectKey}/transactions -i \
--header "Authorization: Bearer ${BEARER_TOKEN}" \
--header 'Content-Type: application/json' \
--data-binary @- << DATA
{
"key" : "transaction-key",
"application" : {
"typeId" : "application",
"id" : "a84d4fe7-ae82-4c3f-8c6c-435e54204fdd"
},
"cart" : {
"typeId" : "cart",
"id" : "a0e60229-441c-44b0-952b-981a67cbd8c4"
},
"transactionItems" : [ {
"type" : "Recurring",
"paymentMethod" : {
"typeId" : "payment-method",
"id" : "9dee1785-0e29-4d0c-8f2e-3caeb1e77a3b"
},
"connectorDeployment" : {
"typeId" : "deployment",
"id" : "4c24762b-87df-4bd3-898a-bafed913a9ca"
}
} ]
}
DATA{
"id": "6d95b6c6-5ef0-4091-8478-b26077ca2b2f",
"version": 1,
"key": "transaction-key",
"application": {
"typeId": "application",
"id": "a84d4fe7-ae82-4c3f-8c6c-435e54204fdd"
},
"cart": {
"typeId": "cart",
"id": "a0e60229-441c-44b0-952b-981a67cbd8c4"
},
"order": {
"typeId": "order",
"id": "39ccda28-47f9-41bf-8dde-e1d720c19000"
},
"transactionItems": [
{
"type": "Recurring",
"paymentMethod": {
"typeId": "payment-method",
"id": "9dee1785-0e29-4d0c-8f2e-3caeb1e77a3b"
},
"connectorDeployment": {
"typeId": "deployment",
"id": "4c24762b-87df-4bd3-898a-bafed913a9ca"
},
"payment": {
"typeId": "payment",
"id": "d1fec278-22c2-4a1d-8190-8f1e8af5ccfb"
}
}
],
"transactionStatus": {
"state": "Failed",
"errors": [
{
"code": "PaymentRejected",
"message": "Payment d1fec278-22c2-4a1d-8190-8f1e8af5ccfb has been rejected."
}
]
},
"createdAt": "2026-07-14T08:15:22.310Z",
"lastModifiedAt": "2026-07-18T08:15:29.840Z"
}Representations
Transaction
id​String​ | Unique identifier of the Transaction. |
version​Int​ | Current version of the Transaction. |
key​String​ | User-defined unique identifier of the Transaction. MinLength:Â2​MaxLength: 256​Pattern: ^[A-Za-z0-9_-]+$​ |
application​ | Application for which the payment must be executed. |
transactionItems​Array of TransactionItem​ | Transaction Item associated with the Transaction. MinItems:Â1​MaxItems: 1​ |
cart​ | Reference to the Cart for which the payment must be executed. |
transactionStatus​ | Status of the Transaction. |
order​ | Reference to the Order created from the Cart when the Transaction is completed. |
createdAt​DateTime​ | Date and time (UTC) the Transaction was initially created. |
lastModifiedAt​DateTime​ | Date and time (UTC) the Transaction was last updated. |
TransactionDraft
key​String​ | User-defined unique identifier of the Transaction. MinLength:Â2​MaxLength: 256​Pattern: ^[A-Za-z0-9_-]+$​ |
application​ | Application for which the payment is executed. |
transactionItems​Array of TransactionItemDraft​ | Transaction Item associated with the Transaction. MinItems:Â1​MaxItems: 1​ |
cart​ | Cart for which the payment must be executed. |
TransactionItem
type is not present, this is a TransactionItemPaymentIntegration. Each supported payment flow has its own corresponding Transaction Item type, like TransactionItemRecurring.type​String​ | Type of the Transaction Item, matching the type of the TransactionItemDraft it was created from. Not present for Transaction Items created without an explicit type. |
amount​Amount​ | Money value of the Transaction Item. |
payment​ | Reference to the Payment associated with the Transaction Item. |
TransactionItemPaymentIntegration
type is not present.type​String​ | Not present for TransactionItemPaymentIntegration. |
amount​Amount​ | Money value of the Transaction Item. |
payment​ | Reference to the Payment associated with the Transaction Item. |
paymentIntegration​ | Reference to the Payment Integration used to execute the payment. |
TransactionItemRecurring BETA
type​String​ | "Recurring"Type of the Transaction Item, matching the type of the TransactionItemDraft it was created from. Not present for Transaction Items created without an explicit type. |
amount​Amount​ | Money value of the Transaction Item. |
payment​ | Reference to the Payment associated with the Transaction Item. |
paymentMethod​ | Reference to the PaymentMethod charged for the Transaction Item. |
connectorDeployment​ | Reference to the connector deployment used to execute the payment. |
TransactionItemDraft
type is omitted, a TransactionItemPaymentIntegrationDraft is created to process the payment through a Payment Integration. Each supported payment flow has its own corresponding Transaction Item Draft type, like TransactionItemRecurringDraft.TransactionItemPaymentIntegrationDraft
type is omitted.type​String​ | Must not be set for TransactionItemPaymentIntegrationDraft. |
amount​Amount​ | Money value of the Transaction Item. If not present, the Connector resolves the amount from the Cart. |
paymentIntegration​ | Resource Identifier of the Payment Integration to use to execute the payment. |
TransactionItemRecurringDraft BETA
customerId as the referenced PaymentMethod.type​String​ | "Recurring"Type of the Transaction Item to create. |
amount​Amount​ | Money value of the Transaction Item. If not present, the Connector resolves the amount from the Cart. |
paymentMethod​ | Reference to the PaymentMethod to charge. The PaymentMethod must belong to the same customer as the Cart referenced by the Transaction. |
connectorDeployment​ | Reference to the connector deployment to use to execute the payment. |
TransactionStatus
state​ | State of the Transaction. |
errors​Array of TransactionError​ | Errors returned if the Transaction is in the Failed state. |
TransactionState
InitialPendingThe Transaction is in progress. The PSP or gift card management system is processing the payment.
Completed- The Transaction completed successfully. The PSP or gift card management system processed the payment and Checkout created an Order from the Cart.
FailedThe Transaction failed.
TransactionError
code​String​ | Error identifier. |
message​String​ | Plain text description of the cause of the error. |