Kuuntele miksausta samalla kuin luet?

entropy.fi - Stripe integraatio

Arvioitu lukuaika 2 min
Luotu: 29.11.2023, 12:37 - Päivitetty: 16.12.2025, 15:33
Tehty: 22.11.2023, 20:00

Taustaa#

e30v-tapahtumaa varten tarvittiin maksujärjestelmä verkossa tapahtumaa lipunmyyntiä varten. Aiemmissa tapahtumassa lipunmyynti oli järjestetty kolmannen osapuolen järjestelmien, esim. Holvin, kautta, tai perinteisesti verkkopankin kautta. Tähän tapahtumaan haluttiin kuitenkin saumaton integraatio Stripen, eli maksunvälitysjärjestelmän kanssa. Integraation tavoitteena oli mahdollistaa nopea ja helppo maksaminen. Tässä projektissa rakensin siis e30v-tapahtumaa varten Stripe-integraation Entropyn sivuille.

Haaste#

Tyypillisesti haasteena verkkolipunmyynnissä on lippujen rajattu määrä ja useat yhtäaikaiset käyttäjät. Miten estää lippujen myynti yli rajatun määrä, etenkin jos sivustoa käyttää monta sataa ihmistä yhtä aikaa?

Ratkaisu#

Seurasin lippujen määrää käyttämällä tietoa myydyistä lipuista sekä Stripen ostoaikomuksista. En siis varannut lippuja käyttäjälle siinä vaiheessa, kun lippu lisättiin ostoskoriin. Luotin siihen, että palvelin on tarpeeksi nopea tarkistaakseen tarvittavat asiat ostoaikomuksen tekemisen yhteydessä.

Integraation toteutus#

Itse Stripe-integraatiossa ei sinällään ole mitään ihmeellistä. Ensiksi luodaan käyttäjän ostoskorista Stripeen ostosaikomus palvelimen puolella ja lähetetään se käyttäjälle. Kun aikomus on tehty, käyttäjällä on 30 minuuttia aikaa maksaa ostoskorin sisältö. Sitten vaikea osuus: palvelimen pitää pystyä seuraamaan näitä ostoaikomuksia muille käyttäjille, jotta ei tapahdu ylimyyntiä.

Kun lipunmyynti alkoi, julkaisin liput niin, että määritin kullekin lipputyypille lippujen kokonaismäärän. Aloitin kalliimmista lipuista siirtyen halvimpiin lipputyyppeihin. Yritin tähdätä siihen, että halvimmat olisivat myynnissä täsmälleen luvatulla kellonajalla. Halvimpia lippuja oli tarjolla 30 kappaletta. Kun lippujen myynti alkoi, sivustolla oli satoja ihmisiä. En huomannut, että sivustolla olisi ollut hidastumisen merkkejä. Kaikki näistä 30 lipusta myytiin samalla minuutilla, kun niiden ostaminen sallittiin.

Loppujen lopuksi yksi lippu myyntiin yli. Tämä johtui siitä, että kun yksi lippu on ollut jäljellä, on kaksi käyttäjää painanut ostonappulaa täysin samaan aikaan. Näin ollen ostoaikomukset eivät olleet tietoisia toisistaan, ja tämän takia myyntiä ei voitu estää palvelimen päässä.

Nyt Entropyn sivuilla on siis käytettävissä Stripe, joka hoitaa maksuliikenteen. Hauska harjoitus tämäkin.

Saatat myös pitää

Projektit

Progressiivinen kuvanlataaja

IMG20221214192947.jpg IMG20221214192947.jpg
Musiikki

Chiphead - Aktiivimalli

2025-03-06_181554-area.png 2025-03-06_181554-area.png
Projektit

Hypermakkara