pretix-gpwebpay
GP webpay (Global Payments Europe) payment provider for pretix. It takes card and bank-button payments, and refunds them automatically, including when customers cancel their own orders.
How it works
- Payment: the customer is redirected to the GP webpay gateway (HTTP API). The signed answer on return
is accepted only if:
DIGEST1verifies with GPE's public key (this signature covers your merchant number), and- it concerns this very payment (
ORDERNUMBER,MD,OPERATION).
- Customers who never come back: the HTTP API has no server notification. A periodic task asks the WS API
(
getPaymentStatus) about open payments:- every few minutes in the first hour,
- hourly for a day,
- then every 6 hours for 8 days (bank-button payments can take up to 7 days).
- Refunds: these go through the WS API (
processRefund), full or partial. A refund for a payment still in the day's open batch is sent automatically after the batch closes (around 22:00). A refund whose answer is lost is never sent twice: GP webpay's refunded total decides. - Refunds made in the GP webpay portal appear in pretix as external refunds the next time the payment is refunded or checked.
Requirements
- pretix 2025.1 or later, Python 3.11 or later
- A GP webpay merchant account. Your bank must also enable the WS API for your merchant number.
- Event currency CZK, EUR, USD, GBP or PLN (multicurrency depends on your bank)
Configuration
Enable the plugin for the event, then open Settings → Payment → GPWebPay.
| Setting | |
|---|---|
| Merchant number | from your bank |
| Provider code | 4 digits identifying your bank, e.g. 0100 KB SmartPay, 0300 ČSOB, 0880 Global Payments CZ (WS API documentation, annex 5) |
| Private key | paste the PEM including the BEGIN/END lines; stored in the database |
| Private key password | if the key is encrypted |
| GPE public key | GP webpay's signing key or certificate for the environment (test and production differ) |
| Test environment | uses test.3dsecure.gpwebpay.com |
Keys uploaded as files by version 7.0 or older ended up in pretix's public media folder. The settings page warns about this; pasting the key into the field deletes the file. If the file may have been reachable, ask your bank for a new key pair.
Refunds are possible for 6 months after payment (13 months with UniCredit). After that pretix offers a manual refund instead.
Cancellations and automatic refunds
Event → Settings → Cancellation:
- allow customers to cancel paid orders,
- refund automatically to the original payment method.
Development
pip install -e ".[test]"
pytest
flake8 pretix_gpwebpay tests && isort --check-only pretix_gpwebpay tests
The tests run against a real pretix with throwaway RSA keys and a fake WS API. Releasing: see RELEASING.md.
GP webpay's documentation is confidential (GPE's terms). Do not commit it to this repository.
Licence
Apache License 2.0
Metadata
Release files for pretix-gpwebpay 7.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pretix_gpwebpay-7.1.0.tar.gz | 26.8 kB | Without provenance | Details for pretix_gpwebpay-7.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pretix_gpwebpay-7.1.0-py3-none-any.whl | Python 3 | none | any | Details for pretix_gpwebpay-7.1.0-py3-none-any.whl |
Total release size: 52.1 kB
Release files / pretix_gpwebpay-7.1.0.tar.gz
| Download URL | pretix_gpwebpay-7.1.0.tar.gz |
|---|---|
| Size | 26.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cbf06100c698b90392f70fa52aa0650232fa23ea3f52a98d1ac4362d6a6c072c
|
|
BLAKE2b-256 checksum How to use checksums |
82ec2fc13eb055fc34d42faee79a88f952eb2efa8d257fc3debe9fbcbc0f1301
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / pretix_gpwebpay-7.1.0-py3-none-any.whl
| Download URL | pretix_gpwebpay-7.1.0-py3-none-any.whl |
|---|---|
| Size | 25.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
158d31d0b6907bcda4e0364ddedb4a3cd41e00538f01f09ffd3c68a5c856f462
|
|
BLAKE2b-256 checksum How to use checksums |
20f94f67dd2f849f9987ea2f934891792822e456ce2f32b8c56026163d59ebd0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Security for pretix-gpwebpay 7.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.