HairConnect Manual Log in

Stripe

Updated on 2026-08-28

This chapter is not for a hair salon. It describes the Stripe screen in the platform panel: the connection HairConnect uses to collect the monthly subscription from a salon.

Two different things are called "Stripe"

Don't mix them up — they have nothing to do with each other.

The salon's Stripe The platform's Stripe
Who collects the salon, from its own customers HairConnect, from the salon
Where it is set in the salon's back office, under Connections on the Stripe keys screen
Which account the salon's HairConnect's
Which screen Connections this screen, and Stripe keys next to it

This chapter only covers the second one. If the money goes to the salon, you are in the wrong chapter.

Where do I find it?

At /platform, in the sidebar under Stripe. Only a platform administrator gets in.

What the screen shows

The connection. At the top you see whether Stripe is switched on. If it says Stripe is off — nothing is being collected, take that literally: no salon is being charged at all. The rest of the software keeps running — this only affects HairConnect's own billing, not a salon's calendar or till.

Below that is the address that must be configured at Stripe as the webhook endpoint.

Payment failed. The salons whose collection did not go through. They are not shut off: their calendar and till keep running. It is a call list, not a punishment.

Webhooks. When something last arrived from Stripe, how much arrived over the past seven days, and below that the full list. An endpoint that has been silent for a week is just as bad as one that refuses — it is simply less noticeable, which is why the date sits at the top.

Switching it on

The keys are not on this screen but on Stripe keys next to it. That is where you paste the secret API key and the webhook secret, test the connection, and switch the master switch on. No deploy needed. See the chapter The Stripe keys.

The address to configure at Stripe as the webhook endpoint is shown here as well as there.

As long as nothing is configured, nothing happens. No error, no half-finished state: nothing is created at Stripe and nothing comes in. On the production server it is different — there the connection refuses loudly as soon as someone tries to activate a subscription. Quietly doing nothing is the most expensive mistake there is: everything would look fine for months while not a single salon is being charged.

Which events HairConnect handles

In the Stripe dashboard, enable at least these three on the endpoint:

Event What happens
invoice.paid (and invoice.payment_succeeded) The month is paid. If the salon was on Payment failed, it goes back to Active. If the period has meanwhile elapsed, it moves on by one month.
invoice.payment_failed The salon is set to Payment failed. It keeps running.
customer.subscription.deleted The subscription was cancelled or ended at Stripe; it is cancelled here as well. The current month runs out.

Everything else is stored and then ignored. The list shows Ignored, which is not the same as Refused.

Refused, ignored, failed

Three words that sit next to each other in the list and mean three different things.

  • Refused — the request did not get through the door. No valid signature, or no webhook secret configured. Nothing was done with it. Such envelopes are kept so you can check who came knocking, but they cannot be processed after the fact either. That is on purpose: a payload nobody signed is not a source of truth.
  • Ignored — the envelope was fine, there is simply nothing to do with it.
  • Failed — processing broke. Stripe re-delivers the event by itself, and the Process again button lets you do it by hand. That is safe: processing the same event twice has an effect only once.

The trial runs without a card

During the trial nothing exists at Stripe: no customer, no subscription, no payment method. Payment details are only requested when the trial ends and the subscription is activated.

A salon that is set to free by hand skips Stripe entirely — no customer is created, no subscription is opened, no payment is attempted. See the Subscriptions chapter.

What this screen does not do

It does not create invoices. The invoice number and the VAT treatment come from Fades; this screen only collects money. What ends up on an invoice is therefore not decided here.