mindora
All GuidesPayments

Refund Operations

Learn how to process refunds for payments received via payment links, including full and partial refunds.

8 min
Intermediate

What is a Refund?

A refund is the process of returning money to a client who has already paid via a payment link. When you initiate a refund, the payment provider (Stripe, iyzico, or PayTR) processes the return and the amount is credited back to the client's original payment method.

Processing Time
Refunds typically take 1-14 business days to appear in the client's account, depending on their bank and card type.

When Can You Refund?

You can only refund sessions that have been paid via a payment link. Here's the breakdown:

Paid via Link

Can be refunded (full or partial).

Paid Manually

Cannot be refunded through the system (handle outside the app).

Link Sent

No payment received yet - nothing to refund.

Unpaid

No payment received - nothing to refund.

Free

No charge - nothing to refund.

Important
Refunds can only be processed for payments made through Stripe, iyzico, or PayTR. If you recorded a payment manually, you'll need to handle the refund outside of Mindora.

Types of Refunds

Mindora supports two types of refunds:

Full Refund

  • Returns the entire payment amount to the client.
  • Session status changes to "Refunded".
  • Use when cancelling a session completely.

Partial Refund

  • Returns only a portion of the payment.
  • Session status changes to "Partially Refunded".
  • Remaining amount stays as paid.
  • Session fee is updated to the kept amount.
  • Use for no-show penalties or session adjustments.
Tip
You can make multiple partial refunds on the same session until the total refunded amount equals the original payment.

How Refunds Affect Session Fee

When a refund is processed, the session fee is automatically updated to reflect the kept amount:

Full refund:Session fee becomes ₺0.
Partial refund:Session fee = Original fee - Refunded amount
Fee Change Example

If a session fee is ₺1,500 and you process a ₺500 partial refund, the session fee will automatically update to ₺1,000. This change is recorded in payment history.

For more details about payment events, see the Payment History guide.

Fee Changes Not Allowed After Refund
Once a refund has been processed, you cannot change the session fee. The fee is permanently locked to the kept amount (original fee minus refunded amount).

How to Process a Refund

Follow these steps to refund a payment:

1

Go to Payments

Navigate to the Payments module from Management > Payments in the header menu.

2

Find the Session

Locate the session you want to refund. It must show "Paid via Link" status.

3

Open Manage Payment

Click on the session row to open the Manage Payment window.

4

Click Refund

In the Manage Payment window, click the Refund button.

5

Choose Refund Type

Select full refund or enter a partial amount.

6

Select Reason

Choose a reason for the refund (session cancelled, no-show, client request, etc.).

7

Confirm

Review the details and confirm the refund.

Edge Case: Integration Disconnected

If the payment integration used to process the payment (e.g. Stripe, PayTR) has been disconnected, the refund button is disabled. When you disconnect an integration, Mindora deletes your credentials for security reasons, so it can no longer communicate with the provider. In this case:

  • The refund button is disabled with a tooltip explaining why.
  • You need to process the refund manually from your payment provider's dashboard.
  • Alternatively, you can reconnect the integration to enable refunds through Mindora again.
Edge Case: Refund Failed

Although very rare, if a temporary connection issue occurs while processing the refund (such as a network interruption or provider downtime), the system may not be able to complete it. In this case:

  • The payment status remains unchanged — no partial state.
  • An error toast is shown explaining that the refund could not be processed.
  • You can retry the refund through Mindora — since the integration is active, this is a temporary issue.

Refund Statuses

After initiating a refund, you'll see one of these statuses:

Refund Pending

  • Refund is being processed by the payment provider.
  • Usually completes within minutes.
  • Do not initiate another refund while pending.

Refunded

  • Full refund completed successfully.
  • Amount will appear in client's account within 1-14 business days.

Partially Refunded

  • Partial refund completed.
  • You can still refund the remaining amount.
  • Shows how much was refunded vs. remaining.
Refund is Final
Once a refund is processed, the payment cycle for that session is complete. You cannot manually change the payment status or create a new payment link. However, if you made a partial refund, you can still refund the remaining amount.

Common Scenarios

Session Cancellation + Refund

When you cancel a session that's already been paid via link:

  • The system will ask if you want to process a refund.
  • You can choose to refund fully, partially, or not at all.
  • If you don't refund, the payment record is preserved.

No-Show + Refund

When marking a paid session as no-show:

  • You can keep the full payment (no-show policy).
  • You can partially refund (e.g., 50% penalty).
  • You can fully refund (goodwill gesture).

Refund After Session Completed

In rare cases where a refund is needed after the session:

  • Go to the session's payment details.
  • Initiate the refund with appropriate reason.
  • The session remains in history with "Refunded" status.

Refund Time Limits

Each payment provider has different refund time limits:

Provider
Time Limit
Notes
Stripe
180 days
From the date of the original charge
iyzico
365 days
Same-day refunds are processed as cancellations.
PayTR
Varies
Depends on bank rules, typically 90-180 days.
After Time Limit
If the refund time limit has passed, you'll need to arrange an alternative refund method with your client (bank transfer, etc.).

Refund Fees

Good news: Payment providers typically don't charge additional fees for refunds. The original transaction fee may or may not be returned depending on the provider:

StripeOriginal transaction fee is NOT returned.
iyzicoThere are no additional fees for refunds.
PayTRThere is no fee for processing refunds.

Viewing Refund History

All refunds are recorded in the session's payment history:

1

Go to the session details.

2

Open the Payment History section.

3

You'll see refund events with timestamp and amount.

4

Each refund shows who initiated it and the reason.

5

Fee change after refund is also recorded separately.

Tip

Learn more about all payment events in the Payment History guide.