Payment gateways
SumUp Hosted Checkout — setup and reference
Configure the exact merchant fields, payment confirmation, currencies, callbacks and recovery for SumUp Hosted Checkout.
About 4 min read
Module and release scope
This guide covers SumUp Hosted Checkout 1.0.0, Extension API 1, from the reviewed product source. Its declared core range is 1.3.6–1.3.99. Use the matching released core and signed provider package; a version label alone does not install the required contracts. Source availability does not mean the module is bundled in every currently downloadable product, installed on your server, enabled or certified for your merchant/server account. Nothing in this guide enables a provider or changes your existing connections.
Open System → Payment gateways (newer source may group these as Payments, Domain services or Hosting services). Install the reviewed signed package through Modules & addons or the integration workspace's Install tab, enable the module separately, add an account/connection, save its own credentials, run its stated Test and explicitly enable the connection. Saving or retesting disables the connection until you enable it again. Start with the provider's test environment where supported; otherwise use an isolated account or server.
Exact connection fields
These are the fields declared by this module. Secret values are entered privately and encrypted by the application. Defaults are configuration hints, not approved live merchant settings. Internal fields are populated by the module and are not operator-editable.
| Key / label | Type | Required | Default / guidance |
|---|---|---|---|
api_key — API key or access token |
secret | Yes | A sandbox merchant uses its sandbox key on the same API hostname. |
merchant_code — Merchant code |
text | Yes | The merchant receiving this payment, for example the code in your SumUp account. |
Use an API key or OAuth access token for the actual sandbox or live merchant. SumUp uses https://api.sumup.com for both; the key determines the environment. Enter its merchant_code, not an email. Grant merchant profile read, checkout create/read and transaction read access as applicable to the API key. Test retrieves /v1/merchants/{merchant_code}. Enable online payments and the payment methods on the SumUp merchant account.
Supported invoice currencies: BRL CHF CZK DKK EUR GBP NOK PLN RON SEK USD. Zero-decimal CLP and three-decimal currencies are excluded. Your merchant must be approved for the invoice currency.
Checkout creation enables Hosted Checkout and passes the connection URL as return_url for status notifications. SumUp sends CHECKOUT_STATUS_CHANGED; it has no trusted settlement data here. The module retrieves the checkout with the merchant API key and requires PAID plus exactly one SUCCESSFUL matching online transaction. The browser return and reconciliation use the server-stored checkout ID, never a browser status.
Sources: https://developer.sumup.com/online-payments/checkouts/hosted-checkout https://developer.sumup.com/api/checkouts https://developer.sumup.com/api/merchants
Install and configure
This is an API 1 payment module for the current product source (core 1.3.6). It installs disabled and contains no account credentials. In Payments → Available, open this provider, enable its module after reviewing it, then add a merchant account. Save credentials, run Test and explicitly enable the account. Merchant onboarding and payment-method approval remain with the provider.
Only the listed invoice currencies are supported, using exact two-decimal amounts. Domain/storefront currency is not silently converted. The hosted provider page chooses methods available for the merchant, payer and country. The application never collects a card number or CVV.
The account’s full webhook URL is shown after saving. Register that one HTTPS URL for every storefront sharing the account. Browser success messages never mark an invoice paid. Pending, declined, partly paid, authorization-only and refunded payments require their actual provider state; no automatic refund is requested. Test uses authentication/read-only metadata, never a charge. API diagnostics are redacted.