İsmail Bahar.
Backend Developer · Istanbul

İsmail Bahar

I build payment, invoicing and integration infrastructure.

Backend developer since 2019. My work sits where money and data have to move between systems without error: payment gateways and card flows, government e-invoicing (UBL-TR), marketplace integrations and the ERP / accounting systems built on top of them.

Open to new roles Istanbul · Remote / Hybrid / On-site Turkish + Bulgarian (EU) dual citizenship
7+years of professional experience
16+projects shipped end to end
8payment / marketplace integrations
2e-invoicing providers
01

What I do

Payments & Card Acquiring

iyzico, PayTR, Moka United. 3-D Secure flows, webhooks, authorisation reversal, card vaulting and recurring billing. Switching provider is a single setting.

Government e-Invoicing

UBL-TR 1.2 XML generation, SOAP submission, taxpayer lookup against the Turkish revenue administration, duplicate-UUID protection and polling-based status tracking.

Marketplaces & Logistics

Trendyol, Hepsiburada, Sahibinden and Teknosa integrations; carrier SOAP integration, barcoded label generation and delivery-status tracking.

ERP, Ledgers & Reporting

Lock-protected ledger architecture, double-charge prevention, serial-number level inventory and segmented reporting dashboards.

02

Experience

Fonksiyonel Holding

2026 — Present · Istanbul

Backend Developer

Kiraladik.com — Consumer Electronics Rental Platform Laravel 12 · PHP 8.3 · MySQL · React 19 · TypeScript

Designed and shipped the backend, admin panel and every third-party integration of a phone, laptop, console and camera rental platform from scratch.

kiraladik.com
142 migrations 76 models 58 controllers 40 service classes 14 scheduled jobs 90+ React screens
Architecture and infrastructure
  • Headless architecture separating a Laravel 12 REST API from a React 19 SPA; token-based authentication with Laravel Sanctum.
  • Payment, e-invoicing, shipping, SMS and identity services all abstracted behind an interface + driver + manager pattern; swapping a provider is a single setting.
  • Integration credentials are loaded from the database into Laravel's config at runtime: switching between test and production without touching .env in production, with secrets stored encrypted and returned masked through the API.
  • Role and permission system on Spatie/Laravel-Permission; authorisation middleware at route level, permission-aware menus and route guards in the UI.
  • A server-side table standard (trait + shared React component) giving every table identical sorting, filtering, search, pagination and Excel export behaviour.
Payments and card acquiring
  • iyzico, PayTR and Moka United drivers built on a common PaymentGateway interface, with a resolver selecting the primary provider chosen in the admin panel.
  • Redirect-based 3-D Secure flow, per-provider callback/webhook endpoints and authorisation state transitions.
  • Raw card forms removed in favour of a hosted/redirect flow, eliminating PCI scope risk.
  • A dedicated refund service for authorisation reversal and partial/full refunds; card vaulting with recurring billing.
e-Invoicing (eLogo private integrator)
  • Integration written from scratch that generates UBL-TR 1.2 XML in-app (zip + MD5 packaging) and submits it to the eLogo PostboxService over SOAP.
  • The service offers no webhooks, so status tracking was solved with polling: submission every 5 minutes, status sync every 15 minutes, inbound invoice fetch hourly.
  • Automatic e-Invoice / e-Archive routing based on a taxpayer lookup against the revenue administration; delivery method, carrier and payment-method codes filled in line with regulation.
  • Idempotent submission through duplicate-UUID (ETTN) protection; invoice creation wrapped fault-tolerantly so it can never break the payment flow.
  • Accounting module: outbound/inbound invoices, orders awaiting invoicing, error detail, manual invoicing with preview, plus a diagnostic command for the production environment.
Logistics integration (Yurtiçi Kargo — KOPS SOAP)
  • SOAP integration for shipment creation, tracking and cancellation with separate test/production WSDL endpoints.
  • A4 shipping label PDF generation with an embedded Code128 barcode (barcode generator + dompdf).
  • Solved the carrier's refusal to reuse a cancelled shipment key by generating attempt-counted keys and retaining every attempt in history.
  • A pre-validation layer for records the carrier rejects (name, address, 10-digit phone normalisation, city/district) and meaningful error messages derived from the service response.
  • A delivery-status poller advancing the order through its shipping stages automatically via cron.
Order lifecycle, subscriptions and billing
  • A flexible order state machine built by moving the parent/child status hierarchy into FK lookup tables; every transition is written to an audit table with the acting user.
  • A subscription module with dynamic periods and a monthly automatic billing cron; double charging permanently prevented by a uniqueness constraint at database level.
  • A dunning flow (SMS reminders) for failed payments, an upcoming-payments calendar for customers and a payment schedule report for staff.
  • An early-return penalty engine (cap amount, gross/net penalty, post-payment verification) and an extension request/approval process.
  • Returns vertical: order-independent return screen, return shipping code generation, authorisation reversal and real refunds through the payment gateway.
Identity verification, KYC and data protection
  • Real national ID verification through the civil registry SOAP service (NVİ / KPS), with a safe fallback that routes failures to manual review.
  • A manual credit assessment workflow (Findeks): work queue, score + note + decision in a single action, decision history and actor logging.
  • Encryption + blind index + masking for national ID numbers, duplicate-record detection and documents served from private storage through signed URLs.
  • Google social login (Socialite), profile-completion onboarding, OTP over SMS/e-mail and a two-step password reset flow.
Procurement, ledgers, buy box and inventory
  • A current-account module in which every movement is written through a single ledger service running under a row lock (lockForUpdate).
  • Automatic IMEI-level device creation from purchase invoices: one transaction, bulk import that reports conflicts instead of throwing, and reversing ledger entries on cancellation.
  • A multi-supplier buy box offer pool (cheapest → fastest delivery → newest) and a virtual stock engine computed as "own stock + buy box − open positions".
  • A matcher that turns inbound e-invoices into purchase records by mapping tax number to account, IMEI in the description to device and product name to variant.
  • IMEI/serial-level device tracking, warehouse-to-user assignment transfers, bulk device intake and Excel export.
Frontend, content, SEO and DevOps
  • React 19 + TypeScript front end with Zustand stores, Axios interceptors, centralised error handling and a React Query server-state pattern; route-level code splitting cut initial load time.
  • A server-searched, infinite-scroll select component, an image component with retry/cache-busting and a skeleton-based loading standard.
  • A legal-text CMS, contract acceptance and e-mailing of the signed contract PDF to the customer; blog, FAQ, corporate enquiry and support ticket modules.
  • Dynamic sitemap.xml, robots.txt, per-page meta management and GA4 measurement wired to cookie consent.
  • Security hardening (security headers, CORS, correct client IP via trusted proxies, rate limiting), error tracking with Sentry and a fix to test isolation.
  • Automated deployment on Plesk with a bare repo + post-receive hook (composer install, migrations, cache); Let's Encrypt SSL and a cron inventory.

fırsattan al — Multi-Vendor Deals Marketplace Laravel 12 · PHP 8.3 · MariaDB · React 19 · TypeScript

A deals marketplace where sellers run their own stores and several sellers can list the same product. Storefront, seller panel and admin panel are three separate React applications on a single Laravel API.

firsattanal.com
3 React applications 10 scheduled jobs 2 auth guards
Marketplace, buy box and commission
  • Orders are split into per-seller packages (Order → OrderSeller → OrderItem); each package has its own shipping, status and payout track.
  • Buy box: offers sharing a barcode are grouped onto one product card, and the winning offer is chosen by a score computed from price, seller rating and delivery time.
  • Losing offers are removed from listings and shown as "other sellers" on the product page, with the canonical URL pointing at the winner.
  • The commission rate is snapshotted at order time — changing it later cannot corrupt historical payouts.
  • Seller payouts are managed in a separate module that releases funds once the hold period expires.
Payments, stock and integrations
  • A shared interface over iyzico, Moka United and PayTR; 3-D Secure redirection and per-provider callback endpoints.
  • Stock is not deducted before payment: no reservation is made when an order opens (abandoned carts were locking popular products), but availability is re-verified immediately before hitting the gateway — so a customer is never charged for something out of stock.
  • An interrupted payment does not lose the order; the customer can return to the same order from their order list and complete payment.
  • Carrier, SMS and e-invoicing integrations with API keys entered from the admin panel, stored encrypted and layered onto the config at runtime.
Reporting, SEO and infrastructure
  • Revenue, rhythm, settlement, customer and fulfilment reports; revenue counts only paid, non-cancelled orders (cancellations were previously inflating it and were separated into their own scope).
  • Empty days inside a date range are zero-filled, so charts cannot hide no-sale days and imply a trend that is not there.
  • Server-generated per-page meta text, Product / FAQPage / BreadcrumbList schemas, dynamic sitemap and robots.
  • Version-keyed caching on Redis, a queue worker under Supervisor, automated deployment on Plesk and Let's Encrypt SSL.

Delta Servis

2022 — 2026 · Istanbul

Backend Developer

Delta Servis ERP Pure PHP · MySQL

An in-house ERP where the entire operational flow — from device and parts procurement through sales to returns — was planned and coded.

Details
  • Built the control and management processes for marketplace sales.
  • Connected to invoicing systems (İşNet – QNB) so marketplace invoices are issued automatically.
  • Reworked the cron and queue systems; long-running jobs moved onto queues, removing operational downtime.
  • Optimised heavy SQL queries; handled relational database design and table planning.
  • Built statistical reporting pages for sales, accounting and employee performance.

Delta Entegra — Marketplace Integration Service Laravel · Redis · REST API

An integration layer managing order, stock and approval flows for five marketplaces from a single service.

HepsiburadaTrendyolSahibindenAlışgidişTeknosa
Details
  • All five marketplace services written from scratch.
  • Cron endpoints pulling new orders, auto-approving them where permitted, checking cancellations and pushing current stock to every marketplace.
  • Authorisation with Sanctum and Spatie/Laravel-Permission, plus a dedicated permission layer for the ERP.
  • Set up Redis and a project-specific Redis database separation.
  • Permission-aware statistics pages broken down by day/month/year, per marketplace or across all sales.
  • Designed a separate database for integration data so that only the necessary records reach the ERP.

Delta Pay — Multi-Gateway Payment Broker Laravel

A broker platform that accepts payment from any originating platform, records it against the user and routes it to the most suitable gateway.

Details
  • Routes each transaction to the most suitable gateway based on the incoming user data and instalment option, once the request passes authentication.
  • After 3-D Secure, the result is returned to a feedback URL with a unique key; platforms can query the current payment status through that key.

Delta Finance — Accounting and Finance Management Laravel

The finance platform tracking all of the company's accounting processes, with bank movements integrated through Finekra.

Details
  • Incoming payments are grouped automatically into categories such as card payments, standing orders, device payments, procurement, debt collection and cheques/notes.
  • Manual and off-record transaction modules plus a current-account module covering cheques/notes, cards, bank accounts and both integrated and non-integrated accounts.
  • Incoming and outgoing payments from every project are checked by cron and posted to the ledger as debit/credit through a unique key; every movement, negative balances included, is traceable line by line with a timestamp.

Delta İota — Central Monitoring and Reporting Laravel

A central monitoring platform integrated with every project while keeping its own authorisation and user system.

Details
  • Card transactions and successful/failed payments made traceable from a single screen.
  • Sales statistics, sellable/sold device counts and reports segmented by brand, model, colour and capacity.

Delta CDN — Internal Media Service Laravel

A company-specific CDN storing photos and videos coming from the ERP, served according to the authorisation system.

Zanga Media

2019 — 2022 · Istanbul

Web Developer / Digital Marketing

SMS Panel Pure PHP · MySQL

A system sending scheduled SMS — under a national telecoms authority licence — to hearing-aid users due for repair, maintenance or device renewal.

Details
  • A complete tracking system covering the current-account module, device records and purchases of registered devices.

Websites and E-Commerce Development OpenCart · WordPress · Pure PHP

Dozens of custom PHP websites built to client requirements — some e-commerce platforms with marketplace connections, others corporate sites still live today.

Digital Advertising Google Ads · Facebook Business

Planning and running campaigns and handling their technical integration with the existing websites.

03

Skills

Backend

PHPLaravelMySQLRedis OOPMVCREST APISOAP API XML / UBLJSONQueues & Cron

Frontend

ReactTypeScriptJavaScriptjQuery Ajax / AxiosTailwind CSSshadcn/ui BootstrapHTML / CSS

Infrastructure & DevOps

LinuxDockerNginx / Apache PleskcPanelGit / GitHubPostman

Domain knowledge

Card Acquiringe-Invoicing (UBL-TR)Marketplace Integration ERPLedger AccountingKYC & GDPR/KVKK Google AdsFacebook Business

Languages

Turkish — nativeEnglish — technical reading & writing

Let's work together

Open to new roles and project-based work. Happy on-site, hybrid or fully remote — and eligible to work across the EU thanks to Bulgarian citizenship.