Pretix payment provider plugin for iyzico integration.
This plugin integrates the iyzico payment gateway with Pretix. It was developed by Fidelio Software to enable secure online payments for events in Turkey, where global providers like Stripe and PayPal are not available.
We originally built this integration for our own project. Given the robust and flexible nature of Pretix, we wanted to contribute this plugin back to the community. Our goal is to assist other developers and event organizers in the region who face similar payment processing limitations.
- Pay with iyzico full integration
- Support for Sandbox (test) and Production environments
- Automatic payment confirmation
- Webhook support for reliable status updates
- Installment payment options
- Secure signature verification
- Comprehensive error handling
- Python 3.9+
- Pretix 2.7.0+
- Django 3.2+
- An active iyzico account
-
Activate your Pretix virtual environment:
source /path/to/pretix/venv/bin/activate -
Install the plugin:
pip install pretix-iyzico
Note: If you are installing from source:
git clone https://github.com/EmircanKartal/pretix-iyzico.git cd pretix-iyzico pip install .
-
Restart Pretix:
systemctl restart pretix-web pretix-worker
To use this plugin, you must be a registered iyzico merchant.
- Log in to your iyzico Merchant Panel (or Sandbox Panel for testing).
- Navigate to Settings > Developer Settings.
- Here you will find your API Key and Secret Key. You will need these for the next step.
- Go to your event settings in the Pretix backend.
- Navigate to Settings > Plugins.
- Find iyzico in the list and click Enable.
- Navigate to Settings > Payment providers.
- Select iyzico.
- Enter the credentials you obtained from the iyzico panel:
- API Key
- Secret Key
- Sandbox Mode:
- Check the Use Sandbox box if you are using test credentials from the iyzico Sandbox environment.
- Uncheck it for live production payments.
- Click Save.
Webhooks ensure your orders are marked as paid even if the user closes their browser before returning to your site.
- In your iyzico merchant panel, contact iyzico support or check your settings to set the return and webhook URLs.
- Your endpoint URLs are:
- Return URL:
https://your-domain.com/iyzico/return/ - Webhook URL:
https://your-domain.com/iyzico/webhook/
- Return URL:
sequenceDiagram
participant C as Customer
participant P as Pretix
participant I as iyzico
participant W as Webhook
C->>P: Start Payment
P->>I: Pay with iyzico initialize
I->>C: Redirect to Payment Page
C->>I: Enter Card Details
I->>W: Webhook Notification
W->>I: Check Payment Status
I->>W: Status Response
W->>P: Confirm Payment
P->>C: Success Page
To set up a local development environment:
git clone https://github.com/EmircanKartal/pretix-iyzico.git
cd pretix-iyzico
pip install -e ".[dev]"This project is licensed under the Apache License 2.0. See the LICENSE file for details.
Fidelio Software
Developers: