Een premium radiostream vraagt om meer dan een betaalpagina. Leden moeten een account kunnen maken, veilig kunnen inloggen, hun abonnement kunnen beheren en alleen toegang krijgen tot de streams die bij hun lidmaatschap horen. Voor Jazz Radio by Maestro bouwden we daarvoor een zelfstandig accountplatform met webportaal, beheeromgeving en API voor de mobiele app.
Dit project vormt de technische laag achter de luisterervaring. Het platform beheert accounts, abonnementen, betalingen en streamtoegang, terwijl de app zich kan richten op muziek en gebruiksgemak. Samen vormen ze een gekoppeld systeem, maar ieder deel heeft een eigen verantwoordelijkheid. Bekijk ook de aparte case over de Jazz Radio by Maestro luisterapp.

Een accountomgeving die de hele abonnementsreis ondersteunt
Via het webportaal kan een luisteraar een account aanmaken, inloggen, een vergeten wachtwoord herstellen en de eigen gegevens bekijken. In het dashboard staat de actuele abonnementstatus centraal. Wie nog geen premiumlid is, kan een plan kiezen en de betaling starten; een bestaand lid kan het abonnement vanuit dezelfde omgeving beheren of opzeggen.
De omgeving is bereikbaar via account.jazzradiobymaestro.com. Het portaal is geen los formulier naast de app, maar gebruikt dezelfde accounts, abonnementen en bedrijfsregels als de API. Daardoor hoeft een luisteraar niet op meerdere plekken verschillende gegevens te beheren.
Van eerste betaling naar een terugkerend abonnement
Voor betalingen is Mollie gekoppeld. Bij de eerste aankoop maakt het systeem een klant en een eerste betaling aan. Na een geslaagde betaling verwerkt de webhook de status, activeert of verlengt het lokale abonnement en zet de terugkerende betaling klaar. Het platform bewaart de abonnementstatus ook zelf, zodat de app snel kan bepalen welke toegang een account heeft.
Opzeggen stopt toekomstige incasso’s, maar een betaalde periode blijft geldig tot de afgesproken einddatum. Dat is een klein detail dat voor een lid veel verschil maakt: de keuze om op te zeggen wordt gerespecteerd zonder dat de betaalde toegang direct verdwijnt.
Een API die de app precies geeft wat nodig is
De mobiele app communiceert met een eigen REST API. Registratie, login, profielinformatie, abonnementstatus en streamcatalogus hebben ieder een duidelijke endpoint. Zonder token levert de API alleen de actieve freemiumstreams. Met een geldig accounttoken worden premiumstreams toegevoegd wanneer het abonnement actief is.
Ook actuele trackinformatie loopt via dit platform. De backend haalt gegevens op bij de metadata-provider, normaliseert artiest, titel, artwork, volgende track en geschiedenis en geeft dat in een consistente vorm door aan de app. De bron-URL van een premiumstream blijft daarbij buiten de metadatarespons, zodat technische details niet onnodig worden blootgegeven.

Inloggen zonder de gebruikerservaring of veiligheid uit het oog te verliezen
De API werkt met een Bearer JWT voor tijdelijke toegang en een apart refresh token voor het vernieuwen van een sessie. Refresh tokens roteren: een gebruikt token wordt direct ongeldig en vervangen door een nieuwe set. Uitloggen trekt de volledige refreshsessie in. Dat geeft de mobiele app een praktische, langdurige sessie zonder wachtwoorden op het apparaat te bewaren.
Naast de API-login heeft het webportaal een eigen sessielaag en wachtwoordherstel via e-mail. Beheerfuncties zijn afgeschermd voor geautoriseerde beheerders. Daar kunnen onder andere abonnementplannen, prijzen, Mollie-instellingen en mailinstellingen worden beheerd. Gevoelige, door een beheerder opgeslagen configuratie wordt versleuteld bewaard.
Een beheersysteem dat ook operationeel bruikbaar blijft
De beheeromgeving laat niet alleen instellingen zien, maar geeft ook overzicht over klanten, abonnementen en betalingen. Abonnementsplannen kunnen worden toegevoegd en prijzen kunnen worden aangepast voor nieuwe aankopen. De technische instellingen voor betaling en e-mail zijn vanuit hetzelfde beveiligde deel te beheren, met een testmail om de verbinding vooraf te controleren.
Voor verdere integratie is er interactieve, afgeschermde API-documentatie. Daardoor kan de app of een toekomstige website op dezelfde begrippen blijven aansluiten: wat is een actieve premiumstatus, welke stream mag iemand gebruiken en welke gegevens zijn beschikbaar voor de speler?
Techniek achter het accountplatform
- PHP 8.2 en MySQL in een compacte MVC-architectuur met eigen router, controllers en repositories.
- Een REST API met JWT-authenticatie, roterende refresh tokens en toegangscontrole per abonnementsstatus.
- Mollie voor eerste betalingen, terugkerende incasso’s en webhookverwerking.
- PHPMailer en SMTP-configuratie voor wachtwoordherstel en operationele e-mail.
- Een cachelaag voor actuele radiometadata, zodat de externe provider niet bij iedere appaanvraag opnieuw wordt belast.
- Beveiligde adminroutes, aparte rollen en versleutelde instellingen voor gevoelige configuratie.
Het resultaat: een platform achter een eenvoudige luisterervaring
Voor een luisteraar blijft het overzichtelijk: account maken, een abonnement kiezen en luisteren. Achter die paar stappen regelt het platform de volledige keten van betaling tot premiumtoegang. Het is daarmee niet alleen een backend voor de app, maar een basis waarop Jazz Radio by Maestro kan doorgroeien met nieuwe plannen, zenders en kanalen.
De technische laag en de mobiele ervaring zijn bewust los ontwikkeld, maar horen inhoudelijk bij elkaar. Lees hoe die API in de praktijk wordt gebruikt in de Jazz Radio by Maestro luisterapp.
Ook een digitaal product met account en abonnement nodig?
Lees hoe we maatwerk software ontwikkelen, of vertel ons welke klantreis en koppelingen jouw product nodig heeft. Dan brengen we app, portaal, betalingen en beheer samen in een werkbare technische basis.
