Hei — näin viestisi tänä aamuna, kuvakaappauksen jostakusta, joka kysyi sovelluksesi tukipostissa "miten voin maksaa tästä sinulle". Onnittelut, ihan aidosti. Se on hetki, jolloin sivuprojektista lakkaa olemasta pelkkä demo. Se on myös hetki, jolloin sata pientä päätöstä, joita olet voinut lykätä, ilmestyy kaikki samaan tiistaihin. Pyysit minua vain kertomaan, mitä tehdä. Aion tehdä niin, mutta haluan ensin käydä läpi syyt, koska "miksi" on se, mikä estää sinua kysymästä minulta uudelleen kolmen kuukauden päästä, kun kyseessä onkin Lemon Squeezy Stripen sijaan, tai tilaukset kertaostoksen sijaan.
Päätös, jota oikeasti teet
Muotoilit tämän kysymykseksi "mitä maksunvälittäjää minun pitäisi käyttää", mutta se on itse asiassa kaksi päätöstä päällekkäin. Ensinnäkin: haluatko olla rekisteröity myyjä itse, vai haluatko että joku muu on sitä? Toiseksi: millainen laskutusmallisi on — kertaosto, tilaus, vai käyttöperusteinen? Jos teet ensimmäisen päätöksen väärin, vietät kuuden kuukauden päästä viikonlopun rekisteröitymässä ALV-velvolliseksi maahan, jossa et ole koskaan käynyt. Jos teet toisen väärin, kyseessä on ärsyttävä migraatio, ei laillinen ongelma — eli se on vähemmän pelottava näistä kahdesta.
Rekisteröitynä myyjänä toimiminen tarkoittaa, että sinä olet se, joka juridisesti myy tuotteen. Keräät rahat, olet vastuussa myyntiveron ja ALV:n selvittämisestä jokaisessa maassa, jossa asiakkaasi asuvat, ja teet niistä ilmoitukset. Stripe laskee mielellään tämän veron puolestasi (Stripe Tax), mutta laskeminen ei ole sama asia kuin tilittäminen — sinun on silti rekisteröidyttävä ja tehtävä ilmoitukset jokaisessa paikassa, jossa ylität kynnysarvon. Rekisteröidyn myyjän palvelu, kuten Lemon Squeezy tai Paddle, ottaa koko ongelman pois pöydältäsi: he ovat juridisesti myyjä, keräävät ja tilittävät veron kaikkialla, ja maksavat sinulle nettosumman. Luovutat siitä osan katteestasi.
| Vaihtoehto | Kuka on myyjä | Tyypillinen palkkio-osuus | Veron käsittely | Sopii parhaiten |
|---|---|---|---|---|
| Stripe (suora) | Sinä | ~2,9 % + 0,30 $/tapahtuma, +0,5 % Stripe Tax:lle | Sinä rekisteröidyt ja ilmoitat, Stripe vain laskee | Odotat kasvavasi yli muutaman tuhannen kuukaudessa ja haluat pitkällä aikavälillä pienemmät maksut |
| Lemon Squeezy | Lemon Squeezy | ~5 % + 0,50 $/tapahtuma | Täysin hoidettu, he ovat rekisteröity myyjä | Yksin rakentava, ensimmäinen tuote, ei halua miettiä veroja ollenkaan |
| Paddle | Paddle | ~5 % + maksut vaihtelevat alueittain | Täysin hoidettu, enemmän yrityskäyttöön suuntautuva | SaaS-tilauksilla ja jonkin verran laskutustarpeilla |
| PayPal | Sinä | ~3,5–4,5 %, ostajaystävälliset kiistat | Hoidat sen itse | Asiakkaat, jotka luottavat nimenomaan PayPaliin — ei oletusvalinta |
Siinä tilanteessa, jossa nyt olet — yksi asiakas, yksinkertainen tuote, ei vielä tietoa siitä, muuttuuko tämä liiketoiminnaksi — suosittelisin Lemon Squeezyä tai Paddlea suoran Stripen sijaan. Nuo ylimääräiset kaksi prosenttiyksikköä maksuissa ovat halpa vakuutus siltä, ettet vahingossa ala tilittämään veroja osavaltiossa, jossa et ole koskaan käynyt. Voit myöhemmin siirtyä suoraan Stripeen, kun volyymi oikeuttaa vaihdon ja jaksat paperityöt. Kukaan ei vaihda maksunvälittäjää huvikseen, mutta se on ratkaistavissa yhdessä tiistaissa, ei vuodessa.
Tein saman virheen itse aiemmassa projektissa — menin suoraan Stripeen, koska "kaikki käyttävät Stripeä", keräsin muutaman sata dollaria kuukaudessa kourallikselta eurooppalaisia asiakkaita, ja sain sitten hyvin kohteliaan mutta hyvin hämmentävän sähköpostin VAT MOSS -rekisteröinnistä kahdeksantoista kuukautta myöhemmin. Se maksoi minulle kirjanpitäjän iltapäivän ja neljäkymmentä minuuttia puhdasta paniikkia googlaten "olenko velkaa Alankomaille rahaa". Ei katastrofaalista. Myös täysin vältettävissä.
Ennen kuin kosketat live-avaimia
Mitä ikinä valitsetkin, älä ota sitä käyttöön ensin tuotantotilassa. Jokaisella näistä palveluntarjoajista on testi- eli hiekkalaatikkotila, jossa on väärennettyjä korttinumeroita, jotka laukaisevat tiettyjä lopputuloksia — onnistunut veloitus, hylätty kortti, vaatii 3D Securen, riittämätön katteen. Käy kaikki läpi ennen kuin kosketat oikeaa avainta. Virhepolut ovat niitä, joihin oikeasti törmäät ensimmäisellä viikolla, ja niitä on paljon vähemmän hauska debugata livenä oikean ihmisen kortti kiinni.
Kerro rakennuschatissasi selvästi, että haluat tämän vaiheittain: pyydä ensin integraatiota testitilaan kytkettynä, selvästi näkyvällä bannerilla tai lipulla, jottei kukaan — mukaan lukien tuleva sinä — vahingossa veloita oikeaa korttia testauksen aikana. Ota sitten käyttöön toinen, tietoinen vaihe, jossa vaihdat live-avaimiin. Kaksi pyyntöä, ei yhtä, vaikka olisi nopeampaa vain sanoa "lisää maksut" ja antaa sen arvata, kumpaa tilaa käyttää. Kitka on tarkoituksellista.
Sinun on myös päätettävä, mitä tapahtuu, kun webhook laukeaa ja palvelimesi on alhaalla, hidas, tai tapahtuma saapuu kahdesti. Tämä ei ole hypoteettista — se tapahtuu ensimmäisellä viikolla, luotettavasti. Tapahtumat, jotka sinun täytyy ainakin käsitellä:
checkout.session.completed(tai vastaava) — myönnä pääsy, tämä on hetki, jolloin asiakkaasta tulee asiakasinvoice.payment_failed— tilauksille päätä nyt, onko kyseessä välitön lukitus vai armonaika, sillä "välitön lukitus" on aidosti huono ensivaikutelma kortille, jolla oli vain hetkellinen häiriöcustomer.subscription.deleted— joku peruutti, poista pääsy kauden lopussa, ei heti, ellei käyttöehtosi muuta sano- Palautustapahtuma — päätä kerralla, kirjallisesti itsellesi, mikä palautuskäytäntösi oikeasti on, ennen kuin ensimmäinen palautuspyyntö pakottaa sinut päättämään sen livenä
Idempotenssi on tässä tärkeämpi kuin melkein missään muualla sovelluksessasi. Jos webhook saapuu kahdesti — ja se saapuu, palveluntarjoajat yrittävät uudelleen mihin tahansa muuhun kuin 200-vastaukseen — et voi myöntää käyttöoikeutta kahdesti tai, pahempaa, veloittaa sisäistä tilaa kahdesti. Tallenna tapahtuman ID ja tarkista, ettet ole jo käsitellyt sitä ennen kuin toimit sen perusteella.
Hinnoittelukysymys, jota vältät
Mainitsit viestissäsi, ettet ole varma, veloitatko 9 dollaria kuukaudessa vai kertaluontoisesti 49 dollaria. Kumpikaan ei mielestäni ole väärin, mutta huomaa, mitä oikeasti vältät: keskustelua asiakkaan kanssa siitä, mikä toistuva arvo oikeastaan on. Kertahintaan on helpompi suostua ja sinun on helpompi rakentaa se (ei perintää, ei epäonnistuneen uusinnan käsittelyä, ei peruutusvirtaa). Tilaus on veto siitä, että jatkat tuotteen parantamista tarpeeksi, jotta ihmiset eivät poistu — mikä on todellinen sitoumus, ei vain valintaruutu hinnoittelusivulla. Jos et ole varma, työstätkö tätä vielä aktiivisesti kuuden kuukauden päästä, kertahinta on rehellisempi tarjous. Voit aina lisätä tilaustason myöhemmin, kun on jotain jatkuvaa, mihin tilata.
Vielä yksi asia, ja sitten annan sinun jatkaa: laita sivulle todellinen palautus- ja peruutuskäytäntö ennen kuin otat ensimmäisen dollarin vastaan, vaikka se olisi vain kolme lausetta. Ei siksi, että kukaan haastaisi sinut oikeuteen 9 dollarin veloituksesta, vaan koska sen kirjoittaminen pakottaa sinut oikeasti päättämään asian, ja "selvitän sen kun joku kysyy" on tapa päätyä tekemään käytäntöpäätös vihaisen sähköpostin keskellä rauhallisen iltapäivän sijaan.
Mene kytkemään hiekkalaatikko ensin. Tekstaa minulle, kun olet ajanut sen läpi väärennetyn hylätyn kortin — se on se "toimii"-versio, joka oikeasti merkitsee.



