ResytechResytech Docs
Payments & Billing

Issue a Refund

Refund a Stripe card payment or record a manual refund for cash, check, and other offline payments.

Resytech supports two refund paths: Stripe refunds that reverse a card charge through the Stripe API, and manual refunds that record an offline return of funds. Both types create a negative payment entry and update the booking balance.

Prerequisites

  • An existing booking with at least one recorded payment.
  • For Stripe refunds: the original card payment must have a status of succeeded.
  • Appropriate user permissions.

Stripe Card Refunds

Full Refund

A full refund returns the entire remaining refundable amount on a card payment.

  1. Open the booking from Dashboard > Bookings.
  2. Navigate to the payment history section.
  3. Find the card payment you want to refund and click Refund.
  4. Select Full Refund.
  5. Optionally check Refund Application Fee if you want Resytech's platform fee returned as well.
  6. Review the refund summary showing the refund amount, application fee refund, and operator charge refund.
  7. Click Confirm Refund.

The refund is processed through Stripe immediately. The customer typically sees the refund on their statement within 5--10 business days, depending on their bank.

Partial Refund

A partial refund returns only part of the payment.

  1. Open the booking and find the payment.
  2. Click Refund.
  3. Select Partial Refund.
  4. Choose the amount type:
Amount TypeHow It Works
DollarEnter an exact dollar amount to refund (e.g., $50.00)
PercentEnter a percentage of the remaining refundable amount (e.g., 50%)
  1. Enter the amount or percentage.
  2. Review the refund summary.
  3. Click Confirm Refund.

Refund Preview

Before confirming, the system shows a preview with these details:

FieldDescription
Refundable AmountThe maximum that can still be refunded on this payment
Refund AmountThe amount that will be returned to the customer
Application Fee RefundThe portion of the platform fee being returned (proportional to the refund)
Operator Charge RefundThe amount returned from the operator's share
Remaining Charge BalanceWhat will remain on the charge after this refund

Multiple Partial Refunds

You can issue multiple partial refunds against the same card payment until the full amount has been refunded. The system tracks the cumulative refunded amount and prevents you from exceeding the original charge.

For example, on a $100 payment:

  • First partial refund: $30 (remaining refundable: $70)
  • Second partial refund: $40 (remaining refundable: $30)
  • Third partial refund: $30 (payment is now fully refunded)

Refund Application Fee

When Refund Application Fee is checked, the Resytech platform fee is also refunded proportionally. The calculation is:

App Fee Refund = (Original App Fee) x (Refund Amount / Original Captured Amount)

If you choose not to refund the application fee, the full refund amount comes from the operator's portion of the charge.

Manual Refunds

Manual refunds are for payments that were recorded manually (cash, check, electronic, etc.). No money moves through Stripe -- you are recording that funds were returned to the customer.

Process a Manual Refund

  1. Open the booking and find the manual payment.
  2. Click Refund.
  3. Fill in the refund details:
FieldRequiredDescription
Refund TypeYesFull (entire remaining amount) or Partial
Amount TypeFor partialDollar (exact amount) or Percent (percentage of remaining refundable)
AmountFor partialThe dollar amount or percentage to refund
Refund MethodYesHow the refund is being returned: cash, check, electronic, etc.
Refund Reference IDNoA reference number (check number, transaction ID). Auto-generated if blank, e.g., REF-20260402-A1B2C3D4.
ReasonYesWhy the refund is being issued
NotesNoAdditional notes for internal records
  1. Click Confirm Refund.

Protection Against Over-Refunding

The system automatically prevents refunding more than the original payment amount. Before processing, it:

  1. Calculates the sum of all existing refunds linked to the original payment.
  2. Subtracts that from the original payment amount to get the remaining refundable amount.
  3. Rejects the refund if the requested amount exceeds the remaining refundable amount.

If a payment of $200 has already been refunded $150, the maximum additional refund is $50.

Cancellation Refunds

When canceling a booking that has payments, Resytech can process refunds as part of the cancellation flow. The system supports three refund methods during cancellation:

MethodDescription
stripeRefunds the card charge through Stripe. Requires the PaymentIntent ID.
manualRecords a manual refund. The system automatically finds the best original payment(s) to refund against.
creditNot yet implemented. Reserved for future gift card credit functionality.

For manual cancellation refunds, the system intelligently splits the refund across multiple payments if a single payment cannot cover the full refund amount. Payments with larger remaining balances are refunded first.

How Refunds Affect the Balance

Refunds add to the booking balance (the opposite of payments). For example:

  • Current balance: $0.00 (fully paid)
  • Refund of $100.00
  • New balance: $100.00

This means after a full refund, the balance returns to the original booking total.

Refund Statuses in Stripe

After a Stripe refund is processed, the status in Stripe may be:

StatusMeaning
succeededRefund completed successfully
pendingRefund is being processed (rare for card refunds)
failedRefund could not be processed (e.g., charge too old, insufficient balance in Stripe account)

If a refund fails, Resytech does not create the refund record or update the balance. The error message from Stripe is displayed so you can take corrective action.

Tips and Pitfalls

  • Stripe refunds can take 5--10 business days to appear on the customer's statement. Let the customer know when to expect it.
  • You cannot refund a refund. The system blocks attempts to refund a payment record that is already a refund entry.
  • Stripe charges older than 180 days may not be refundable. In this case, issue a manual refund and handle the return of funds outside of Stripe.
  • Refunding a card payment does not reverse Stripe processing fees. Stripe keeps its per-transaction fee even if you refund the payment. This is a Stripe policy, not a Resytech limitation.
  • Partial refunds by percentage are calculated against the remaining refundable amount, not the original payment amount. If you already refunded half and then request a 50% partial refund, you get 50% of the remaining half.

What to Do Next

On this page