Hippotenus
Platform for education institutions
Subscriptions and prepaid plans run on iyzico; card details stay in iyzico’s payment form, and the server re-reads and verifies the result with iyzico.
See the productAll of them are live; store pages and details are on the Products page.
Platform for education institutions
Subscriptions and prepaid plans run on iyzico; card details stay in iyzico’s payment form, and the server re-reads and verifies the result with iyzico.
See the productiyzico is a payment institution used by businesses that take online payments in Türkiye. It lets you charge Turkish cards, offer instalments and manage recurring payments (subscriptions) through one API, without signing a separate virtual POS contract with each bank. Card details are entered into iyzico’s payment form, so the card number never touches your server.
Hippotenus has two payment models, both on iyzico: subscriptions and prepaid plans. For subscriptions we use iyzico’s subscription API; products and pricing plans are defined in iyzico, iyzico charges the renewals, and cancellation, plan upgrades and card updates go through the same API. For prepaid plans we take a single payment or instalments through the payment form, and the number of instalments offered never exceeds the plan’s length.
| Subscription | Prepaid plan | |
|---|---|---|
| On iyzico’s side | Subscription API and subscription payment form | Payment form (Checkout Form) |
| Charging | iyzico charges the stored card on renewal | Single payment or instalments |
| Afterwards | Cancellation, plan upgrade, card update | Refund through iyzico within the right of withdrawal |
| What reaches the server | Renewal, failed charge and cancellation notifications | The payment result, re-read from iyzico with a token |
The real work in online payments is everything outside the path where all goes well. This is how Hippotenus handles it:
The Hippotenus API. Payment code lives in a separate billing module, and iyzico sits behind a payment provider interface.
iyzico’s Node.js library. Payment form, subscription, instalment info and refund calls go through it.
Orders, transactions, subscription events and iyzico notifications are kept in separate tables, so a payment’s history can be traced later.
With NestJS Schedule: checking unfinished payments, plan renewal reminders and applying plan changes on time.
iyzico’s payment form opens embedded inside the web dashboard, which is built with React.
The admin panel has a test screen that simulates iyzico notifications and moves time forward to try renewals without waiting.
We talk about what you sell (one-off, instalments, subscription), who you sell to and where your iyzico account stands.
We write down the payment model, the refund and cancellation rules, and your receipt and accounting needs.
Every week you get a build to try in iyzico’s test environment (sandbox); with test cards you see successful, declined and abandoned payments for yourself.
A senior QA tests the payment scenarios before release, and only then do we switch to live keys. In Hippotenus, if a test key is used with the live address (or the other way round), the server logs it as an error at startup.
We fix the bugs that surface in this period free of charge; after that you can continue with monthly maintenance.
Timelines and budget ranges are on our web application development and pricing pages. The iyzico account and contract belong to your business, and you agree the commission and payout terms with iyzico.
No. The card number is entered into iyzico’s payment form; the Hippotenus server only sees the result of the payment and the references iyzico returns. The burden of storing and protecting card data stays with iyzico.
iyzico sends renewal, failed-charge and cancellation notifications to the server, and the system updates the subscription’s status accordingly. The user can change their card through iyzico’s card update form.
For digital content and subscriptions sold inside an app, Apple and Google require their own billing; there we work with RevenueCat. If you sell physical goods or a service delivered outside the app, iyzico can be used on mobile as well.
We connect the payment code to a payment provider interface rather than to iyzico directly. Adding another provider means writing a new implementation of that interface, without touching the order, receipt and subscription logic. The provider in our live projects is iyzico.
In a free 30-minute scoping call we work out your payment model, refund rules and subscription needs together.