Payments
Frequently asked questions about payment tracking, statuses, payment links, reminders, refunds, reporting, and export.
Overview
Payments is the module where you track and collect the fees for your client sessions. Open it from Management → Payments in the top menu. You can use Mindora's payment management at three levels, depending on your needs:
- Simple Tracking: no integration required. Regardless of how you received payment (cash, transfer, EFT), you manually mark the session as paid or unpaid.
- Payment Links: you send the client a payment link via WhatsApp or email. You connect your own payment provider account (iyzico, with PayTR coming soon, for Turkey; Stripe for the US) in the Business and Platform plans; payments go directly to you and Mindora takes no commission.
- Full Management: on top of payment links, a layer for automatic receipt (e-SMM) creation via Paraşüt is added.
A fourth level, Full Automation, is coming soon. Whatever level you use, all sessions are gathered in a single Payments table.
The Payments page consists of three main areas:
- Top section: search, filters, view mode options, and the Export button.
- Left panel: financial summary cards (this month's revenue, overdue payments, session-based income).
- Main table: the section where sessions are listed with their payment statuses.
Above the table there are five status tabs, each with a count badge: All, Paid, Unpaid, Link Sent, Refunded. There are two view modes: View Sessions (default) and View History. The left panel cards and the main table filters are connected; for example, clicking an indebted client filters the table to that client automatically.
Online Payment Model
Yes. Online collection via payment links is offered in the Business and Platform subscription plans and works by connecting your own payment provider account. Therapists in Turkey connect their own iyzico (PayTR coming soon) account, while therapists in the US connect their own Stripe account. Payments go straight to your account; Mindora never touches your money and takes no commission.
Connecting is a one-time step that requires no technical knowledge. Mindora's role is to create payment links from within the app, track their status (paid, pending, etc.), and initiate full or partial refunds directly from the app when needed. You always manage your account settings and statements from the provider's own panel.
Because your sessions, clients, and the payments you collect in person also live in Mindora, you see all your income and total revenue in one place, whether collected by link or in person.
The above covers payment collection. Receipts (e-SMM) and accounting via Paraşüt are a separate topic; you'll find the steps for that in the receipts and accounting section.
No. Mindora takes no commission on online collection and never touches your money. Your client pays and the full amount goes straight to your own payment provider account; there is no middleman.
The only deduction is your provider's standard transaction fee:
- iyzico: roughly 4.29% + 0.25 TL per transaction (can be lowered by volume).
- PayTR: typically between 1.99% and 3.40%, with no extra flat fee.
- Stripe: the provider's own regional pricing.
This fee goes directly to the provider; Mindora adds nothing on top. You'll find rate details and how to negotiate them in the Opening a Payment Account section.
Because this model keeps the money and the control with you. Many booking platforms route payments through their own account first, charge an extra per-transaction commission (often 0.5-1%) on top, and can delay your payout. Mindora instead connects your own iyzico, PayTR, or Stripe account.
What this choice gives you:
- No middleman: payments go straight to your account; Mindora never touches the money.
- No extra commission: you only pay your provider's standard fee.
- No lock-in: your account, client data, and payment history are yours. Even if you leave Mindora, nothing changes on the payment side; no lock, no data loss.
In short, Mindora is the layer that makes managing payments easier; it is not the owner of your money.
The provider depends on the country where you practice:
- Turkey: iyzico or PayTR. Both support local cards and installments; the main differences are approval time, settlement (valor) period, and commission rates.
- US and global: Stripe (40+ countries, 135+ currencies).
Important: Mindora allows only one payment integration active at a time. If you want to connect a different provider, a confirmation window appears during the new setup and the existing integration is deactivated. You can compare iyzico and PayTR on approval time, payout, and commission in the Opening a Payment Account section.
No. Stripe does not operate in Turkey and cannot be used by therapists practicing in Turkey; all collection goes through iyzico or PayTR.
Stripe is for therapists in the US and other countries Stripe supports.
Yes. The API keys you enter into Mindora (for example your iyzico API/Secret Key or PayTR store credentials) are stored encrypted with AES-256-GCM (256-bit encryption) and are used only to create payment links and initiate refunds on your behalf; when you disconnect, they are permanently deleted and Mindora doesn't keep them.
- Money flow: collection happens directly in your provider account; Mindora does not hold or transfer your money.
- Account management: account settings, statements, and withdrawals always live in the provider's own panel.
- Your control: you can remove the integration at any time from the Integrations page.
So Mindora is only the secure bridge that triggers the transaction; your provider owns and is responsible for the payment infrastructure.
Opening a Payment Account
In Turkey, providing paid therapy or counseling already requires a tax registration; to earn your income legally and issue receipts, you need at least a sole proprietorship (tax certificate). So a business registration is a condition for practicing professionally, not just for receiving payments.
On top of that, Mindora's payment integration works through the API access of the provider's merchant (business) account (in short, permission for Mindora to communicate securely with your payment provider on your behalf). The account you connect is this business account; this requirement is a standard of all Turkish payment providers, not just iyzico or PayTR.
If you're just starting your practice, registering a sole proprietorship with your local tax office is enough; the process is fairly simple, and it both meets this legal requirement and enables full integration.
The required documents depend on your business type.
- Sole proprietorship: tax certificate, ID document, a KEP address, and a Turkish bank account with IBAN.
- Limited/joint-stock company: additionally a signature circular, partners' IDs, and a MERSİS number with the trade registry gazette.
Important: the bank account holder name must exactly match your business registration. iyzico usually reviews applications within 24 hours on business days and may request extra documents in some cases. See the guide below for a step-by-step walkthrough.
Again, it depends on your business type.
- Sole proprietorship: tax certificate, ID document, a signature declaration, and a Turkish bank account with IBAN.
- Company: trade registry gazette, tax certificate, signature circular, the authorized person's ID, and IBAN.
PayTR usually activates your account within 2 hours after the document review, then the partner bank's approval follows. Clearly stating that your service is therapy/counseling in the application avoids delays caused by business-model mismatch.
KEP (Registered Electronic Mail) is a legally valid type of email in which the sender and recipient are definitively identified. It's requested as part of your business contact details in the iyzico application.
You can obtain a KEP address from authorized providers such as PTT, Turkcell, or TNB. It's also used as an official notification address in corporate correspondence, so it's useful beyond the payment account.
Approval time depends on the provider:
- iyzico: usually reviews and approves applications within 24 hours on business days.
- PayTR: the document review takes about 2 hours during business hours; but then the partner bank's approval follows, which takes 7-15 business days.
With PayTR, the longest wait is usually the bank approval, and it can't be sped up. The good news: once PayTR gives you your API credentials, you can start setting up the Mindora integration even while waiting for full bank approval.
Your first payout depends on the waiting period the provider applies to new accounts:
- iyzico: applies a standard 3-week blocking period to all new accounts; so week 1 transactions are paid in week 4. Payouts are deposited to your bank account in a batch every Wednesday.
- PayTR: assigns each merchant a valor (settlement) period. The fastest is T+1 (next business day), but new accounts may initially take 7-15 days.
With both providers, the period shortens as your transaction history builds and your account gains trust. Plan your finances for the first month with this waiting period in mind.
These rates are the provider's own fee; Mindora adds nothing.
- iyzico: a standard 4.29% + 0.25 TL per transaction. At high volume you can negotiate directly with iyzico down to as low as 2.99%.
- PayTR: set individually based on monthly volume, annual turnover, and business model; typically 1.99-3.40% for single payments, with no extra flat fee.
Both providers occasionally offer campaigns (for example a discounted rate for the first months with iyzico, or 0% up to a certain turnover with PayTR). Ask about current campaigns when you register; you can renegotiate rates as your account matures.
There are two most common reasons:
- Name mismatch: if the bank account holder name isn't exactly the same as your tax certificate or business registration, the application is rejected. Use an account under the same name.
- Missing documents or business-model mismatch: if a document is missing or illegible, or the service description isn't clear, approval is delayed. Complete the missing document and clearly state your service as therapy/counseling.
Once you've made the corrections, you can resubmit the application. When you get stuck, contacting the provider's support team directly is the fastest path.
Connecting Your Payment Integration
Connecting is a one-time step that requires no technical knowledge. First get your iyzico keys: the API Key and Secret Key are found at iyzico Merchant Panel → Settings → Company Settings.
- In Mindora, open Settings → Integrations and select the iyzico card.
- Copy the API Key and Secret Key and paste them into the matching fields.
- Use Test Connection to verify the keys work, then save.
Once connected, the iyzico card shows Active with a green indicator. Use Live mode keys to receive real payments; test keys starting with sandbox- don't process real charges.
PayTR requires three credentials. You'll find them in the PayTR Merchant Panel, usually under the API Information or Store Information section:
- Merchant ID (Mağaza ID): a numeric value made up of digits only.
- Merchant Key (Mağaza Anahtarı).
- Merchant Salt (Mağaza Gizli Anahtar).
In Mindora, open the PayTR card from Settings → Integrations, paste the three values into the matching fields, and save. Make sure the Merchant ID contains digits only; the most common error is mis-copied credentials.
Stripe requires two keys; you'll find both at Stripe Dashboard → Developers → API keys:
- Secret Key: starts with sk_live_ (or sk_test_ for testing).
- Publishable Key: starts with pk_live_ (or pk_test_).
In Mindora, open the Stripe card from Settings → Integrations, paste the keys, and save. When you save, Mindora configures webhooks automatically; you don't need to set them up manually. Use live keys for real payments.
Each provider offers two sets of keys: a test/sandbox mode with no real money movement, and a live mode where you receive real payments from clients.
- iyzico: sandbox keys start with sandbox-.
- Stripe: test keys start with sk_test_ / pk_test_, live keys with sk_live_ / pk_live_.
Warning: never use test keys on real client sessions; they don't process real charges. Test mode is only for trying out the flow. Always switch to live mode keys for real collection.
When you disconnect a payment integration:
- Open links: before deleting your details, the system automatically cancels pending payment links on the provider side; a confirmation window shows how many links will be canceled.
- Credentials: your API keys are permanently deleted for security; Mindora doesn't keep them after disconnection.
- Refunds: the in-app refund button is disabled. You can issue refunds from the provider's own panel or reconnect the integration.
- Past records: completed payments and your historical data stay in Mindora and aren't deleted.
Note: Mindora allows only one active payment integration at a time; when you switch to another provider, the existing one is automatically deactivated. The account itself is always yours, and nothing changes on the provider's side.
Summary Cards and Table
There are three summary cards in the left panel:
- This Month's Revenue: shows total revenue collected by payment date. It includes the monthly change percentage, an editable monthly target (with a progress bar), and trend analysis.
- Overdue Payments: shows the total amount, session count, and avatars of the most indebted clients. Clicking an avatar filters the table to that client.
- Session-Based Income: shows total sessions, paid and unpaid amounts by session date with a progress bar, and the last 6 months as a stacked chart.
Key distinction: This Month's Revenue is based on collection (the date payment was received); Session-Based Income is based on the date the session took place. That's why the two cards may show different figures.
When you have many sessions, filters help you quickly find the payment you're looking for. The most useful ones are:
- Client or session: narrow down to a specific client or by date.
- Date: by session or payment date, with handy shortcuts like Overdue, This Week, and This Month.
- Payment type and session status: for example, show only link payments, or include cancelled sessions in the list.
Click a column header to sort the table by client, date, status, or amount. To act on several sessions at once, tick the boxes on the left of the rows; a bar appears at the top so you can send a payment link or a reminder to all of them together (a bulk link works only for sessions of the same client). To work on a single session, use the three-dot menu at the end of its row.
The table shows these columns for each session: Client, Date, Status, Payment, Amount, Last Action, and Actions. The Status column summarizes the session itself; the Payment column shows its collection state.
In the Status column, several badges can appear together for one session:
- Type: Online or In Person.
- Session status: Scheduled, Completed, Cancelled, or No Show.
- Confirmation: Confirmed (the client said they will attend) or Awaiting Confirmation.
- Series: shown for sessions that are part of a recurring series.
The badge in the Payment column shows the payment status (such as Unpaid, Link Sent, Paid via Link, Paid Manually, Refunded). You'll find what each of these means in detail in the next section.
From a row's three-dot menu, click Manage Payment to open the payment detail modal. This modal consists of these sections:
- Client and Session Info: whose session this payment belongs to.
- Amount and Status: the session fee and current payment status.
- Quick Actions: Mark as Paid, Revert to Unpaid, and Refund.
- Payment Link: create and send a link for unpaid sessions.
- Receipt Management: upload a manual receipt or issue an e-SMM via Paraşüt (Turkey only).
- Payment History: a chronological record of all the session's financial events.
This modal lets you manage a session's payment lifecycle from a single place.
Payment Statuses
A session can have five payment statuses:
- Unpaid: the initial status. No payment has been received yet.
- Link Sent: a payment link was sent to the client but payment is not yet complete.
- Paid via Link: the client paid through the payment link. This status is locked; it can only be refunded.
- Paid Manually: the status when you manually mark cash, EFT, or a transfer. It can be reverted.
- Free: appears when the session fee is zero. It is locked.
There are also three refund-related statuses: Refund Pending, Refunded (locked), and Partially Refunded. Overdue is not a status but a label shown next to sessions whose date has passed and that remain unpaid.
You need to manually mark payments received in person (cash, EFT, transfer) in the system; Mindora cannot know on its own how payment was received.
- Mark as paid: open the session's Manage Payment modal and click Mark as Paid. The status becomes Paid Manually.
- Revert: from the same modal, use Revert to Unpaid to set the status back to Unpaid.
Note: the Paid via Link, Refunded, and Free statuses are locked for accounting integrity and cannot be changed manually. You can only change a link-paid session by refunding it. If you want to mark a free session as paid, you first need to set the session fee to a value above zero; the session then returns to Unpaid and you can mark it as paid.
You can only change the session fee in certain statuses:
- Unpaid: the fee can be changed freely.
- Link Sent: it can be changed, but the fee change automatically invalidates the active payment link (you are asked to confirm first).
- Free: if you set the fee to a value above zero, the status reverts to Unpaid.
The fee is locked and cannot be changed directly in these statuses: Paid via Link, Paid Manually, Refund Pending, Refunded, and Partially Refunded. Of these, you can revert Paid Manually back to Unpaid anytime and then change the fee freely; the other locked statuses cannot be reverted this way, for accounting integrity. After a refund is processed, the fee is permanently locked to the kept amount. Locked statuses (such as Refunded and Free) stay fixed to preserve the consistency of accounting records.
Payment Links and Communication
Payment links are created through your own connected Stripe, iyzico, or PayTR account; this feature is available in the Business and Platform plans. In a session's Manage Payment modal, click Create Link in the Payment Link section, then send it via WhatsApp or email with Send Link.
- Expiration: 24 hours by default; configurable in the payment integration settings.
- Channels: WhatsApp, Email, or Copy Link.
- Template and language: Standard or Friendly template; TR or EN per client.
The link lifecycle advances automatically: Link Created → Link Sent → Client Pays → Completed. A link is automatically invalidated when: the fee changes, a new link is created, or a session is cancelled or marked no-show together with a fee change. You can also cancel a link manually anytime with Invalidate Link.
Yes. A bulk payment link gathers multiple sessions of the same client into a single link; the client pays the entire amount in one transaction. It's ideal for monthly or periodic collections. You can create it in two ways:
- Selecting from the table: mark sessions with checkboxes and click Create and Send Link from the bulk action bar. All selected sessions must belong to the same client.
- Via the wizard: from the Create New Payment Link button in the top right, select a client and mark their sessions (grouped as Overdue, This Week, Upcoming).
Important: if the fee of any session in the bulk link changes (through direct editing, cancellation, or no-show), the entire link is automatically cancelled, and no automatic notification is sent to the client; you need to send the new link manually. When payment is completed, all sessions become paid together and each is recorded in history separately with a bulk tag.
From the Payments page you can send your clients four types of messages:
- Payment Link: a link to make the payment.
- Payment Reminder: a reminder for unpaid sessions.
- Payment Confirmation: thanks and confirmation after payment is received.
- Receipt: delivering the issued receipt.
Messages are sent via WhatsApp (Web) or Email (Gmail), in a Standard or Gentle tone. In the send flow the relevant app opens first, then a Yes, I Sent / No, I Didn't confirmation dialog appears; your answer is logged to the payment history. Since some providers confirm payment automatically, this confirmation is not always required.
Yes. The Payment Reminder is one of the smart reminder rules and runs during the daily scan. The system scans the sessions of active clients whose status is Unpaid or Link Sent and that exceed the day threshold (default: 7 days) since the session date.
- Even if a client has multiple unpaid sessions, a single reminder card is created; the card shows the total count (for example, "3 unpaid sessions").
- The reminder appears as an orange card in the Follow-up tab on the home page and, via the Send Reminder action, navigates you to the Payments page.
- Cancelled, no-show, and archived-client sessions are excluded.
Completing a reminder does not mean payment was received; it just means you were notified. You can edit the day threshold and reminder text, or disable the rule entirely, from the Tools → Smart Reminders page.
No. No message, including payment links, reminders, confirmations, and receipts, is sent on your behalf in the background. Mindora only opens WhatsApp or email with the recipient details and message text prefilled; you decide to send, and after sending you respond with Yes, I Sent / No, I Didn't.
Even smart reminders only show you a card; they never message the client automatically. This is by design: communication with the client stays in your voice and under your control, with no messages going out without your knowledge.
In the future, these steps may become configurable through automation rules; for example, you could choose to have the system send the message automatically, or only prepare it and leave the sending to you.
Collection and Refunds
Sessions whose date has passed and whose status is Unpaid or Link Sent are considered overdue. This is not a status but a label that highlights urgency; in the table it is shown with an orange exclamation icon next to the payment status badge.
There are three ways to find overdue payments:
- Summary card: click an indebted client avatar in the Overdue Payments card in the left panel.
- Filter: select the Overdue chip in the Date section of the filter panel (available in the All, Unpaid, and Link Sent tabs).
- Sort: sort by the Date column in ascending order to bring the oldest debts to the front.
Once found, you can send a reminder, create a payment link, use a bulk link for multiple sessions of the same client, or click Mark as Paid if payment was received in person.
Only payments received via payment link can be refunded through the system; the refund is processed by Stripe, iyzico, or PayTR. There are two types of refund:
- Full Refund: returns the entire amount; the session status becomes Refunded and the session fee is reset to zero.
- Partial Refund: returns part of the payment; the status becomes Partially Refunded and the session fee is updated to the kept amount. You can make multiple partial refunds until the total reaches the original payment.
To refund, open the session's Manage Payment modal, click Refund, choose the type and reason (session cancellation, no-show, client request, etc.), and confirm. Refunds typically appear in the client's account within 1-14 business days, depending on the bank and card type. After a refund is processed, the fee cannot be changed. If the integration has been disconnected, the refund button is disabled; in that case you can refund from the provider's dashboard or reconnect the integration.
For payments received in person, you process the refund outside the app (in cash or by transfer); to keep your records accurate, you can adjust the payment manually. Use Revert to Unpaid in the session's Manage Payment modal to set it back to unpaid; for a full refund set the fee to zero, and for a partial refund update the fee to the remaining amount and Mark as Paid again.
Yes. Payment History records each session's financial lifecycle chronologically; you can also use it as evidence when needed. Events fall into two types:
- User actions: status change, fee update, link creation/sending/invalidation, reminder and confirmation sending, receipt operations.
- System actions: payment completed, payment failed, link expired, refund initiated/completed/failed.
You reach the history from the session detail page or from the Manage Payment modal. Each event row shows an icon, description, timestamp, and the person who performed the action. For bulk links, each session is recorded separately with its own amount and carries a bulk tag.
Reporting and Next Steps
Yes. You can export your payment records in CSV or Excel format. This is useful for sharing data with your accountant, creating custom reports, keeping offline backups, or analyzing trends.
- Click the Export button in the top right and choose a format; the file downloads automatically.
- The button is only available in Sessions view mode.
- If you selected rows, only the selected sessions are exported; if there is no selection, all sessions matching the current filters are exported. The button shows how many records will be exported in its subtitle.
The exported file includes these columns: Client name, Service/Session type, Session date, Payment amount, Payment status, and Payment channel (Online/In Person). So you can apply a filter first (for example, by a month or a client) and then export to get exactly the record set you want.
This page focuses on payment tracking. Operations related to receipts (e-SMM), Paraşüt integration, and accounting are handled in a separate area.
In short: for payments received via link, a receipt can be created automatically; if you have the Paraşüt integration for Turkey, an e-SMM is issued with one click, otherwise you can manually upload a receipt you obtained from the GİB portal or your accountant. Receipt management options are only visible to users whose service country is set to Turkey in their profile settings.
You'll find all the details on receipts and accounting in a separate question-and-answer section. For now, you can check the guide below for a step-by-step walkthrough.
Can't find what you're looking for?
Our support team is happy to help.