eram / pardakht
A simple, type-safe PHP library for Iranian payment gateways.
Requires
- php: ^8.1
- ext-curl: *
- ext-json: *
- ext-openssl: *
- ext-soap: *
- eram/abzar: ^0.6@beta
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.40
- phpstan/phpstan: ^2.1
- phpunit/phpunit: ^10.0 || ^11.0
This package is auto-updated.
Last update: 2026-04-19 17:29:56 UTC
README
A unified, type-safe PHP library for Iranian payment gateways.
Documentation: English | فارسی
What is Pardakht?
Pardakht (پرداخت, "payment" in Farsi) is an omni-gateway PHP library that gives you a single, consistent API across all major Iranian payment providers — bank gateways (SOAP) and modern payment services (REST) alike. Write your payment logic once, swap the gateway with one line of config.
Why Pardakht?
- Minimal dependencies — one internal Composer package (
eram/abzar, Persian/Iranian utilities) plus the standard PHP extensionsext-curl,ext-json,ext-openssl,ext-soap. No Guzzle, no framework coupling, no third-party supply-chain risk. - Rial/Toman safety — the
Amountvalue object eliminates the 10x conversion bugs that plague Iranian e-commerce. - One interface, every gateway —
purchase()→verify()→ optionallysettle(). Same flow whether it's Zarinpal or Mellat. - Framework-agnostic — works with Laravel, Symfony, or plain PHP. Plug in your own HTTP client, logger, or event dispatcher.
- Fully tested — unit tests for every gateway, PHPStan static analysis, PER-CS2 code style.
Install
composer require eram/pardakht
Supported Gateways
| Alias | Gateway | Protocol | Settlement | Docs |
|---|---|---|---|---|
zarinpal |
Zarinpal | REST | Auto | Guide |
mellat |
Mellat (Behpardakht) | SOAP | Required | Guide |
saman |
Saman (Sep) | SOAP | Auto | Guide |
parsian |
Parsian (Pec) | SOAP | Required | Guide |
sadad |
Sadad (Bank Melli) | REST | Auto | Guide |
pasargad |
Pasargad | REST | Auto | Guide |
idpay |
IDPay | REST | Auto | Guide |
zibal |
Zibal | REST | Auto | Guide |
payir |
Pay.ir | REST | Auto | Guide |
nextpay |
NextPay | REST | Auto | Guide |
vandar |
Vandar | REST | Auto | Guide |
sizpay |
Sizpay | REST | Auto | Guide |
Quick Start
The flow is always: create → purchase → redirect → verify (and optionally settle for bank gateways).
See the Getting Started guide for a complete walkthrough with code examples.
Documentation
Full documentation with API reference, cookbook, gateway guides, and more:
About Eram
Eram is a small engineering team building open-source developer tools for the Persian ecosystem. Our projects — pardakht, daynum, persian-kit — solve the everyday problems that Iranian developers run into: payment integration, calendar conversion, and string/number localization. Everything we ship is MIT-licensed, zero-dependency where possible, and built to be boring infrastructure you never have to think about.