Skip to main content

GPWebPay Payment Provider for Pretix

A fully functional payment gateway plugin for Pretix that integrates with GPWebPay payment system.

Features

  • Full GPWebPay integration with PKI-based message signing
  • Secure payment processing with RSA-SHA256 signatures
  • Support for multiple currencies (CZK, EUR, USD, GBP, PLN, HUF)
  • Server-to-server notifications (IPN)
  • User redirect handling
  • Test mode support
  • Proper error handling and logging

Installation

  1. Install the plugin in your Pretix environment:
pip install -e /path/to/pretix-gpwebpay
  1. Add the plugin to your Pretix configuration (pretix.cfg):
[pretix]
plugins = pretix_gpwebpay
  1. Restart your Pretix instance.

Configuration

  1. Go to your event's payment settings in the Pretix control panel.

  2. Enable the GPWebPay payment provider.

  3. Configure the following settings:

    • Merchant Number: Your GPWebPay merchant number
    • Private Key File: Upload your GPWebPay private key file (.key or .pem format)
    • Private Key Password: Password for your private key (if required)
    • GPWebPay Public Key File: Upload GPWebPay's public key for signature verification
    • Gateway URL: GPWebPay gateway URL
      • Production: https://3dsecure.gpwebpay.com/pgw/order.do
      • Test: Use the test gateway URL provided by GPWebPay
    • Test Mode: Enable for testing

Requirements

  • Pretix >= 4.0.0
  • Python >= 3.8
  • cryptography >= 3.0.0

Security

This plugin implements GPWebPay's security requirements:

  • All payment requests are signed using RSA-SHA256 with your private key
  • All payment responses are verified using GPWebPay's public key
  • Private keys are stored securely in Pretix's configuration
  • Message integrity is verified for all transactions

How It Works

  1. Payment Initiation: When a customer selects GPWebPay, they are redirected to the GPWebPay gateway with a signed payment request.

  2. Payment Processing: The customer completes payment on GPWebPay's secure gateway.

  3. Return Handling: After payment, the customer is redirected back to your Pretix instance, where the payment status is verified using GPWebPay's signature.

  4. Server Notification: GPWebPay also sends a server-to-server notification to confirm the payment status.

Supported Currencies

  • CZK (Czech Koruna) - Code: 203
  • EUR (Euro) - Code: 978
  • USD (US Dollar) - Code: 840
  • GBP (British Pound) - Code: 826
  • PLN (Polish Zloty) - Code: 985
  • HUF (Hungarian Forint) - Code: 348

Development

Project Structure

pretix_gpwebpay/
├── __init__.py          # Plugin metadata
├── apps.py              # Django app configuration
├── signals.py           # Plugin registration
├── payment.py           # Payment provider implementation
├── views.py             # Return and notification handlers
├── urls.py              # URL routing
└── locale/              # Translations

Testing

  1. Configure test mode in the plugin settings
  2. Use GPWebPay test credentials
  3. Test payment flow end-to-end
  4. Verify signature generation and verification

Troubleshooting

Payment Not Processing

  • Verify your merchant number is correct
  • Check that private and public keys are properly uploaded
  • Ensure the gateway URL is correct for your environment (test/production)
  • Check Pretix logs for detailed error messages

Signature Verification Failures

  • Verify you're using the correct public key from GPWebPay
  • Ensure private key password is correct (if required)
  • Check that key files are in the correct format (PEM)

Currency Issues

  • Verify your currency is supported
  • Check that currency codes match GPWebPay's requirements

License

Apache Software License 2.0

Support

For issues related to:

  • Plugin functionality: Check the Pretix documentation and plugin development guide
  • GPWebPay integration: Refer to GPWebPay's integration documentation
  • Payment processing: Contact GPWebPay support

References

Metadata

Release files for pretix-gpwebpay 7.0.18

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pretix-gpwebpay 7.0.18
File Size Uploaded
pretix_gpwebpay-7.0.18.tar.gz 14.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pretix-gpwebpay 7.0.18
File Interpreter ABI Platform
pretix_gpwebpay-7.0.18-py3-none-any.whl Python 3 none any Details

Total release size: 28.6 kB

Release files / pretix_gpwebpay-7.0.18.tar.gz

Download URL pretix_gpwebpay-7.0.18.tar.gz
Size 14.5 kB
Tags Source
SHA-256 checksum
How to use checksums
b7c7b98b07ae3e1d05b1c442af5f65c7d6c2126899f731d0101cb1f1f7d3df6a
BLAKE2b-256 checksum
How to use checksums
2a4efe3e6f849bb5bd9a077b81a2934639ecd8dee816cceb0ed4dad82746705e
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.0.18-py3-none-any.whl

Download URL pretix_gpwebpay-7.0.18-py3-none-any.whl
Size 14.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8f9fa6309a53eaede1f5ba8834c4fdc58b1ee599c6e89f29909787ac44d8c57a
BLAKE2b-256 checksum
How to use checksums
f053e937b831037f7cfdb5a49638d6b5f3cc4fd59c11fd869b8fc0647c2c8890
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

7.1.0

2 release files

This release

7.0.18 This release

2 release files

7.0.17

1 release file

7.0.16

1 release file

7.0.15

1 release file

7.0.14

1 release file

7.0.13

1 release file

7.0.12

1 release file

7.0.11

1 release file

7.0.10

1 release file

7.0.9

1 release file

7.0.8

1 release file

7.0.7

1 release file

7.0.6

1 release file

7.0.5

1 release file

7.0.4

1 release file

7.0.3

1 release file

7.0.2

1 release file

7.0.1

1 release file

6.0.29

2 release files

6.0.26

2 release files

6.0.25

2 release files

6.0.24

2 release files

6.0.23

2 release files

6.0.22

2 release files

6.0.21

2 release files

6.0.19

2 release files

6.0.17

2 release files

6.0.16

2 release files

6.0.14

2 release files

6.0.13

2 release files

6.0.12

2 release files

6.0.10

2 release files

6.0.9

2 release files

6.0.8

2 release files

6.0.7

2 release files

6.0.6

2 release files

6.0.5

2 release files

6.0.4

2 release files

6.0.3

2 release files

6.0.2

2 release files

6.0.1

2 release files

3.0.1

2 release files

2.0.1

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page