Skip to main content

pretix-iyzico

Pretix payment provider plugin for iyzico integration.

License Python Pretix

About

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.

Features

  • 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

Requirements

  • Python 3.9+
  • Pretix 2.7.0+
  • Django 3.2+
  • An active iyzico account

Installation

  1. Activate your Pretix virtual environment:

    source /path/to/pretix/venv/bin/activate
    
  2. 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 .
    
  3. Restart Pretix:

    systemctl restart pretix-web pretix-worker
    

Configuration

1. Obtain iyzico Credentials

To use this plugin, you must be a registered iyzico merchant.

  1. Log in to your iyzico Merchant Panel (or Sandbox Panel for testing).
  2. Navigate to Settings > Developer Settings.
  3. Here you will find your API Key and Secret Key. You will need these for the next step.

2. Enable the Plugin in Pretix

  1. Go to your event settings in the Pretix backend.
  2. Navigate to Settings > Plugins.
  3. Find iyzico in the list and click Enable.

3. Configure Payment Provider

  1. Navigate to Settings > Payment providers.
  2. Select iyzico.
  3. Enter the credentials you obtained from the iyzico panel:
    • API Key
    • Secret Key
  4. Sandbox Mode:
    • Check the Use Sandbox box if you are using test credentials from the iyzico Sandbox environment.
    • Uncheck it for live production payments.
  5. Click Save.

4. Webhook Setup (Optional but Recommended)

Webhooks ensure your orders are marked as paid even if the user closes their browser before returning to your site.

  1. In your iyzico merchant panel, contact iyzico support or check your settings to set the return and webhook URLs.
  2. Your endpoint URLs are:
    • Return URL: https://your-domain.com/iyzico/return/
    • Webhook URL: https://your-domain.com/iyzico/webhook/

Payment Flow

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

Development

To set up a local development environment:

git clone https://github.com/EmircanKartal/pretix-iyzico.git
cd pretix-iyzico
pip install -e ".[dev]"

License

This project is licensed under the Apache License 2.0. See the LICENSE file for details.

Credits

Fidelio Software

Developers:

Release files for pretix-iyzico 1.0.0

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-iyzico 1.0.0
File Size Uploaded
pretix_iyzico-1.0.0.tar.gz 18.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pretix-iyzico 1.0.0
File Interpreter ABI Platform
pretix_iyzico-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 36.5 kB

Release files / pretix_iyzico-1.0.0.tar.gz

Download URL pretix_iyzico-1.0.0.tar.gz
Size 18.8 kB
Tags Source
SHA-256 checksum
How to use checksums
2e9f5fa419615a875e450c0b8263ad100e9d94c8d6aa086dbe5eeb0fb128c9a3
BLAKE2b-256 checksum
How to use checksums
5883b277f9043d4f4b8fb0aa62f7bd978ed16c692317f6be11a0030e471fb337
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.6

Release files / pretix_iyzico-1.0.0-py3-none-any.whl

Download URL pretix_iyzico-1.0.0-py3-none-any.whl
Size 17.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
97fd88a163babdada3956ab04f05b6b23fe9febc2a3b0c5b1d5a2b6873f0e0fb
BLAKE2b-256 checksum
How to use checksums
432083741d9dbf91218657ee45d2d192fd5eb9af30dbe213f3f83ef6989355e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.6

Release history Release notifications | RSS feed

This release

1.0.0 This release

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