Checkouts represent online payment sessions that you create before attempting to charge a payer. A checkout captures the payment intent, such as the amount, currency, merchant, and optional customer or redirect settings, and then moves through its lifecycle as you process it.
Use this tag to:
- create a checkout before collecting or confirming payment details
- process the checkout with a card, saved card, wallet, or supported alternative payment method
- retrieve or list checkouts to inspect their current state and associated payment attempts
- deactivate a checkout that should no longer be used
Typical workflow:
- create a checkout with the order amount, currency, and merchant information
- process the checkout through SumUp client tools such as the Payment Widget and Swift Checkout SDK
- retrieve the checkout or use the Transactions endpoints to inspect the resulting payment record
Checkouts are used to initiate and orchestrate online payments. Transactions remain the authoritative record of the resulting payment outcome.
The Checkout object
Core checkout resource returned by the Checkouts API. A checkout is created before payment processing and then updated as payment attempts, redirects, and resulting transactions are attached to it.
- checkout_reference string max length: 90
Merchant-defined reference for the checkout. Use it to correlate the SumUp checkout with your own order, cart, subscription, or payment attempt in your systems.
- amount number
Amount to be charged to the payer, expressed in major units.
Example:10.1 - currency CurrencyOptions:
BGNBRLCHFCLPCOPCZKDKKEURGBPHRKHUFNOKPLNRONSEKUSDThree-letter ISO4217 code of the currency for the amount. Currently supported currency values are enumerated above.
Example:"EUR" - merchant_code string
Merchant account that receives the payment.
Example:"MH4H92C7" - description string
Short merchant-defined description shown in SumUp tools and reporting. Use it to make the checkout easier to recognize in dashboards, support workflows, and reconciliation.
- return_url string format: uri
Optional backend callback URL used by SumUp to notify your platform about processing updates for the checkout.
- id string Read only
Unique SumUp identifier of the checkout resource.
Example:"4e425463-3e1b-431d-83fa-1e51c2925e99" - status stringOptions:
PENDINGFAILEDPAIDEXPIREDCurrent high-level state of the checkout.
PENDINGmeans the checkout exists but is not yet completed,PAIDmeans a payment succeeded,FAILEDmeans the latest processing attempt failed, andEXPIREDmeans the checkout can no longer be processed. - date string format: date-time
Date and time of the creation of the payment checkout. Response format expressed according to ISO8601 code.
Example:"2020-02-29T10:56:56+00:00" - valid_until string format: date-time, nullable
Optional expiration timestamp. The checkout must be processed before this moment, otherwise it becomes unusable. If omitted, the checkout does not have an explicit expiry time.
Example:"2020-02-29T10:56:56+00:00" - customer_id string
Merchant-scoped identifier of the customer associated with the checkout. Use it when storing payment instruments or reusing saved customer context for recurring and returning-payer flows.
Example:"831ff8d4cd5958ab5670" - mandate Mandate Response
Details of the mandate linked to the saved payment instrument.
CloseMandate Response- type string
Type of mandate stored for the checkout or payment instrument.
- status stringOptions:
activeinactiveCurrent lifecycle status of the mandate.
Example:"active" - merchant_code string
Merchant account for which the mandate is valid.
Example:"MH4H92C7"
Example:{"type":"recurrent","status":"active","merchant_code":"MH4H92C7"} -
- transactions []object unique items
Payment attempts and resulting transaction records linked to this checkout. Use the Transactions endpoints when you need the authoritative payment result and event history.
CloseAttributes- id string
Unique ID of the transaction.
Example:"6b425463-3e1b-431d-83fa-1e51c2925e99" - transaction_code string
Transaction code returned by the acquirer/processing entity after processing the transaction.
Example:"TEENSK4W2K" - amount number
Total amount of the transaction.
Example:10.1 - currency CurrencyOptions:
BGNBRLCHFCLPCOPCZKDKKEURGBPHRKHUFNOKPLNRONSEKUSDThree-letter ISO4217 code of the currency for the amount. Currently supported currency values are enumerated above.
Example:"EUR" - timestamp string format: date-time
Date and time of the creation of the transaction. Response format expressed according to ISO8601 code.
Example:"2020-02-29T10:56:56.876Z" - status stringOptions:
SUCCESSFULCANCELLEDFAILEDPENDINGCurrent status of the transaction.
- payment_type Payment TypeOptions:
CASHPOSECOMRECURRINGBITCOINBALANCEMOTOBOLETODIRECT_DEBITAPMUNKNOWNPayment type used for the transaction.
- installments_count integer minimum: 1
Current number of the installment for deferred payments.
- merchant_code string
Unique code of the registered merchant to whom the payment is made.
Example:"MH4H92C7" - vat_amount number
Amount of the applicable VAT (out of the total transaction amount).
Example:6 - tip_amount number
Amount of the tip (out of the total transaction amount).
Example:3 - entry_mode Entry ModeOptions:
BOLETOSOFORTIDEALBANCONTACTEPSMYBANKSATISPAYBLIKP24GIROPAYPIXQR_CODE_PIXAPPLE_PAYGOOGLE_PAYPAYPALTWINTNONECHIPMANUAL_ENTRYCUSTOMER_ENTRYMAGSTRIPE_FALLBACKMAGSTRIPEDIRECT_DEBITCONTACTLESSMOTOCONTACTLESS_MAGSTRIPEN/AEntry mode of the payment details.
- auth_code string
Authorization code for the transaction sent by the payment card issuer or bank. Applicable only to card payments.
Example:"053201" - internal_id integer
Internal unique ID of the transaction on the SumUp platform.
Example:1763892018
-
{ "checkout_reference": null, "amount": 10.1, "currency": "EUR", "merchant_code": "MH4H92C7", "description": null, "return_url": null, "id": "4e425463-3e1b-431d-83fa-1e51c2925e99", "status": null, "date": "2020-02-29T10:56:56+00:00", "valid_until": "2020-02-29T10:56:56+00:00", "customer_id": "831ff8d4cd5958ab5670", "mandate": { "type": "recurrent", "status": "active", "merchant_code": "MH4H92C7" }, "transactions": [ { "id": "6b425463-3e1b-431d-83fa-1e51c2925e99", "transaction_code": "TEENSK4W2K", "amount": 10.1, "currency": "EUR", "timestamp": "2020-02-29T10:56:56.876Z", "status": null, "payment_type": null, "installments_count": null, "merchant_code": "MH4H92C7", "vat_amount": 6, "tip_amount": 3, "entry_mode": null, "auth_code": "053201", "internal_id": 1763892018 } ]}List checkouts
Lists created checkout resources according to the applied checkout_reference.
payments Query Parameters
- checkout_reference string
Filters the list of checkout resources by the unique ID of the checkout.
Response
Returns a list of checkout resources.
- checkout_reference string max length: 90
Merchant-defined reference for the checkout. Use it to correlate the SumUp checkout with your own order, cart, subscription, or payment attempt in your systems.
- amount number
Amount to be charged to the payer, expressed in major units.
Example:10.1 - currency CurrencyOptions:
BGNBRLCHFCLPCOPCZKDKKEURGBPHRKHUFNOKPLNRONSEKUSDThree-letter ISO4217 code of the currency for the amount. Currently supported currency values are enumerated above.
Example:"EUR" - merchant_code string
Merchant account that receives the payment.
Example:"MH4H92C7" - description string
Short merchant-defined description shown in SumUp tools and reporting. Use it to make the checkout easier to recognize in dashboards, support workflows, and reconciliation.
- return_url string format: uri
Optional backend callback URL used by SumUp to notify your platform about processing updates for the checkout.
- id string Read only
Unique SumUp identifier of the checkout resource.
Example:"4e425463-3e1b-431d-83fa-1e51c2925e99" - status stringOptions:
PENDINGFAILEDPAIDEXPIREDCurrent high-level state of the checkout.
PENDINGmeans the checkout exists but is not yet completed,PAIDmeans a payment succeeded,FAILEDmeans the latest processing attempt failed, andEXPIREDmeans the checkout can no longer be processed. - date string format: date-time
Date and time of the creation of the payment checkout. Response format expressed according to ISO8601 code.
Example:"2020-02-29T10:56:56+00:00" - valid_until string format: date-time, nullable
Optional expiration timestamp. The checkout must be processed before this moment, otherwise it becomes unusable. If omitted, the checkout does not have an explicit expiry time.
Example:"2020-02-29T10:56:56+00:00" - customer_id string
Merchant-scoped identifier of the customer associated with the checkout. Use it when storing payment instruments or reusing saved customer context for recurring and returning-payer flows.
Example:"831ff8d4cd5958ab5670" - mandate Mandate Response
Details of the mandate linked to the saved payment instrument.
CloseMandate Response- type string
Type of mandate stored for the checkout or payment instrument.
- status stringOptions:
activeinactiveCurrent lifecycle status of the mandate.
Example:"active" - merchant_code string
Merchant account for which the mandate is valid.
Example:"MH4H92C7"
Example:{"type":"recurrent","status":"active","merchant_code":"MH4H92C7"} -
- transactions []object unique items
Payment attempts and resulting transaction records linked to this checkout. Use the Transactions endpoints when you need the authoritative payment result and event history.
CloseAttributes- id string
Unique ID of the transaction.
Example:"6b425463-3e1b-431d-83fa-1e51c2925e99" - transaction_code string
Transaction code returned by the acquirer/processing entity after processing the transaction.
Example:"TEENSK4W2K" - amount number
Total amount of the transaction.
Example:10.1 - currency CurrencyOptions:
BGNBRLCHFCLPCOPCZKDKKEURGBPHRKHUFNOKPLNRONSEKUSDThree-letter ISO4217 code of the currency for the amount. Currently supported currency values are enumerated above.
Example:"EUR" - timestamp string format: date-time
Date and time of the creation of the transaction. Response format expressed according to ISO8601 code.
Example:"2020-02-29T10:56:56.876Z" - status stringOptions:
SUCCESSFULCANCELLEDFAILEDPENDINGCurrent status of the transaction.
- payment_type Payment TypeOptions:
CASHPOSECOMRECURRINGBITCOINBALANCEMOTOBOLETODIRECT_DEBITAPMUNKNOWNPayment type used for the transaction.
- installments_count integer minimum: 1
Current number of the installment for deferred payments.
- merchant_code string
Unique code of the registered merchant to whom the payment is made.
Example:"MH4H92C7" - vat_amount number
Amount of the applicable VAT (out of the total transaction amount).
Example:6 - tip_amount number
Amount of the tip (out of the total transaction amount).
Example:3 - entry_mode Entry ModeOptions:
BOLETOSOFORTIDEALBANCONTACTEPSMYBANKSATISPAYBLIKP24GIROPAYPIXQR_CODE_PIXAPPLE_PAYGOOGLE_PAYPAYPALTWINTNONECHIPMANUAL_ENTRYCUSTOMER_ENTRYMAGSTRIPE_FALLBACKMAGSTRIPEDIRECT_DEBITCONTACTLESSMOTOCONTACTLESS_MAGSTRIPEN/AEntry mode of the payment details.
- auth_code string
Authorization code for the transaction sent by the payment card issuer or bank. Applicable only to card payments.
Example:"053201" - internal_id integer
Internal unique ID of the transaction on the SumUp platform.
Example:1763892018
-
- transaction_code string Read only
Transaction code of the successful transaction with which the payment for the checkout is completed.
Example:"TEENSK4W2K" - transaction_id string Read only
Transaction ID of the successful transaction with which the payment for the checkout is completed.
Example:"410fc44a-5956-44e1-b5cc-19c6f8d727a4" - merchant_name string
Name of the merchant
Example:"Sample Merchant" - redirect_url string
URL where the payer is redirected after a redirect-based payment or SCA flow completes.
Example:"https://mysite.com/completed_purchase" - payment_instrument object
Details of the saved payment instrument created or reused during checkout processing.
CloseAttributes- token string
Token value
Example:"e76d7e5c-9375-4fac-a7e7-b19dc5302fbc"
-
curl https://api.sumup.com/v0.1/checkouts \ -X GET \ -H "Authorization: Bearer $SUMUP_API_KEY"import SumUp from '@sumup/sdk';
const client = new SumUp();
const result = await client.checkouts.list();using SumUp;
var client = new SumUpClient();
var result = await client.Checkouts.ListAsync();import com.sumup.sdk.SumUpClient;
SumUpClient client = SumUpClient.builder().build();
var result = client.checkouts().listCheckouts();from sumup import Sumup
client = Sumup()
result = client.checkouts.list()$sumup = new \SumUp\SumUp();
$result = $sumup->checkouts->list();client := sumup.NewClient()
result, err := client.Checkouts.List(context.Background())use sumup::Client;
let client = Client::default();
let result = client.checkouts().list(sumup::ListCheckoutsParams{ checkout_reference: Some("checkout_reference".to_string()),}).await;[ { "checkout_reference": null, "amount": 10.1, "currency": "EUR", "merchant_code": "MH4H92C7", "description": null, "return_url": null, "id": "4e425463-3e1b-431d-83fa-1e51c2925e99", "status": null, "date": "2020-02-29T10:56:56+00:00", "valid_until": "2020-02-29T10:56:56+00:00", "customer_id": "831ff8d4cd5958ab5670", "mandate": { "type": "recurrent", "status": "active", "merchant_code": "MH4H92C7" }, "transactions": [ { "id": "6b425463-3e1b-431d-83fa-1e51c2925e99", "transaction_code": "TEENSK4W2K", "amount": 10.1, "currency": "EUR", "timestamp": "2020-02-29T10:56:56.876Z", "status": null, "payment_type": null, "installments_count": null, "merchant_code": "MH4H92C7", "vat_amount": 6, "tip_amount": 3, "entry_mode": null, "auth_code": "053201", "internal_id": 1763892018 } ], "transaction_code": "TEENSK4W2K", "transaction_id": "410fc44a-5956-44e1-b5cc-19c6f8d727a4", "merchant_name": "Sample Merchant", "redirect_url": "https://mysite.com/completed_purchase", "payment_instrument": { "token": "e76d7e5c-9375-4fac-a7e7-b19dc5302fbc" } }]
Content-Type: application/json
The request is not authorized.
- type string required format: uri
A URI reference that identifies the problem type.
Example:"https://developer.sumup.com/problem/not-found" - title string
A short, human-readable summary of the problem type.
Example:"Requested resource couldn't be found." - status integer
The HTTP status code generated by the origin server for this occurrence of the problem.
Example:404 - detail string
A human-readable explanation specific to this occurrence of the problem.
Example:"The requested resource doesn't exist or does not belong to you." - instance string format: uri
A URI reference that identifies the specific occurrence of the problem.
{ "detail": "Unauthorized.", "status": 401, "title": "Unauthorized", "trace_id": "3c77294349d3b5647ea2d990f0d8f017", "type": "https://developer.sumup.com/problem/unauthorized"}Create a checkout
Creates a new payment checkout resource. The unique checkout_reference created by this request, is used for further manipulation of the checkout.
For 3DS checkouts, add the redirect_url parameter to your request body schema.
Follow by processing a checkout to charge the provided payment instrument.
payments Body Parameters
- checkout_reference string required max length: 90
Merchant-defined reference for the new checkout. It should be unique enough for you to identify the payment attempt in your own systems.
- amount number required
Amount to be charged to the payer, expressed in major units.
- currency Currency requiredOptions:
BGNBRLCHFCLPCOPCZKDKKEURGBPHRKHUFNOKPLNRONSEKUSDThree-letter ISO4217 code of the currency for the amount. Currently supported currency values are enumerated above.
Example:"EUR" - merchant_code string required
Merchant account that should receive the payment.
Example:"MH4H92C7" - description string
Short merchant-defined description shown in SumUp tools and reporting for easier identification of the checkout.
- return_url string format: uri
Optional backend callback URL used by SumUp to notify your platform about processing updates for the checkout.
- customer_id string
Merchant-scoped customer identifier. Required when setting up recurring payments and useful when the checkout should be linked to a returning payer.
- purpose string default:
CHECKOUTOptions:CHECKOUTSETUP_RECURRING_PAYMENTBusiness purpose of the checkout. Use
CHECKOUTfor a standard payment andSETUP_RECURRING_PAYMENTwhen collecting consent and payment details for future recurring charges. - valid_until string format: date-time, nullable
Optional expiration timestamp. The checkout must be processed before this moment, otherwise it becomes unusable. If omitted, the checkout does not have an explicit expiry time.
Example:"2020-02-29T10:56:56+00:00" - redirect_url string
URL where the payer should be sent after a redirect-based payment or SCA flow completes. This is required for APMs and recommended for card checkouts that may require 3DS. If it is omitted, the Payment Widget can render the challenge in an iframe instead of using a full-page redirect.
Example:"https://mysite.com/completed_purchase"
Response
Returns the created checkout resource. See Checkout object .
- checkout_reference string max length: 90
Merchant-defined reference for the checkout. Use it to correlate the SumUp checkout with your own order, cart, subscription, or payment attempt in your systems.
- amount number
Amount to be charged to the payer, expressed in major units.
Example:10.1 - currency CurrencyOptions:
BGNBRLCHFCLPCOPCZKDKKEURGBPHRKHUFNOKPLNRONSEKUSDThree-letter ISO4217 code of the currency for the amount. Currently supported currency values are enumerated above.
Example:"EUR" - merchant_code string
Merchant account that receives the payment.
Example:"MH4H92C7" - description string
Short merchant-defined description shown in SumUp tools and reporting. Use it to make the checkout easier to recognize in dashboards, support workflows, and reconciliation.
- return_url string format: uri
Optional backend callback URL used by SumUp to notify your platform about processing updates for the checkout.
- id string Read only
Unique SumUp identifier of the checkout resource.
Example:"4e425463-3e1b-431d-83fa-1e51c2925e99" - status stringOptions:
PENDINGFAILEDPAIDEXPIREDCurrent high-level state of the checkout.
PENDINGmeans the checkout exists but is not yet completed,PAIDmeans a payment succeeded,FAILEDmeans the latest processing attempt failed, andEXPIREDmeans the checkout can no longer be processed. - date string format: date-time
Date and time of the creation of the payment checkout. Response format expressed according to ISO8601 code.
Example:"2020-02-29T10:56:56+00:00" - valid_until string format: date-time, nullable
Optional expiration timestamp. The checkout must be processed before this moment, otherwise it becomes unusable. If omitted, the checkout does not have an explicit expiry time.
Example:"2020-02-29T10:56:56+00:00" - customer_id string
Merchant-scoped identifier of the customer associated with the checkout. Use it when storing payment instruments or reusing saved customer context for recurring and returning-payer flows.
Example:"831ff8d4cd5958ab5670" - mandate Mandate Response
Details of the mandate linked to the saved payment instrument.
CloseMandate Response- type string
Type of mandate stored for the checkout or payment instrument.
- status stringOptions:
activeinactiveCurrent lifecycle status of the mandate.
Example:"active" - merchant_code string
Merchant account for which the mandate is valid.
Example:"MH4H92C7"
Example:{"type":"recurrent","status":"active","merchant_code":"MH4H92C7"} -
- transactions []object unique items
Payment attempts and resulting transaction records linked to this checkout. Use the Transactions endpoints when you need the authoritative payment result and event history.
CloseAttributes- id string
Unique ID of the transaction.
Example:"6b425463-3e1b-431d-83fa-1e51c2925e99" - transaction_code string
Transaction code returned by the acquirer/processing entity after processing the transaction.
Example:"TEENSK4W2K" - amount number
Total amount of the transaction.
Example:10.1 - currency CurrencyOptions:
BGNBRLCHFCLPCOPCZKDKKEURGBPHRKHUFNOKPLNRONSEKUSDThree-letter ISO4217 code of the currency for the amount. Currently supported currency values are enumerated above.
Example:"EUR" - timestamp string format: date-time
Date and time of the creation of the transaction. Response format expressed according to ISO8601 code.
Example:"2020-02-29T10:56:56.876Z" - status stringOptions:
SUCCESSFULCANCELLEDFAILEDPENDINGCurrent status of the transaction.
- payment_type Payment TypeOptions:
CASHPOSECOMRECURRINGBITCOINBALANCEMOTOBOLETODIRECT_DEBITAPMUNKNOWNPayment type used for the transaction.
- installments_count integer minimum: 1
Current number of the installment for deferred payments.
- merchant_code string
Unique code of the registered merchant to whom the payment is made.
Example:"MH4H92C7" - vat_amount number
Amount of the applicable VAT (out of the total transaction amount).
Example:6 - tip_amount number
Amount of the tip (out of the total transaction amount).
Example:3 - entry_mode Entry ModeOptions:
BOLETOSOFORTIDEALBANCONTACTEPSMYBANKSATISPAYBLIKP24GIROPAYPIXQR_CODE_PIXAPPLE_PAYGOOGLE_PAYPAYPALTWINTNONECHIPMANUAL_ENTRYCUSTOMER_ENTRYMAGSTRIPE_FALLBACKMAGSTRIPEDIRECT_DEBITCONTACTLESSMOTOCONTACTLESS_MAGSTRIPEN/AEntry mode of the payment details.
- auth_code string
Authorization code for the transaction sent by the payment card issuer or bank. Applicable only to card payments.
Example:"053201" - internal_id integer
Internal unique ID of the transaction on the SumUp platform.
Example:1763892018
-
curl https://api.sumup.com/v0.1/checkouts \ -X POST \ -H "Authorization: Bearer $SUMUP_API_KEY" \ --json '{ "checkout_reference": "", "amount": 0, "currency": "EUR", "merchant_code": "MH4H92C7" }'import SumUp from '@sumup/sdk';
const client = new SumUp();
const result = await client.checkouts.create({ checkout_reference: "", amount: 0, currency: "EUR", merchant_code: "MH4H92C7",});using SumUp;
var client = new SumUpClient();
var result = await client.Checkouts.CreateAsync( new CheckoutCreateRequest { CheckoutReference = "", Amount = 0, Currency = "EUR", MerchantCode = "MH4H92C7", });import com.sumup.sdk.SumUpClient;
SumUpClient client = SumUpClient.builder().build();
var result = client.checkouts().createCheckout( CheckoutCreateRequest.builder() .checkoutReference("") .amount(0f) .currency(Currency.fromValue("EUR")) .merchantCode("MH4H92C7") .build());from sumup import Sumup
client = Sumup()
result = client.checkouts.create(CreateCheckoutBody( checkout_reference="", amount=0, currency="EUR", merchant_code="MH4H92C7",))$sumup = new \SumUp\SumUp();
$result = $sumup->checkouts->create([ 'checkout_reference' => '', 'amount' => 0, 'currency' => 'EUR', 'merchant_code' => 'MH4H92C7',]);client := sumup.NewClient()
result, err := client.Checkouts.Create(context.Background(), sumup.CheckoutsCreateParams{ CheckoutReference: "", Amount: 0, Currency: "EUR", MerchantCode: "MH4H92C7",})use sumup::Client;
let client = Client::default();
let result = client.checkouts().create(sumup::CreateCheckoutBody{ checkout_reference: "".to_string(), amount: 0, currency: "EUR".to_string(), merchant_code: "MH4H92C7".to_string(),}).await;{ "checkout_reference": "8ea25ec3-3293-40e9-a165-6d7f3b3073c5", "amount": 10.1, "currency": "EUR", "merchant_code": "MH4H92C7", "merchant_country": "DE", "description": "My Checkout", "return_url": "http://example.com", "id": "88fcf8de-304d-4820-8f1c-ec880290eb92", "status": "PENDING", "date": "2020-02-29T10:56:56+00:00", "valid_until": "2020-02-29T10:56:56+00:00", "customer_id": "831ff8d4cd5958ab5670", "mandate": { "type": "recurrent", "status": "active", "merchant_code": "MH4H92C7" }, "transactions": [ { "id": "410fc44a-5956-44e1-b5cc-19c6f8d727a4", "transaction_code": "TEENSK4W2K", "amount": 10.1, "currency": "EUR", "timestamp": "2020-02-29T10:56:56.876Z", "status": "SUCCESSFUL", "payment_type": "ECOM", "installments_count": 1, "merchant_code": "MH4H92C7", "vat_amount": 6, "tip_amount": 3, "entry_mode": "CUSTOMER_ENTRY", "auth_code": "012345", "internal_id": 0 } ]}{ "checkout_reference": "8ea25ec3-3293-40e9-a165-6d7f3b3073c5", "amount": 10.1, "currency": "EUR", "description": "My Checkout", "return_url": "http://example.com", "id": "88fcf8de-304d-4820-8f1c-ec880290eb92", "status": "PENDING", "date": "2020-02-29T10:56:56+00:00", "valid_until": "2020-02-29T10:56:56+00:00", "customer_id": "831ff8d4cd5958ab5670", "redirect_url": "https://mysite.com/completed_purchase", "transactions": [ { "id": "410fc44a-5956-44e1-b5cc-19c6f8d727a4", "transaction_code": "TEENSK4W2K", "amount": 10.1, "currency": "EUR", "timestamp": "2020-02-29T10:56:56.876Z", "status": "SUCCESSFUL", "payment_type": "ECOM", "installments_count": 1, "merchant_code": "MH4H92C7", "vat_amount": 6, "tip_amount": 3, "entry_mode": "CUSTOMER_ENTRY", "auth_code": "012345", "internal_id": 0 } ]}{ "checkout_reference": "8ea25ec3-3293-40e9-a165-6d7f3b3073c5", "amount": 10.1, "currency": "EUR", "merchant_code": "MH4H92C7", "description": "My Checkout", "return_url": "http://example.com", "id": "88fcf8de-304d-4820-8f1c-ec880290eb92", "status": "PENDING", "date": "2021-06-29T11:08:36.000+00:00", "merchant_name": "My company", "merchant_country": "DE", "redirect_url": "https://sumup.com", "purpose": "CHECKOUT", "transactions": [ { "id": "410fc44a-5956-44e1-b5cc-19c6f8d727a4", "transaction_code": "TEENSK4W2K", "amount": 10.1, "currency": "EUR", "timestamp": "2020-02-29T10:56:56.876Z", "status": "SUCCESSFUL", "payment_type": "ECOM", "installments_count": 1, "merchant_code": "MH4H92C7", "vat_amount": 6, "tip_amount": 3, "entry_mode": "CUSTOMER_ENTRY", "auth_code": "012345", "internal_id": 0 } ]}
Content-Type: application/json
The request body is invalid.
- message string
Short description of the error.
- error_code string
Platform code for the error.
- param string
Parameter name (with relative location) to which the error applies. Parameters from embedded resources are displayed using dot notation. For example,
card.namerefers to thenameparameter embedded in thecardobject.
Content-Type: application/json
The request is not authorized.
- type string required format: uri
A URI reference that identifies the problem type.
Example:"https://developer.sumup.com/problem/not-found" - title string
A short, human-readable summary of the problem type.
Example:"Requested resource couldn't be found." - status integer
The HTTP status code generated by the origin server for this occurrence of the problem.
Example:404 - detail string
A human-readable explanation specific to this occurrence of the problem.
Example:"The requested resource doesn't exist or does not belong to you." - instance string format: uri
A URI reference that identifies the specific occurrence of the problem.
Content-Type: application/json
The request isn't sufficiently authorized to create a checkout.
- error_message string
Short description of the error.
- error_code string
Platform code for the error.
- status_code string
HTTP status code for the error.
Content-Type: application/json
A checkout already exists for the provided unique parameters.
- message string
Short description of the error.
- error_code string
Platform code for the error.
{ "message": "Validation error", "error_code": "MISSING", "param": "merchant_code"}{ "detail": "Unauthorized.", "status": 401, "title": "Unauthorized", "trace_id": "3c77294349d3b5647ea2d990f0d8f017", "type": "https://developer.sumup.com/problem/unauthorized"}{ "error_message": "checkout_payments_not_allowed", "error_code": "FORBIDDEN", "status_code": "403"}{ "error_code": "DUPLICATED_CHECKOUT", "message": "Checkout with this checkout reference and pay to email already exists"}Retrieve a checkout
Retrieves an identified checkout resource. Use this request after processing a checkout to confirm its status and inform the end user respectively.
payments Path Parameters
- id string required
Unique ID of the checkout resource.
Response
Returns the requested checkout resource.
- checkout_reference string max length: 90
Merchant-defined reference for the checkout. Use it to correlate the SumUp checkout with your own order, cart, subscription, or payment attempt in your systems.
- amount number
Amount to be charged to the payer, expressed in major units.
Example:10.1 - currency CurrencyOptions:
BGNBRLCHFCLPCOPCZKDKKEURGBPHRKHUFNOKPLNRONSEKUSDThree-letter ISO4217 code of the currency for the amount. Currently supported currency values are enumerated above.
Example:"EUR" - merchant_code string
Merchant account that receives the payment.
Example:"MH4H92C7" - description string
Short merchant-defined description shown in SumUp tools and reporting. Use it to make the checkout easier to recognize in dashboards, support workflows, and reconciliation.
- return_url string format: uri
Optional backend callback URL used by SumUp to notify your platform about processing updates for the checkout.
- id string Read only
Unique SumUp identifier of the checkout resource.
Example:"4e425463-3e1b-431d-83fa-1e51c2925e99" - status stringOptions:
PENDINGFAILEDPAIDEXPIREDCurrent high-level state of the checkout.
PENDINGmeans the checkout exists but is not yet completed,PAIDmeans a payment succeeded,FAILEDmeans the latest processing attempt failed, andEXPIREDmeans the checkout can no longer be processed. - date string format: date-time
Date and time of the creation of the payment checkout. Response format expressed according to ISO8601 code.
Example:"2020-02-29T10:56:56+00:00" - valid_until string format: date-time, nullable
Optional expiration timestamp. The checkout must be processed before this moment, otherwise it becomes unusable. If omitted, the checkout does not have an explicit expiry time.
Example:"2020-02-29T10:56:56+00:00" - customer_id string
Merchant-scoped identifier of the customer associated with the checkout. Use it when storing payment instruments or reusing saved customer context for recurring and returning-payer flows.
Example:"831ff8d4cd5958ab5670" - mandate Mandate Response
Details of the mandate linked to the saved payment instrument.
CloseMandate Response- type string
Type of mandate stored for the checkout or payment instrument.
- status stringOptions:
activeinactiveCurrent lifecycle status of the mandate.
Example:"active" - merchant_code string
Merchant account for which the mandate is valid.
Example:"MH4H92C7"
Example:{"type":"recurrent","status":"active","merchant_code":"MH4H92C7"} -
- transactions []object unique items
Payment attempts and resulting transaction records linked to this checkout. Use the Transactions endpoints when you need the authoritative payment result and event history.
CloseAttributes- id string
Unique ID of the transaction.
Example:"6b425463-3e1b-431d-83fa-1e51c2925e99" - transaction_code string
Transaction code returned by the acquirer/processing entity after processing the transaction.
Example:"TEENSK4W2K" - amount number
Total amount of the transaction.
Example:10.1 - currency CurrencyOptions:
BGNBRLCHFCLPCOPCZKDKKEURGBPHRKHUFNOKPLNRONSEKUSDThree-letter ISO4217 code of the currency for the amount. Currently supported currency values are enumerated above.
Example:"EUR" - timestamp string format: date-time
Date and time of the creation of the transaction. Response format expressed according to ISO8601 code.
Example:"2020-02-29T10:56:56.876Z" - status stringOptions:
SUCCESSFULCANCELLEDFAILEDPENDINGCurrent status of the transaction.
- payment_type Payment TypeOptions:
CASHPOSECOMRECURRINGBITCOINBALANCEMOTOBOLETODIRECT_DEBITAPMUNKNOWNPayment type used for the transaction.
- installments_count integer minimum: 1
Current number of the installment for deferred payments.
- merchant_code string
Unique code of the registered merchant to whom the payment is made.
Example:"MH4H92C7" - vat_amount number
Amount of the applicable VAT (out of the total transaction amount).
Example:6 - tip_amount number
Amount of the tip (out of the total transaction amount).
Example:3 - entry_mode Entry ModeOptions:
BOLETOSOFORTIDEALBANCONTACTEPSMYBANKSATISPAYBLIKP24GIROPAYPIXQR_CODE_PIXAPPLE_PAYGOOGLE_PAYPAYPALTWINTNONECHIPMANUAL_ENTRYCUSTOMER_ENTRYMAGSTRIPE_FALLBACKMAGSTRIPEDIRECT_DEBITCONTACTLESSMOTOCONTACTLESS_MAGSTRIPEN/AEntry mode of the payment details.
- auth_code string
Authorization code for the transaction sent by the payment card issuer or bank. Applicable only to card payments.
Example:"053201" - internal_id integer
Internal unique ID of the transaction on the SumUp platform.
Example:1763892018
-
- transaction_code string Read only
Transaction code of the successful transaction with which the payment for the checkout is completed.
Example:"TEENSK4W2K" - transaction_id string Read only
Transaction ID of the successful transaction with which the payment for the checkout is completed.
Example:"410fc44a-5956-44e1-b5cc-19c6f8d727a4" - merchant_name string
Name of the merchant
Example:"Sample Merchant" - redirect_url string
URL where the payer is redirected after a redirect-based payment or SCA flow completes.
Example:"https://mysite.com/completed_purchase" - payment_instrument object
Details of the saved payment instrument created or reused during checkout processing.
CloseAttributes- token string
Token value
Example:"e76d7e5c-9375-4fac-a7e7-b19dc5302fbc"
-
curl https://api.sumup.com/v0.1/checkouts/{id} \ -X GET \ -H "Authorization: Bearer $SUMUP_API_KEY"import SumUp from '@sumup/sdk';
const client = new SumUp();
const result = await client.checkouts.get("id");using SumUp;
var client = new SumUpClient();
var result = await client.Checkouts.GetAsync( "id");import com.sumup.sdk.SumUpClient;
SumUpClient client = SumUpClient.builder().build();
var result = client.checkouts().getCheckout( "id");from sumup import Sumup
client = Sumup()
result = client.checkouts.get("id")$sumup = new \SumUp\SumUp();
$result = $sumup->checkouts->get('id');client := sumup.NewClient()
result, err := client.Checkouts.Get(context.Background(), "id")use sumup::Client;
let client = Client::default();
let result = client.checkouts().get("id").await;{ "checkout_reference": null, "amount": 10.1, "currency": "EUR", "merchant_code": "MH4H92C7", "description": null, "return_url": null, "id": "4e425463-3e1b-431d-83fa-1e51c2925e99", "status": null, "date": "2020-02-29T10:56:56+00:00", "valid_until": "2020-02-29T10:56:56+00:00", "customer_id": "831ff8d4cd5958ab5670", "mandate": { "type": "recurrent", "status": "active", "merchant_code": "MH4H92C7" }, "transactions": [ { "id": "6b425463-3e1b-431d-83fa-1e51c2925e99", "transaction_code": "TEENSK4W2K", "amount": 10.1, "currency": "EUR", "timestamp": "2020-02-29T10:56:56.876Z", "status": null, "payment_type": null, "installments_count": null, "merchant_code": "MH4H92C7", "vat_amount": 6, "tip_amount": 3, "entry_mode": null, "auth_code": "053201", "internal_id": 1763892018 } ], "transaction_code": "TEENSK4W2K", "transaction_id": "410fc44a-5956-44e1-b5cc-19c6f8d727a4", "merchant_name": "Sample Merchant", "redirect_url": "https://mysite.com/completed_purchase", "payment_instrument": { "token": "e76d7e5c-9375-4fac-a7e7-b19dc5302fbc" }}
Content-Type: application/json
The request is not authorized.
- type string required format: uri
A URI reference that identifies the problem type.
Example:"https://developer.sumup.com/problem/not-found" - title string
A short, human-readable summary of the problem type.
Example:"Requested resource couldn't be found." - status integer
The HTTP status code generated by the origin server for this occurrence of the problem.
Example:404 - detail string
A human-readable explanation specific to this occurrence of the problem.
Example:"The requested resource doesn't exist or does not belong to you." - instance string format: uri
A URI reference that identifies the specific occurrence of the problem.
Content-Type: application/json
The requested resource does not exist.
- message string
Short description of the error.
- error_code string
Platform code for the error.
Process a checkout
Processing a checkout will attempt to charge the provided payment instrument for the amount of the specified checkout resource initiated in the Create a checkout endpoint.
Follow this request with Retrieve a checkout to confirm its status.
Path Parameters
- id string required
Unique ID of the checkout resource.
Body Parameters
- payment_type string requiredOptions:
cardboletoidealblikbancontactgoogle_payapple_payPayment method used for this processing attempt. It determines which additional request fields are required.
- installments integer minimum: 1, maximum: 12
Number of installments for deferred payments. Available only to merchant users in Brazil.
- mandate Mandate Payload
Mandate details used when a checkout should create a reusable card token for future recurring or merchant-initiated payments.
CloseMandate Payload- type string requiredOptions:
recurrentType of mandate to create for the saved payment instrument.
Example:"recurrent" - user_agent string required
Browser or client user agent observed when consent was collected.
Example:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36" - user_ip string
IP address of the payer when the mandate was accepted.
Example:"172.217.169.174"
Example:{"type":"recurrent","user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36","user_ip":"172.217.169.174"} -
- card Card
Required when payment type is
card. Details of the payment card.CloseCard- name string required Write only
Name of the cardholder as it appears on the payment card.
Example:"FIRSTNAME LASTNAME" - number string required Write only
Number of the payment card (without spaces).
Example:"1234567890123456" - expiry_year string required min length: 2, max length: 4, Write only
Year from the expiration time of the payment card. Accepted formats are
YYandYYYY.Example:"2023" - expiry_month string required Write onlyOptions:
010203040506070809101112Month from the expiration time of the payment card. Accepted format is
MM. - cvv string required min length: 3, max length: 4, Write only
Three or four-digit card verification value (security code) of the payment card.
Example:"123" - zip_code string min length: 5, max length: 5, Write only
Required five-digit ZIP code. Applicable only to merchant users in the USA.
Example:"12345" - type Card Type requiredOptions:
ALELOAMEXCONECSCUPDINERSDISCOVEREFTPOSELOELVGIROCARDHIPERCARDINTERACJCBMAESTROMASTERCARDPLUXEESWILETICKETVISAVISA_ELECTRONVISA_VPAYVPAYVRUNKNOWNIssuing card network of the payment card used for the transaction.
-
- google_pay object
Raw
PaymentDataobject received from Google Pay. Send the Google Pay response payload as-is.Example:{"apiVersionMinor":0,"apiVersion":2,"paymentMethodData":{"description":"Visa •••• 1111","tokenizationData":{"type":"PAYMENT_GATEWAY","token":"token-data"},"type":"CARD","info":{"cardNetwork":"VISA","cardDetails":"1111"}}} - apple_pay object
Raw payment token object received from Apple Pay. Send the Apple Pay response payload as-is.
Example:{"token":{"paymentData":{"data":"si2xuT2ArQo689SfE-long-token","signature":"MIAGCSqGSIb3DQEHA-long-signature","header":{"publicKeyHash":"PWfjDi3TSwgZ20TY/A7f3V6J/1rhHyRDCspbeljM0io=","ephemeralPublicKey":"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEaBtz7UN2MNV0qInJVEEhXy10PU0KfO6KxFjXm93oKWL6lCsxZZGDl/EKioUHVSlKgpsKGin0xvgldfxeJVgy0g==","transactionId":"62e0568bc9258e9d0e059d745650fc8211d05ef7a7a1589a6411bf9b12cdfd04"},"version":"EC_v1"},"paymentMethod":{"displayName":"MasterCard 8837","network":"MasterCard","type":"debit"},"transactionIdentifier":"62E0568BC9258E9D0E059D745650FC8211D05EF7A7A1589A6411BF9B12CDFD04"}} - token string
Saved-card token to use instead of raw card details when processing with a previously stored payment instrument.
- customer_id string
Customer identifier associated with the saved payment instrument. Required when
tokenis provided. - personal_details Personal Details
Personal details for the customer.
ClosePersonal Details- first_name string
First name of the customer.
Example:"John" - last_name string
Last name of the customer.
Example:"Doe" - email string
Email address of the customer.
Example:"user@example.com" - phone string
Phone number of the customer.
Example:"+491635559723" - birth_date string format: date
Date of birth of the customer.
Example:"1993-12-31" - tax_id string max length: 255
An identification number user for tax purposes (e.g. CPF)
Example:"423.378.593-47" - address Address Legacy
Profile's personal address information.
CloseAddress Legacy- city string
City name from the address.
Example:"Berlin" - country string
Two letter country code formatted according to ISO3166-1 alpha-2.
Example:"DE" - line_1 string
First line of the address with details of the street name and number.
Example:"Sample street" - line_2 string
Second line of the address with details of the building, unit, apartment, and floor numbers.
Example:"ap. 5" - postal_code string
Postal code from the address.
Example:"10115" - state string
State name or abbreviation from the address.
Example:"Berlin"
-
-
Response
Returns the checkout resource after a processing attempt.
- checkout_reference string max length: 90
Merchant-defined reference for the checkout. Use it to correlate the SumUp checkout with your own order, cart, subscription, or payment attempt in your systems.
- amount number
Amount to be charged to the payer, expressed in major units.
Example:10.1 - currency CurrencyOptions:
BGNBRLCHFCLPCOPCZKDKKEURGBPHRKHUFNOKPLNRONSEKUSDThree-letter ISO4217 code of the currency for the amount. Currently supported currency values are enumerated above.
Example:"EUR" - merchant_code string
Merchant account that receives the payment.
Example:"MH4H92C7" - description string
Short merchant-defined description shown in SumUp tools and reporting. Use it to make the checkout easier to recognize in dashboards, support workflows, and reconciliation.
- return_url string format: uri
Optional backend callback URL used by SumUp to notify your platform about processing updates for the checkout.
- id string Read only
Unique SumUp identifier of the checkout resource.
Example:"4e425463-3e1b-431d-83fa-1e51c2925e99" - status stringOptions:
PENDINGFAILEDPAIDEXPIREDCurrent high-level state of the checkout.
PENDINGmeans the checkout exists but is not yet completed,PAIDmeans a payment succeeded,FAILEDmeans the latest processing attempt failed, andEXPIREDmeans the checkout can no longer be processed. - date string format: date-time
Date and time of the creation of the payment checkout. Response format expressed according to ISO8601 code.
Example:"2020-02-29T10:56:56+00:00" - valid_until string format: date-time, nullable
Optional expiration timestamp. The checkout must be processed before this moment, otherwise it becomes unusable. If omitted, the checkout does not have an explicit expiry time.
Example:"2020-02-29T10:56:56+00:00" - customer_id string
Merchant-scoped identifier of the customer associated with the checkout. Use it when storing payment instruments or reusing saved customer context for recurring and returning-payer flows.
Example:"831ff8d4cd5958ab5670" - mandate Mandate Response
Details of the mandate linked to the saved payment instrument.
CloseMandate Response- type string
Type of mandate stored for the checkout or payment instrument.
- status stringOptions:
activeinactiveCurrent lifecycle status of the mandate.
Example:"active" - merchant_code string
Merchant account for which the mandate is valid.
Example:"MH4H92C7"
Example:{"type":"recurrent","status":"active","merchant_code":"MH4H92C7"} -
- transactions []object unique items
Payment attempts and resulting transaction records linked to this checkout. Use the Transactions endpoints when you need the authoritative payment result and event history.
CloseAttributes- id string
Unique ID of the transaction.
Example:"6b425463-3e1b-431d-83fa-1e51c2925e99" - transaction_code string
Transaction code returned by the acquirer/processing entity after processing the transaction.
Example:"TEENSK4W2K" - amount number
Total amount of the transaction.
Example:10.1 - currency CurrencyOptions:
BGNBRLCHFCLPCOPCZKDKKEURGBPHRKHUFNOKPLNRONSEKUSDThree-letter ISO4217 code of the currency for the amount. Currently supported currency values are enumerated above.
Example:"EUR" - timestamp string format: date-time
Date and time of the creation of the transaction. Response format expressed according to ISO8601 code.
Example:"2020-02-29T10:56:56.876Z" - status stringOptions:
SUCCESSFULCANCELLEDFAILEDPENDINGCurrent status of the transaction.
- payment_type Payment TypeOptions:
CASHPOSECOMRECURRINGBITCOINBALANCEMOTOBOLETODIRECT_DEBITAPMUNKNOWNPayment type used for the transaction.
- installments_count integer minimum: 1
Current number of the installment for deferred payments.
- merchant_code string
Unique code of the registered merchant to whom the payment is made.
Example:"MH4H92C7" - vat_amount number
Amount of the applicable VAT (out of the total transaction amount).
Example:6 - tip_amount number
Amount of the tip (out of the total transaction amount).
Example:3 - entry_mode Entry ModeOptions:
BOLETOSOFORTIDEALBANCONTACTEPSMYBANKSATISPAYBLIKP24GIROPAYPIXQR_CODE_PIXAPPLE_PAYGOOGLE_PAYPAYPALTWINTNONECHIPMANUAL_ENTRYCUSTOMER_ENTRYMAGSTRIPE_FALLBACKMAGSTRIPEDIRECT_DEBITCONTACTLESSMOTOCONTACTLESS_MAGSTRIPEN/AEntry mode of the payment details.
- auth_code string
Authorization code for the transaction sent by the payment card issuer or bank. Applicable only to card payments.
Example:"053201" - internal_id integer
Internal unique ID of the transaction on the SumUp platform.
Example:1763892018
-
- transaction_code string Read only
Transaction code of the successful transaction with which the payment for the checkout is completed.
Example:"TEENSK4W2K" - transaction_id string Read only
Transaction ID of the successful transaction with which the payment for the checkout is completed.
Example:"410fc44a-5956-44e1-b5cc-19c6f8d727a4" - merchant_name string
Name of the merchant
Example:"Sample Merchant" - redirect_url string
URL where the payer is redirected after a redirect-based payment or SCA flow completes.
Example:"https://mysite.com/completed_purchase" - payment_instrument object
Details of the saved payment instrument created or reused during checkout processing.
CloseAttributes- token string
Token value
Example:"e76d7e5c-9375-4fac-a7e7-b19dc5302fbc"
-
curl https://api.sumup.com/v0.1/checkouts/{id} \ -X PUT \ -H "Authorization: Bearer $SUMUP_API_KEY" \ --json '{ "payment_type": "" }'import SumUp from '@sumup/sdk';
const client = new SumUp();
const result = await client.checkouts.process("id", { payment_type: "",});using SumUp;
var client = new SumUpClient();
var result = await client.Checkouts.ProcessAsync( "id", new ProcessCheckout { PaymentType = "", });import com.sumup.sdk.SumUpClient;
SumUpClient client = SumUpClient.builder().build();
var result = client.checkouts().processCheckout( "id", ProcessCheckout.builder() .paymentType(PaymentType.fromValue("")) .build());from sumup import Sumup
client = Sumup()
result = client.checkouts.process("id", ProcessCheckoutBody( payment_type="",))$sumup = new \SumUp\SumUp();
$result = $sumup->checkouts->process('id', [ 'payment_type' => '',]);client := sumup.NewClient()
result, err := client.Checkouts.Process(context.Background(), "id", sumup.CheckoutsProcessParams{ PaymentType: "",})use sumup::Client;
let client = Client::default();
let result = client.checkouts().process("id", sumup::ProcessCheckoutBody{ payment_type: "".to_string(),}).await;{ "checkout_reference": "f00a8f74-b05d-4605-bd73-2a901bae5802", "amount": 10.1, "currency": "EUR", "merchant_code": "MH4H92C7", "description": "Purchase", "return_url": "http://example.com", "id": "4e425463-3e1b-431d-83fa-1e51c2925e99", "status": "PENDING", "date": "2020-02-29T10:56:56+00:00", "valid_until": "2020-02-29T10:56:56+00:00", "customer_id": "831ff8d4cd5958ab5670", "mandate": { "type": "recurrent", "status": "active", "merchant_code": "MH4H92C7" }, "transactions": [ { "id": "410fc44a-5956-44e1-b5cc-19c6f8d727a4", "transaction_code": "TEENSK4W2K", "amount": 10.1, "currency": "EUR", "timestamp": "2020-02-29T10:56:56.876Z", "status": "SUCCESSFUL", "payment_type": "ECOM", "installments_count": 1, "merchant_code": "MH4H92C7", "vat_amount": 6, "tip_amount": 3, "entry_mode": "CUSTOMER_ENTRY", "auth_code": "053201", "internal_id": 1763892018 } ], "transaction_code": "TEENSK4W2K", "transaction_id": "410fc44a-5956-44e1-b5cc-19c6f8d727a4"}{ "checkout_reference": "f00a8f74-b05d-4605-bd73-2a901bae5802", "amount": 10.1, "currency": "EUR", "merchant_code": "MH4H92C7", "description": "Purchase with token", "id": "4e425463-3e1b-431d-83fa-1e51c2925e99", "status": "PENDING", "date": "2020-02-29T10:56:56+00:00", "transaction_code": "TEENSK4W2K", "transaction_id": "410fc44a-5956-44e1-b5cc-19c6f8d727a4", "merchant_name": "Sample Merchant", "redirect_url": "https://mysite.com/completed_purchase", "customer_id": "831ff8d4cd5958ab5670", "payment_instrument": { "token": "e76d7e5c-9375-4fac-a7e7-b19dc5302fbc" }, "transactions": [ { "id": "410fc44a-5956-44e1-b5cc-19c6f8d727a4", "transaction_code": "TEENSK4W2K", "amount": 10.1, "currency": "EUR", "timestamp": "2020-02-29T10:56:56.876Z", "status": "SUCCESSFUL", "payment_type": "ECOM", "installments_count": 1, "merchant_code": "MH4H92C7", "vat_amount": 6, "tip_amount": 3, "entry_mode": "CUSTOMER_ENTRY", "auth_code": "053201", "internal_id": 1763892018 } ]}{ "checkout_reference": "f00a8f74-b05d-4605-bd73-2a901bae5802", "amount": 10.1, "currency": "BRL", "merchant_code": "MH4H92C7", "description": "Boleto checkout", "id": "4e425463-3e1b-431d-83fa-1e51c2925e99", "status": "PENDING", "date": "2021-07-06T12:34:02.000+00:00", "merchant_name": "Sample shop", "boleto": { "barcode": "34191090081790614310603072340007886840000000200", "url": "https://checkouts.sample.com/v0.1/checkouts/2e7a36cc-7897-446b-a966-952ab5f049ea/boleto" }, "redirect_url": "https://website.com", "purpose": "CHECKOUT", "transactions": [ { "id": "debd2986-9852-4e86-8a8e-7ea9c87dd679", "transaction_code": "TEN3E696NP", "merchant_code": "MH4H92C9", "amount": 10.1, "vat_amount": 6, "tip_amount": 3, "currency": "BRL", "timestamp": "2021-07-06T12:34:16.460+00:00", "status": "PENDING", "payment_type": "BOLETO", "entry_mode": "BOLETO", "installments_count": 1, "internal_id": 1763892018 } ]}{ "next_step": { "url": "https://r3.girogate.de/ti/simideal", "method": "GET", "payload": { "tx": "961473700", "rs": "ILnaUeQTKJ184fVrjGILrLjePX9E4rmz", "cs": "c8bc0ea231f8372431ca22d6f8319f8de0263d0b1705759ed27155f245f193c5" }, "full": "https://r3.girogate.de/ti/simideal?tx=961473700&rs=ILnaUeQTKJ184fVrjGILrLjePX9E4rmz&cs=c8bc0ea231f8372431ca22d6f8319f8de0263d0b1705759ed27155f245f193c5", "mechanism": [ "browser" ] }}{ "next_step": { "url": "https://r3.girogate.de/ti/simbcmc", "method": "GET", "payload": { "tx": "624788471", "rs": "5MioXoKt2Gwj9dLgqAX1bMRBuT5xTSdB", "cs": "697edacdd9175f3f99542500fa0ff08280b66aaff3c2641a2e212e4b039473cc" }, "full": "https://r3.girogate.de/ti/simbcmc?tx=624788471&rs=5MioXoKt2Gwj9dLgqAX1bMRBuT5xTSdB&cs=697edacdd9175f3f99542500fa0ff08280b66aaff3c2641a2e212e4b039473cc", "mechanism": [ "browser" ] }}
Content-Type: application/json
The request body is invalid for processing the checkout.
Content-Type: application/json
The request is not authorized.
- type string required format: uri
A URI reference that identifies the problem type.
Example:"https://developer.sumup.com/problem/not-found" - title string
A short, human-readable summary of the problem type.
Example:"Requested resource couldn't be found." - status integer
The HTTP status code generated by the origin server for this occurrence of the problem.
Example:404 - detail string
A human-readable explanation specific to this occurrence of the problem.
Example:"The requested resource doesn't exist or does not belong to you." - instance string format: uri
A URI reference that identifies the specific occurrence of the problem.
Content-Type: application/json
The requested resource does not exist.
- message string
Short description of the error.
- error_code string
Platform code for the error.
Content-Type: application/json
The request conflicts with the current state of the resource.
- message string
Short description of the error.
- error_code string
Platform code for the error.
{ "message": "Validation error", "error_code": "INVALID", "param": "card.expiry_year"}{ "detail": "Unauthorized.", "status": 401, "title": "Unauthorized", "trace_id": "3c77294349d3b5647ea2d990f0d8f017", "type": "https://developer.sumup.com/problem/unauthorized"}{ "error_code": "NOT_FOUND", "message": "Resource not found"}{ "error_code": "CHECKOUT_PROCESSED", "message": "Checkout is already processed"}Deactivate a checkout
Deactivates an identified checkout resource. If the checkout has already been processed it can not be deactivated.
payments Path Parameters
- id string required
Unique ID of the checkout resource.
Response
Returns the checkout object after successful deactivation. See Checkout object .
- checkout_reference string max length: 90
Merchant-defined reference for the checkout. Use it to correlate the SumUp checkout with your own order, cart, subscription, or payment attempt in your systems.
- amount number
Amount to be charged to the payer, expressed in major units.
Example:10.1 - currency CurrencyOptions:
BGNBRLCHFCLPCOPCZKDKKEURGBPHRKHUFNOKPLNRONSEKUSDThree-letter ISO4217 code of the currency for the amount. Currently supported currency values are enumerated above.
Example:"EUR" - merchant_code string
Merchant account that receives the payment.
Example:"MH4H92C7" - description string
Short merchant-defined description shown in SumUp tools and reporting. Use it to make the checkout easier to recognize in dashboards, support workflows, and reconciliation.
- return_url string format: uri
Optional backend callback URL used by SumUp to notify your platform about processing updates for the checkout.
- id string Read only
Unique SumUp identifier of the checkout resource.
Example:"4e425463-3e1b-431d-83fa-1e51c2925e99" - status stringOptions:
PENDINGFAILEDPAIDEXPIREDCurrent high-level state of the checkout.
PENDINGmeans the checkout exists but is not yet completed,PAIDmeans a payment succeeded,FAILEDmeans the latest processing attempt failed, andEXPIREDmeans the checkout can no longer be processed. - date string format: date-time
Date and time of the creation of the payment checkout. Response format expressed according to ISO8601 code.
Example:"2020-02-29T10:56:56+00:00" - valid_until string format: date-time, nullable
Optional expiration timestamp. The checkout must be processed before this moment, otherwise it becomes unusable. If omitted, the checkout does not have an explicit expiry time.
Example:"2020-02-29T10:56:56+00:00" - customer_id string
Merchant-scoped identifier of the customer associated with the checkout. Use it when storing payment instruments or reusing saved customer context for recurring and returning-payer flows.
Example:"831ff8d4cd5958ab5670" - mandate Mandate Response
Details of the mandate linked to the saved payment instrument.
CloseMandate Response- type string
Type of mandate stored for the checkout or payment instrument.
- status stringOptions:
activeinactiveCurrent lifecycle status of the mandate.
Example:"active" - merchant_code string
Merchant account for which the mandate is valid.
Example:"MH4H92C7"
Example:{"type":"recurrent","status":"active","merchant_code":"MH4H92C7"} -
- transactions []object unique items
Payment attempts and resulting transaction records linked to this checkout. Use the Transactions endpoints when you need the authoritative payment result and event history.
CloseAttributes- id string
Unique ID of the transaction.
Example:"6b425463-3e1b-431d-83fa-1e51c2925e99" - transaction_code string
Transaction code returned by the acquirer/processing entity after processing the transaction.
Example:"TEENSK4W2K" - amount number
Total amount of the transaction.
Example:10.1 - currency CurrencyOptions:
BGNBRLCHFCLPCOPCZKDKKEURGBPHRKHUFNOKPLNRONSEKUSDThree-letter ISO4217 code of the currency for the amount. Currently supported currency values are enumerated above.
Example:"EUR" - timestamp string format: date-time
Date and time of the creation of the transaction. Response format expressed according to ISO8601 code.
Example:"2020-02-29T10:56:56.876Z" - status stringOptions:
SUCCESSFULCANCELLEDFAILEDPENDINGCurrent status of the transaction.
- payment_type Payment TypeOptions:
CASHPOSECOMRECURRINGBITCOINBALANCEMOTOBOLETODIRECT_DEBITAPMUNKNOWNPayment type used for the transaction.
- installments_count integer minimum: 1
Current number of the installment for deferred payments.
- merchant_code string
Unique code of the registered merchant to whom the payment is made.
Example:"MH4H92C7" - vat_amount number
Amount of the applicable VAT (out of the total transaction amount).
Example:6 - tip_amount number
Amount of the tip (out of the total transaction amount).
Example:3 - entry_mode Entry ModeOptions:
BOLETOSOFORTIDEALBANCONTACTEPSMYBANKSATISPAYBLIKP24GIROPAYPIXQR_CODE_PIXAPPLE_PAYGOOGLE_PAYPAYPALTWINTNONECHIPMANUAL_ENTRYCUSTOMER_ENTRYMAGSTRIPE_FALLBACKMAGSTRIPEDIRECT_DEBITCONTACTLESSMOTOCONTACTLESS_MAGSTRIPEN/AEntry mode of the payment details.
- auth_code string
Authorization code for the transaction sent by the payment card issuer or bank. Applicable only to card payments.
Example:"053201" - internal_id integer
Internal unique ID of the transaction on the SumUp platform.
Example:1763892018
-
curl https://api.sumup.com/v0.1/checkouts/{id} \ -X DELETE \ -H "Authorization: Bearer $SUMUP_API_KEY"import SumUp from '@sumup/sdk';
const client = new SumUp();
const result = await client.checkouts.deactivate("id");using SumUp;
var client = new SumUpClient();
var result = await client.Checkouts.DeactivateAsync( "id");import com.sumup.sdk.SumUpClient;
SumUpClient client = SumUpClient.builder().build();
var result = client.checkouts().deactivateCheckout( "id");from sumup import Sumup
client = Sumup()
result = client.checkouts.deactivate("id")$sumup = new \SumUp\SumUp();
$result = $sumup->checkouts->deactivate('id');client := sumup.NewClient()
result, err := client.Checkouts.Deactivate(context.Background(), "id")use sumup::Client;
let client = Client::default();
let result = client.checkouts().deactivate("id").await;{ "checkout_reference": "f00a8f74-b05d-4605-bd73-2a901bae5802", "id": "817340ce-f1d9-4609-b90a-6152f8ee267j", "amount": 2, "currency": "EUR", "merchant_code": "MH4H92C7", "description": "Deletion example", "purpose": "CHECKOUT", "status": "EXPIRED", "date": "2020-02-29T10:56:56+00:00", "valid_until": "2020-02-29T10:56:56+00:00", "merchant_name": "Sample Merchant", "transactions": []}
Content-Type: application/json
The request is not authorized.
- type string required format: uri
A URI reference that identifies the problem type.
Example:"https://developer.sumup.com/problem/not-found" - title string
A short, human-readable summary of the problem type.
Example:"Requested resource couldn't be found." - status integer
The HTTP status code generated by the origin server for this occurrence of the problem.
Example:404 - detail string
A human-readable explanation specific to this occurrence of the problem.
Example:"The requested resource doesn't exist or does not belong to you." - instance string format: uri
A URI reference that identifies the specific occurrence of the problem.
Content-Type: application/json
The requested resource does not exist.
- message string
Short description of the error.
- error_code string
Platform code for the error.
Content-Type: application/json
The request conflicts with the current state of the resource.
- message string
Short description of the error.
- error_code string
Platform code for the error.
{ "detail": "Unauthorized.", "status": 401, "title": "Unauthorized", "trace_id": "3c77294349d3b5647ea2d990f0d8f017", "type": "https://developer.sumup.com/problem/unauthorized"}{ "error_code": "NOT_FOUND", "message": "Resource not found"}{ "error_code": "CHECKOUT_PROCESSED", "message": "Checkout is already processed"}Get available payment methods
Get payment methods available for the given merchant to use with a checkout.
Path Parameters
- merchant_code string required
The SumUp merchant code.
Example:"MH4H92C7"
Query Parameters
- amount number
The amount for which the payment methods should be eligible, in major units.
Example:9.99 - currency string
The currency for which the payment methods should be eligible.
Example:"EUR"
Response
Available payment methods
- available_payment_methods []objectCloseAttributes
- id string required
The ID of the payment method.
Example:"qr_code_pix"
-
curl https://api.sumup.com/v0.1/merchants/{merchant_code}/payment-methods \ -X GET \ -H "Authorization: Bearer $SUMUP_API_KEY"import SumUp from '@sumup/sdk';
const client = new SumUp();
const result = await client.checkouts.listAvailablePaymentMethods("MH4H92C7");using SumUp;
var client = new SumUpClient();
var result = await client.Checkouts.ListAvailablePaymentMethodsAsync( "MH4H92C7");import com.sumup.sdk.SumUpClient;
SumUpClient client = SumUpClient.builder().build();
var result = client.checkouts().getPaymentMethods( "MH4H92C7");from sumup import Sumup
client = Sumup()
result = client.checkouts.list_available_payment_methods("MH4H92C7")$sumup = new \SumUp\SumUp();
$result = $sumup->checkouts->listAvailablePaymentMethods('MH4H92C7');client := sumup.NewClient()
result, err := client.Checkouts.ListAvailablePaymentMethods(context.Background(), "MH4H92C7")use sumup::Client;
let client = Client::default();
let result = client.checkouts().list_available_payment_methods("MH4H92C7", sumup::GetPaymentMethodsParams{ amount: Some(9.99), currency: Some("EUR".to_string()),}).await;{ "available_payment_methods": [ { "id": "apple_pay" }, { "id": "blik" } ]}
Content-Type: application/json
The request is invalid for the submitted query parameters.
- title string
Short title of the error.
- details string
Details of the error.
- status number
The status code.
- failed_constraints []object
List of violated validation constraints.
CloseAttributes- message string
- reference string
-
{ "failed_constraints": [ { "message": "Currency must also be specified when filtering by amount", "reference": "currency" } ], "status": 400, "title": "Bad Request"}