Skip to content

Refunds, failed payments, and disputes

The three messy parts of running a paid store. Klixey handles each one differently — this page is the map.

Quick answer

Refunds are issued by you inside Stripe. Once Stripe confirms the refund, Klixey automatically revokes the customer's access and emails them. Failed recurring payments are retried automatically and suspend access if every retry fails — and reactivate as soon as the next charge succeeds. Disputes are handled in Stripe; Klixey doesn't touch the customer's access until you decide.

Refunds

Klixey doesn't have an in-app refund button. You issue refunds from your Stripe dashboard — Stripe is where the money lives, so that's where you control it.

How to issue a refund

  1. Open the customer in Klixey (Customers → click the row) to find the payment you want to refund. Or open Income and find the payment by date.
  2. Go to your Stripe dashboard.
  3. Find the same charge in Stripe (by date and amount).
  4. Click Refund in Stripe. Choose full or partial.
  5. Confirm. Stripe processes the refund — the funds return to the customer's card over the next few business days.

You don't need to touch Klixey. Once Stripe processes the refund, Klixey reacts automatically.

What Klixey does after the refund

Klixey watches your Stripe account and reacts to a refund the moment Stripe records it:

What you refundedWhat Klixey does
A full course purchaseRevokes the enrollment, marks status as Refunded
A full community purchaseRemoves the member, marks status as Refunded
A full event signupCancels the signup, frees up the seat
A full appointment bookingCancels the booking
A subscription paymentMarks the payment as refunded; the subscription itself is unaffected unless you also cancel it
A partial refundRecords the partial amount; access stays as-is

The customer's record in Klixey shows the new Refunded status on the payment, and the customer gets an email letting them know.

Partial refunds don't revoke access

Klixey treats partial refunds as a money adjustment only. If you want to remove access on a partial refund, also cancel the customer's subscription or suspend the enrollment manually from the customer's record.

If you also want to cancel a subscription

A refund for the last payment doesn't cancel a recurring subscription. If you want the customer's subscription to stop billing going forward, cancel it in Stripe as well (or use the cancel option in the customer's record).

Failed recurring payments

When a customer's subscription tries to renew and the bank declines the charge, Klixey moves them through a recovery flow automatically. You don't have to do anything to start retries — they're built in.

The customer's experience is detailed in payment failures. Here's what you, the creator, see.

The sequence

StateWhat's happeningCustomer accessCustomer sees
ActiveRenewal charge attemptedFullNormal portal
Past dueCharge declined, retries scheduledFull (grace)Red banner: "Payment failed — update payment method"
SuspendedAll retries failedCut"Access expired" message in portal
ReactivatedA later retry succeeded after suspensionRestoredNormal portal again

The customer keeps full access during past due so they have a chance to update their card. Klixey retries the charge a few times over the days that follow. If any retry succeeds, the subscription quietly returns to active — they never lose access.

If every retry fails, the subscription is suspended: access is cut and a Suspended email is sent.

What happens to linked enrollments

Klixey treats a customer's paid access as one bundle. If their subscription is suspended:

  • The course enrollments paid by that subscription show as suspended too.
  • The community memberships tied to that subscription show as suspended.
  • Memberships and their bundled products lose access together.

You don't have to suspend each enrollment by hand — they move in lockstep with the subscription.

When the customer updates their card and the next charge succeeds, everything reverses: subscription reactivated, enrollments and memberships restored, Reactivated email sent.

What you see in Klixey

  • The customer's record shows the subscription as Past due, then Suspended, then Reactivated.
  • The Income page records the failed attempt without counting it as revenue.
  • The customer's notification stream notes each transition.

You don't need to email them — Klixey already does

Klixey emails the customer at each transition (Payment failed → Suspended → Reactivated). The fastest way for them to recover is to follow the Update card link inside the Payment failed email, which takes them straight into their portal's billing tab.

Disputes (chargebacks)

A dispute happens when a customer asks their bank to reverse a charge — usually because they don't recognize the line item or claim the product wasn't delivered. The bank pulls the funds back and Stripe holds them until the dispute resolves.

What Klixey does on a dispute

Nothing automatic to the customer's access. This is intentional — disputes are often customer confusion (an unfamiliar charge name, forgotten purchase). Auto-revoking access would punish honest buyers and remove your ability to use the access record as evidence.

You decide whether to suspend the customer while the dispute is open.

What to do

  1. Respond inside Stripe. Stripe gives you a window (typically 7–21 days) to submit evidence — proof of delivery, the confirmation email Klixey sent, login activity, IP addresses, communication logs.
  2. Decide on access. You can leave the customer's access in place (the safer bet for honest disputes), suspend their enrollment manually from their record, or remove them outright. Your call.
  3. Reach out to the customer. Most disputes resolve faster when you message the customer directly — "Hey, I see you disputed this charge from {your store name} — was that intentional, or didn't you recognize the name?" A lot of disputes get withdrawn once context is clear.
  4. Wait for resolution. Stripe rules on the dispute based on the evidence both sides submitted. If you win, the funds come back. If the customer wins, the funds stay with them and Stripe charges a dispute fee.

For the full troubleshooter (including evidence checklists), see Customer disputed a payment.

Currency and refunds

Refunds always return in the original currency of the purchase. Even if you've since switched your workspace currency, the refund follows the original charge. See currencies for the full currency story.

© Klixey