GPWebPay payment provider for Pretix
Project description
# 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
Install the plugin in your Pretix environment:
`bash pip install -e /path/to/pretix-gpwebpay `
Add the plugin to your Pretix configuration (pretix.cfg):
`ini [pretix] plugins = pretix_gpwebpay `
Restart your Pretix instance.
## Configuration
Go to your event’s payment settings in the Pretix control panel.
Enable the GPWebPay payment provider.
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
Payment Initiation: When a customer selects GPWebPay, they are redirected to the GPWebPay gateway with a signed payment request.
Payment Processing: The customer completes payment on GPWebPay’s secure gateway.
Return Handling: After payment, the customer is redirected back to your Pretix instance, where the payment status is verified using GPWebPay’s signature.
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
Configure test mode in the plugin settings
Use GPWebPay test credentials
Test payment flow end-to-end
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
[Pretix Plugin Development Guide](https://docs.pretix.eu/dev/development/api/index.html)
[GPWebPay HTTP API Documentation](GP_webpay_HTTP_API_v1.19_EN.pdf)
[GPWebPay Private Key Management](GP_webpay_Private_key_management_EN.pdf)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pretix_gpwebpay-7.0.13-py3-none-any.whl.
File metadata
- Download URL: pretix_gpwebpay-7.0.13-py3-none-any.whl
- Upload date:
- Size: 14.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d4aa82fb8bda2d00ea2d7d91cc588cc23ee73517bfda3509772f5fd4b563a973
|
|
| MD5 |
0f4aa669d1a919a9c8f1dfee994f0e2c
|
|
| BLAKE2b-256 |
1da0f7f20fd2993bbc5643f5578ffa9bacd8095261730a29bbe80b62937b7d7c
|