This is a plugin for Pretix.
Enables credit card payments, Apple Pay, Google Pay, and alternative payment methods via SumUp.
This guide walks through setting up and configuring the SumUp payment provider for your Pretix installation. The SumUp payment provider allows you to accept credit card payments and various alternative payment methods.
- A SumUp merchant account
- API keys from the SumUp developer portal
- Pretix installation
- API Key: Required authorization token that allows Pretix to call SumUp on your behalf.
- Obtain it from: SumUp API Keys
- Format must begin with
sup_sk_ - Paste it into the
API Keyfield under the plugin's settings.
- Merchant Code & Merchant Name: Automatically filled in when a valid API key is provided after saving.
- Enable Alternative Payment Methods under the plugin's settings: Allows customers to pay using:
- Apple Pay
- Google Pay
- iDEAL
- Other methods depending on your SumUp account's country
- Apple Pay Setup:
- Download the Domain verification file from SumUp Wallets Settings and open it with a text editor
- Copy and paste the whole file as text to the
ApplePay MerchantID Domain Associationfield under Pretix'sGlobal settings(yourdomain/control/global/settings/- only accessible as an Admin user viaAdmin mode) - Verify your domain by pasting it to SumUp Wallets Settings and clicking
Check domain(likeexample.comorworld.example.com) - You're done! Apple Pay should show as an option from now on for every new checkout, when visited by an supported device like an iPhone!
- Google Pay Setup:
- For the Google Pay checkout you'll need to register a Google Pay business account and validate your domain with Google by sending screenshots of your checkout to verify that it satisfies Google's guidelines. Additionally, you'll need to contact SumUp's Integration Team to activate Google Pay on your merchant account.
- First, register a Google Pay business account here
- Fill out your information under the
Business profiletab and get it approved by Google Enable Google Payunder the plugin's settings and fill in your GoogleMerchant ID(you can find it next to your business name on the Google Pay console)- Under the
Google Pay APItab fill in your domain (likeexample.comorworld.example.com) and chooseGatewayasIntegration type - Take screenshots of your own Pretix store (see the examples under images) and submit them to Google. For the
Payment method screenandGooglePay API Payment Screenadd#sumup-widget:google-pay-demo-modeto your URL to generate a test Google Pay button. (e.g.:yourdomain.net/yourorganizer/yourevent/order/GDBBK/9ddqfjdkaujvhus45q/#sumup-widget:google-pay-demo-mode) - Wait until Google Approves your implementation (usually within 48h)
- Contact SumUp's Integration Team to activate Google Pay on your merchant account via the contact form. You'll need to provide them with your SumUp Merchant Code, SumUp Merchant Email, and a URL to a test ticket shop in order to check if your store complies with their policies.
- You're done! Google Pay should show as an option from now on for every new checkout!
- Other Alternative Payment Methods
- After enabling
Alternative Payment Methodsunder the plugin's settings they should show up as an option depending on your SumUp account's country
- After enabling
- Make sure that you have a working Pretix development setup.
- Clone this repository.
- Activate the virtual environment you use for Pretix development.
- Execute
python setup.py developwithin this directory to register this application with Pretix's plugin registry. - Execute
makewithin this directory to compile translations. - Restart your local Pretix server. You can now use the plugin from this repository for your events by enabling it in the 'plugins' tab in the settings.
This plugin has CI set up to enforce a few code style rules. To check locally, you need these packages installed:
pip install flake8 isort black
To check your plugin for rule violations, run:
black --check . isort -c . flake8 .
You can auto-fix some of these issues by running:
isort . black .
To automatically check for these issues before you commit, you can run .install-hooks.
Copyright 2025 Christoph Walcher & Botond Moksony
Released under the terms of the Apache License 2.0
