SpaceTegoed: verschil tussen versies

Uit MakerSpace Leiden
Ga naar: navigatie, zoeken
(Hoe werkt het voor deelnemers)
(Hoe werkt het voor deelnemers)
Regel 75: Regel 75:
  
 
Let op:
 
Let op:
* Voor de veiligheid wordt het bedrag alleen overgemaakt naar het bij het bestuur bekende rekening
+
 
 +
* Voor de veiligheid wordt het bedrag alleen overgemaakt naar het bij het bestuur bekende rekening
 
* Voor de veiligheid is er altijd een wachttijd van ##### dagen voordat het geld wordt overgemaakt
 
* Voor de veiligheid is er altijd een wachttijd van ##### dagen voordat het geld wordt overgemaakt
  

Versie van 13 okt 2021 om 16:13


Wat is SpaceTegoed

SpaceTegoed is het betaalsysteem van de Makerspace.

Het is te zien als je eigen rekening bij de Space. Het is een alternatief naast (en dus geen vervanger van) de Zwarte Pot op de tafel in de kleine ruimte. Omdat meer en meer mensen geen kleingeld meer op zak hebben.

Voorbeelden

Je kunt er je kop koffie of je biertje van betalen.

Je kunt er andere mensen van tracteren op een kop koffie of een biertje.

Je kunt er een gift aan de space mee doen, bv omdat je je schuldig voelt over de vele troep je gemaakt hebt.

Je kunt een mede lid 25 cent betalen omdat je een schroefje van haar gekregen hebt.

Als je een pak koffie of een krat bier voor de space gehaald hebt, kun je dat declareren waardoor je tegoed weer stijgt.

En in de toekomst kunnen we wellicht meer dingen toevoegen, zoals boetes voor projecten die te lang in de weg blijven liggen :-)

Storten

Als je SpaceTegoed te veel zakt kun je ook fysiek geld storten in je SpaceTegoed.

Opnemen

Geld opnemen van je SpaceTegoed kan door een verzoek daarvoor in te dienen. Een bestuurslid maakt het dan naar je over.

Veiligheid

De meeste transacties zijn virtueel en het gaat over het algemeen om kleine bedragen.

Elke maand wordt er een overzicht van alle rekening standen naar de deelnemers lijst gestuurd.

Bij het opnemen zijn altijd bestuursleden betrokken, er wordt uitsluitend geld overgemaakt naar het rekeningnummer waarvan het lidmaatschap wordt afgeboekt, en er is altijd een wachttijd van een week.

Verder zijn alle transacties openbaar, wanneer iemand de boel probeert te belazeren is dat voor de gehele gemeenschap zichtbaar.

Tot slot krijg je als eigenaar altijd een e-mailtje van je transacties. Hier staat ook een link in waarmee je een transactie kunt terugdraaien. In dat geval krijgen alle bij de transactie betrokken partijen een e-mailtje dat jij dat gedaan hebt.

Retentie

Op de eerste van elke maand worden alle transacties die ouder zijn dan 3 maanden uit de transacties lijst gewist. Omdat we backups hebben zijn deze nog wel voor het bestuur inzichtelijk.

Maar hoe wil je het dan doen met het saldo? Houdt je dat apart bij? Het is immers niet de bedoeling dat iemands eindsaldo omhoog of omlaag gaat als er iets uit de transacties gewist wordt.

Hoe werkt het voor deelnemers

Er zijn 5 hoofdfuncties, waarvan je sommige op meerdere manieren kunt aanspreken.

  1. Geld storten op je SpaceTegoed
  2. Geld opnemen van je SpaceTegoed
  3. Artikel betalen aan de space (vast bedrag, bv voor een kop koffie)
  4. Artikel declareren bij de space (vast bedrag, bv voor een pak koffie)
  5. Factuur betalen aan de space (variabel bedrag)
  6. Factuur declareren bij de space (variabel bedrag, bv zaken van HBM)
  7. SpaceTegoed overmaken aan een andere deelnemer


Geld storten op je SpaceTegoed

  1. Stort het bedrag op rekening ##### van de space
  2. Stuur het bestuur (hetbestuuur@makerspace.nl) een mailtje dat je geld hebt overgemaakt
  3. Binnen een paar dagen staat het geld op je SpaceTegoed
  4. Je krijgt op dat moment automatisch een mailtje waarin deze transactie vermeld wordt

Let op:

  • Zonder het sturen van een mailtje heeft het bestuur geen trigger om naar de rekening te kijken en kan het lang duren voordat het bedrag wordt opgemerkt.

Todo: mail template maken


Geld opnmenen van je SpaceTegoed

  1. Stuur het bestuur (hetbestuuur@makerspace.nl) een mailtje dat je een bepaald bedrag wil opnemen.
  2. Na een paar dagen wordt het bedrag door het bestuur overgemaakt op je rekening
  3. Je krijgt op dat moment automatisch een mailtje waarin deze transactie vermeld wordt
  4. Het geld staat op je rekening (kan even duren als de bank er lang over doet)

Let op:

  • Voor de veiligheid wordt het bedrag alleen overgemaakt naar het bij het bestuur bekende rekening
  • Voor de veiligheid is er altijd een wachttijd van ##### dagen voordat het geld wordt overgemaakt


Todo: mail template maken Todo: hoe kan een deelnemer diens rekening wijzigen? Todo: Hoe implementeren we de wachttijd?

User Flows

Terminal type '7 segment displays'

Prototype simpele/een functie terminal; betaling van 1 euro

Prototype simpele/een functie terminal; betaling van 1.75 euro

Bij dit type betaal terminal kan je maar voor één ding, met een vaste prijs, betalen.

  1. Het 7 segment display toont het bedrag. Dat blijft altijd het zelfde.
  1. Swipe je tag langs de terminal.
  1. Het display toont '[--]' en vervolgens 'PAID'. Je hebt nu betaald. Je krijgt een emailtje met de details van je betaling. Hier staat het bedrag in; de naam/locatie van de terminal en eventueel een beschrijving. En je zit dit in het overzicht op de website.
  1. Daarna gaat het weer terug naar stap 1.

Een filmpje van een prototype: https://vimeo.com/manage/videos/625531264

Indien de betaling fout gaat zie je de text 'FAIL' en een cryptische 3 cijferige foutcode. Op de server wordt bijgehouden wat er fout ging. Als gebruiker kun je in dit geval niet veel meer doen dan cash betalen, het bij de mailing lijst melden, of het later weer proberen.

Terminal met beeldscherm

Prototype met keuzes Possibly screen

Video: https://player.vimeo.com/video/628163050?h=e344411a85

Bij dit type terminal kun je kiezen wat je betaald met een "+" en "-" knop.

  1. Het display toont de text 'Swipe to Pay" met daaronder iets als "Bier" of "Koffie" en het bedrag.
  1. Met de + en - knop blader je door de opties. Totdat je de juiste hebt.
  1. Swipe je tag langs de terminal.
  1. Indien het bedrag groter is dan 5 euro komt de vraag "Pay <bedrag>" -- OK of Cancel. Bij cancel ga je terug naar stap 1. Bij Pay naar de volgende stap.
  1. Het display toont `paying' ... en tot slot 'Paid by <je eigen naam>'.
  1. En gaat daarna terug naar stap één.

Indien er iets fout gaat zie je op het scherm een foutmelding. Op de server wordt bijgehouden wat er fout ging. Als gebruiker kun je in dit geval niet veel meer doen dan cash betalen, het bij de mailing lijst melden, of het later weer proberen.

Admin Flows

Er is een abstractie tussen een betaal station en de daadwerkelijke fysieke terminal die er op dat moment 'aan hangt'.

Dit is omdat sommige stations van alles kunnen (inclusief in de toekomst misschien arbitraire bedragen) en anderen alleen één artikel of een paar artikelen uit een beperkte lijst kunnen afrekenen.

Pettycash Beheerder

Het is noodzakelijk dat je door een bestuurslid aangemerkt wordt als Pettycash Beheerder:

  1. Bestuurslid logt in met haar eigen account.
  1. Bestuurslid doet 'sudo' en loopt door de GDPR audit/procedure.
  1. Bestuurslid gaat naar 'raw database access', dan naar 'Users' en zoekt op de persoon haar naam.
  1. In het details record van de persoon wordt een lidmaadschap van de groep 'Pettycash Beheerder' aan de persoon toegevoegd. En dan Save.

De gebruiker krijgt onmiddellijk deze rechten.

Aansluiten fysieke payment terminal

Een fysieke payment terminal maakt zich bij eerste opstarten automatisch aan. Het moet echter wel expliciet geaccordeerd worden.

  1. Zet het apparaat (voor de eerste keer) aan.
  1. Op het scherm verschijnt (indien de wifi werkt, etc) de text 'swipe to connect'. Als dit niet gebeurt heeft het apparaat nog een geldige verbinding.
  1. Een Pettycash Beheerder heeft nu 100 seconden om zijn of haar tag te gebruiken om akkoord te geven op de connectie. Indien je te laat bent begin je gewoon op stap nummer 1.
  1. Alle Pettycash Beheerder krijgen een mailtje als dit gebeurt.
  1. De Pettycash Beheerder logt nu in op het CRM.
  1. Selecteer de optie 'Terminal beheer'. Hier wordt een lijst getoond van de recent aangemelde (nieuwe) terminals.
  1. Selecteer het juiste station. Een eventueel vorige terminal toekenning wordt overschreven.
  1. Alle Pettycash Beheerder krijgen een mailtje dat dit gebeurt is.

Het apparaat is nu bekend bij het CRM. Het moet nu aan een betaal station gekoppeld worden.

Aanmaken nieuw Betaal Station

  1. Log in met eigen account.
  1. Pettycash Beheerder doet 'sudo' en loopt door de GDPR audit/procedure.
  1. Pettycash Beheerder ziet nu een stel extra opties in de normale lijst op https://makerspaceleiden.nl/crm/
  1. Selecteer de optie 'Station beheer'; en dan 'voeg station toe'
  1. Indien het station alleen bepaalde dingen kan verkopen; vink deze dan aan. Je kan ook niets aanvinken; bijvoorbeeld bij een betaal terminal die arbitraire bedragen toelaat.
  1. Indien relevant - kies het 'default' product waar de terminal telkens naar terug springt (na opstarten, na 5 minuten idle). Bijvoorbeeld 'koffie' voor de unit naast de Senseo; of 'bier' voor de unit naast de IJskast.
  1. Koppel het station aan een van de fysieke payment terminals uit de lijst.
  1. Herstart / reset / powercycle de fysieke payment terminal.

Omzetten bestaand betaal station naar nieuwe hardware

  1. Doorloop eventueel de stappen uit `Pairen fysieke payment terminal` indien het station nieuw is.
  1. Log in met eigen account.
  1. Pettycash Beheerder doet 'sudo' en loopt door de GDPR audit/procedure.
  1. Pettycash Beheerder ziet nu een stel extra opties in de normale lijst op https://makerspaceleiden.nl/crm/
  1. Selecteer de optie 'Station beheer'; en dan 'modify station'
  1. Her-koppel het station aan een van de fysieke payment terminals uit de lijst.
  1. Herstart / reset / powercycle de fysieke payment terminal.

REST protocol

Current prefix: pettycash/api/v1

  1. Connecting/registering
    1. call to <prefix>/register?name=<name>. If already registered/accepted; a 200-OK is given along with the registration details as a JSON. Otherwise a 401 is returned with a NONCE
    2. call to <prefix>/register?response=<256 bit sha256 as hex>. the SHA256 of the nonce, tag, client-sha256 and server-256 is provided. If correct, a 200-OK is given along with the registration details as a JSON. Otherwise a 400 or 500 is given; depending on the error.

The JSON consists of the actual name, descriptive string and, where applicable, the priceless.