Skip to main content

Pretix payment provider plugin for iyzico integration

Project description

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:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pretix_iyzico-1.0.0.tar.gz (18.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pretix_iyzico-1.0.0-py3-none-any.whl (17.7 kB view details)

Uploaded Python 3

File details

Details for the file pretix_iyzico-1.0.0.tar.gz.

File metadata

  • Download URL: pretix_iyzico-1.0.0.tar.gz
  • Upload date:
  • Size: 18.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for pretix_iyzico-1.0.0.tar.gz
Algorithm Hash digest
SHA256 2e9f5fa419615a875e450c0b8263ad100e9d94c8d6aa086dbe5eeb0fb128c9a3
MD5 26f87b9eaacfe28c4df6271e393727e8
BLAKE2b-256 5883b277f9043d4f4b8fb0aa62f7bd978ed16c692317f6be11a0030e471fb337

See more details on using hashes here.

File details

Details for the file pretix_iyzico-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: pretix_iyzico-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 17.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for pretix_iyzico-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 97fd88a163babdada3956ab04f05b6b23fe9febc2a3b0c5b1d5a2b6873f0e0fb
MD5 8c2610dc87d552f0dc1309559d48df93
BLAKE2b-256 432083741d9dbf91218657ee45d2d192fd5eb9af30dbe213f3f83ef6989355e7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page