Receipts, the customer portal and finding a key
A customer who bought through your Polar integration can get their key, open the receipt, renew and manage their subscription or orders without writing to you. All of it happens at your Polar, never Sealcord’s: Sealcord shows no billing page of its own to your customers. This page says what you set up and what the customer sees.
Getting the key after a purchase
Section titled “Getting the key after a purchase”Polar does not show Sealcord’s key, so Sealcord delivers it.
- Checkout success page. Polar products have no success URL of their own: it belongs to
each checkout link, or checkout session, that sells the product. Set it to
https://api.sealcord.com/purchase/success?checkout_id={CHECKOUT_ID}. The page shows the key bought in that checkout, and refreshes itself while Polar’s webhook has not arrived yet. It shows the key for 7 days after the purchase. - Find your licence. A customer who lost the page opens
console.sealcord.com/find-licence, types the email
address they paid with and the order number (on Polar’s receipt and in Polar’s customer
portal), and sees their keys any time. Both must match. If you build your own page, the same
lookup is
POST /v1/purchases/lookupwith the email and the Polar order id. Every mismatch answers the same404 purchase_not_found, so nobody can use it to find out who bought what, and it is strictly rate limited. - A note in the product. A Polar Custom benefit on each product can carry a note that links
to the Find your licence page,
https://console.sealcord.com/find-licence.
Customers also find their keys in the Console under My licences, signed in with the email address the licence was issued to.
What a customer can open
Section titled “What a customer can open”In My licences, each licence shows the links your setup supplies. A link appears only when it can work.
| Link | Shows when | Opens |
|---|---|---|
| Receipt on Polar | A Polar order issued the licence, live or ended, and its integration is connected | The receipt of the order that issued the licence |
| Renew on Polar | The licence has expired, its key has an end, and its mapping has a renewal link | Your Polar checkout link for the product |
| Manage subscription | The portal is on, the licence is live and a subscription issued it | The customer’s Polar portal |
| Your orders | The portal is on, the licence is live and a one-time purchase issued it | The customer’s Polar portal |
Renewal orders’ receipts are in the portal. A licence issued by a subscription event before its first order shows its receipt link once that order reaches Sealcord. A revoked licence offers no renewal.
Each link acts only on a licence sent to the signed-in customer’s verified address. Each customer may open receipts and the portal 10 times a minute and 60 an hour in all, so no customer can use up your Polar rate limit.
Turn on the customer portal
Section titled “Turn on the customer portal”The portal is off until you turn it on, for each integration.
- In Polar, give the integration’s token the scope
customer_sessions:write. Edit the token’s scopes in Polar where it allows that. Otherwise create a token with the read scopes and that one, then in Sealcord disconnect the integration, connect it again with the new token (the same integration comes back, with its mappings and the portal setting) and set its webhook secret again, because disconnecting erases it. - In the Console, on the integration, an owner or admin turns on the customer portal.
With the portal on, every live licence from that integration links it: as Manage subscription when a subscription issued the licence, and as Your orders when a one-time purchase did, with a line that says what it opens. The portal shows the customer everything they bought from you, not only that licence. A licence shows the link only when Polar knows its customer.
Turning the portal on does not check the scope with Polar. A token without it makes the
customer’s click fail with a message that the portal is not available; add the scope and it
works. A token Polar no longer accepts gives the
same message, and the integration shows needs_attention at your next check.
Questions
Section titled “Questions”Does the customer ever see Sealcord’s own billing?
Section titled “Does the customer ever see Sealcord’s own billing?”No. Receipts, renewal and the portal belong to you and your Polar. Sealcord’s billing is for your plan and is only in your Console.
Where do I find a renewal link?
Section titled “Where do I find a renewal link?”In Polar, under Products, Checkout Links. Paste it into the product’s mapping. See Map Polar products for what Sealcord accepts.
Why does a customer not see a receipt?
Section titled “Why does a customer not see a receipt?”The licence was not issued by a Polar order (a hand-issued licence has none), Polar is still preparing the receipt (it works a minute later), or your token no longer reaches Polar. Their screen says to write to you, at the support address in your workspace settings when you set one.
Can a customer open the portal for a licence I issued by hand?
Section titled “Can a customer open the portal for a licence I issued by hand?”No. The portal needs Polar’s customer, which a hand-issued licence does not have.