Heatrail

Arendajatele

WooCommerce lisa.

WordPressi lisa, mis hindab kassasid, näitab tulemust tellimusel, ja laseb teie tiimil tulemuse ühe klõpsuga kinnitada. Ta ei kirjuta teie teemasse koodi ja ta ei saa ostu katkestada. Kontroll jookseb pärast seda, kui tellimus juba on, ja iga tõrketeed lõpeb tellimuse jätkumisega.

01

Paigaldus

ZIP, üleslaadimine, aktiveerimine.

Nõuded
WordPress 6.0 või uuem, PHP 7.4 või uuem, ja WooCommerce aktiivne. Toetatud on nii klassikaline kassa kui plokipõhine (Store API) kassa. Lisa sisaldab Heatraili PHP SDK-d, seega Composerit hostis vaja ei ole.
Kust ZIP tuleb
Partnerportaal serveerib lisa arhiivi. Ta ilmub sinna, kui teie taotlus on kinnitatud, nii Free kui Pro plaanil. Iga väljalase ehitatakse sildistatud commitist reprodutseeritavalt ja tema SHA-256 avaldatakse API viites. Kontrollige arhiiv selle väärtuse vastu enne paigaldamist.
Paigaldamine
Plugins → Add New → Upload Plugin, valige heatrail.zip, paigaldage, aktiveerige. Lisa kaust on heatrail.
Mida aktiveerimine teeb
Loob kohaliku kordusjärjekorra tabeli {prefix}heatrail_queue teie enda andmebaasis, ja ajastab järjekorra tühjenduse jooksma iga minut. Deaktiveerimine võtab ajastuse maha. Mitte midagi väljaspool teie WordPressi paigaldust ei puudutata.
Enne seadistamist
Ilma salvestatud key ID ja saladuseta ei tee lisa mitte midagi: ei kutseid, ei vigu, ei mõju kassale. „Not configured“ on vaikne, ohutu olek konstruktsiooni järgi.
02

Seadistus

Üheksa sätet, WooCommerce → Heatrail all.

Sätete ekraan nõuab manage_options õigust, ehk seda näevad administraatorid, mitte poehaldurid. See, mida siia sisestatakse, API saladus, võrgusool, proksipaar ja API host, on saidi haldus, mitte poe haldus. Kaks välja on ainult kirjutamiseks: pärast salvestamist renderdatakse neist ainult neli viimast märki, ja tühjalt esitamine hoiab salvestatud väärtuse, selle asemel et teda tühjendada.

API base URL
Heatraili API päritolu, https://api.heatrail.eu. Lugege ta seadistusest, ärge kleepige teda koodi: see on üks väärtus, mida peaks muidu kõikjal korraga muutma.
Key ID
Teie API võtme avalik identifikaator, kujul hk_….
API secret
Ainult kirjutamiseks. Kasutatakse ainult päringute allkirjastamiseks. Teda ei saadeta kunagi, ainult temast tuletatud allkiri.
Network salt
Ainult kirjutamiseks. Kasutatakse ainult e-posti aadresside ja telefoninumbrite räsimiseks teie enda serveris, enne kui midagi välja läheb.
Test mode
Kohalik lüliti, mis näitab sellel ekraanil võlu testiidentifikaatorid. Ta ei muuda seda, mida saadetakse. Testikäitumine ise on väravaga meie poolel, poe kaupa, vt osa 06.
Device module
Väljas, kuni te ta sisse lülitate, nagu Teenusetingimused ja andmetöötlusleping ütlevad. Juhib valikulist seadmekihti, mida kirjeldab osa 05. Kuni ta on väljas, ei panda seadmeskripti kunagi järjekorda ja välja ei saadeta. Sisselülitamine on otsus, mille teete vastutava töötlejana, sealhulgas see, kas ta on teie turul rangelt vajalik.
Browser evidence (beacon)
Sees, kuni te ta välja lülitate, alates lisa versioonist 0.3.0. Juhib brauseri tõendit, mida kirjeldab osa 03. Kuni ta on väljas, ei panda beaconi skripti kunagi järjekorda, teie sait ei salvesta tokenit ja kontrolliga seda ei saadeta.
Trusted client IP header
Ainult siis, kui teie poe ees on teie kontrolli all olev pöördproksi või CDN: päis, kuhu ta külastaja aadressi kirjutab, Cloudflare'i puhul CF-Connecting-IP. Muul juhul jätke tühjaks. Lisa ei loe kunagi X-Forwarded-For ega X-Real-IP päist, sest neid saab saata iga külastaja.
Trusted proxy ranges
IP vahemikud, millest proksi ühendub, CIDR kujul, tühiku või komaga eraldatud. Ülalolevat päist usaldatakse ainult ühenduse puhul, mis tuleb mõnest neist vahemikest, ja päis ilma vahemiketa jäetakse tähelepanuta. Mõlemad väljad tühjad on vaikimisi seis ja tähendab otsest hosti: aadress on see, mida teie enda server ühendusel näeb.

Test connection saadab allkirjastatud päringu /v1/health peale ja vastab selgelt: connection OK, connection failed, või not configured. Kasutage teda enne, kui ootate esimest tellimust: katkine võti, mis siin välja tuleb, maksab minuti, ja kassas avastatuna maksab päeva vaikseid degradeerunud kontrolle.

03

Kassa

Mis juhtub, kui tellimus vormistatakse.

Lisa haagib hetke, mil WooCommerce on tellimuse juba loonud, woocommerce_checkout_order_processed klassikalisel kassal, ja Store API vaste plokkassal. Tellimus on olemas enne, kui Heatraili küsitakse, ja see on struktuurne põhjus, miks kontroll ei saa kunagi müüki peatada.

Joonis 1

Kutse Heatraili on kõrvalharu teel kassast maksepakkujani, ja sellel harul on eelarve.Vasakul on kast nimega Kassa, mille ühendab paremal oleva kastiga Maksepakkuja üks pidev nool. Selle joone kohal on kast nimega Heatrail, kuhu viib jooneltlahkuv katkendlik nool ja kust katkendlik nool tuleb joonele tagasi. Ainus number joonisel seisab katkendliku haru kõrval ja ütleb 800 ms. All olev märkus ütleb, et miski pideval teel haru ei oota.Kassatellimus on valmisMaksepakkujatellimus läheb läbiHeatrailvastab andmetega800 mseelarve, mida hoiabpoe enda liidestustee, mis kannab tellimustMiski pideval teel ei oota haru. Pärast eelarvet haru hüljatakse ja tellimus läheb edasi.
Kutse istub kõrvalharul, millel on oma eelarve. Miski teel makseteenuseni teda ei oota.

Siis ehitab ta lubatud nimekirjaga payloadi: arve e-posti ja telefoni esimese astme räsi (jäetud täielikult ära, kui tühi või kohatäide), kliendi IP, WooCommerce sessiooni viide, seadmevektor kui seadmekiht on sees, beaconi token kui brauser selle sai, ja jämedakoeline kontekst: toote riskiklass, kaupade koguarv, summa korv, ja konto vanuse klass. Tootenimesid ei ole, sente täpseid summasid ei ole, aadresse ei ole.

Kutse on piiratud 800 ms peale ja kogu käsitleja on mähitud nii, et ükski viga, SDK-s või mujal, ei pääse kassasse. Tulemus, päris või degradeerunud, salvestatakse tellimuse külge.

Brauseri tõend (beacon)

Alates lisa versioonist 0.3.0 palub kassaleht ka Heatraili beaconil aadressil beacon.heatrail.eu vaadelda ühendust, mille brauser loob. Ta on vaikimisi sees ja ta on osas 05 kirjeldatud seadmekihist eraldi säte. Siin on täpselt see, mis liigub.

Millal
Üks kord, kui kassaleht laeb, ja uuesti, kui ostja vajutab tellimuse nuppu. Mitte ülejäänud poe avalikul poolel ja mitte tellimuse kinnituslehel. Tellimus ei oota teda kunagi.
Mida päring kannab
Teie poe avalikku võtme identifikaatorit ja ühekordset viidet, mis on seotud kassa sessiooniga. Viide on räsi, mis on tehtud teie saidi enda saladusega, ja ta ei ole kunagi kasutaja identifikaator. Nagu iga server, näeb beacon lisaks seda, mida iga ühendus talle näitab: IP aadressi ja porti.
Mis jääb brauserisse
Mitte midagi. Küpsiseid ei ole ja skript ei salvesta brauserisse midagi.
Kuhu tulemus läheb
Beacon allkirjastab oma vaatluse. Brauser annab selle allkirjastatud tokeni teie enda WordPressi saidile, aadressil POST /wp-json/heatrail/v1/beacon, mis hoiab teda selle kassa sessiooni jaoks kõige rohkem ööpäeva, ja see jõuab Heatraili koos kontrolliga.
Väljalülitamine
Võtke sätetes linnuke Browser evidence (beacon) eest ära. Kuni Heatrail ei ole teie poe domeeni lubatud nimekirja pannud, beacon vastust ei anna ja kontrollid lähevad teele ilma tokenita.
04

Kaupmehe vaade

Mida teie tiim tegelikult näeb.

Tellimuste nimekirjas

Heatrail veerg, nii klassikalisel tellimuste tabelil kui HPOS tellimuste ekraanil.

Skoori märge
Täisarvuline skoor, punaselt 70-st ülespoole, allpool tavaline.
TEST
Kontroll oli simuleeritud testirežiimi vastus, mitte päris hinnang.
degraded
Heatrailini ei jõutud õigeks ajaks. Kontroll on korduseks järjekorras, ja tellimust ei viivitatud millisekundigi. Kui järjekorras kontroll kohale jõuab, kirjutab lisa tellimusele päris skoori ja kontrolli ID, ja märgisest saab tavaline skoor, enamasti mõne minutiga, sest ajastatud töö käib iga minut.
Kriips
Sellel tellimusel ei ole kontrolli kirjas üldse.

Tellimuse ekraanil

Heatrail paneel külgribal, mis näitab skoori ja rakendunud põhjuseid, täpselt nii, nagu neid kirjeldab API viide. Nende all:

REAL ja FRAUD
Ühe klõpsuga märgistamine. FRAUD kannab põhjusekoodi: stolen card, chargeback received, account takeover, reseller abuse, või other. Märgistamine saadab tagasisidet võrku ega mõjuta kunagi selle tellimuse töötlemist.
Details
Allkirjastatud päring, mis loeb selle tellimuse skoori, põhjused ja kontrolli aja uuesti. Ulatus on teie enda pood: teise poe tellimuse viide on eristamatu olematust.
Request authorities memo
Salvestab taotluse, ja ei midagi enamat. Memo ise valmistab ja kinnitab inimene operaator, teda ei genereerita kunagi automaatselt, ja ta ei sisalda kunagi teise poe andmeid. Heatrail ei saada ise ühelegi organile midagi.
Pärast õnnestunud silti
Paneel ütleb, milline silt rakendati, millise WordPressi kasutaja poolt, koos intsidendi identifikaatoriga. Silt näidatakse rakendatuna ainult pärast seda, kui API ta kinnitas. Kui kinnitus ebaõnnestub, öeldakse teie operaatorile „Label failed. Heatrail did not confirm. Try again.“ selle asemel, et näidata õnnestumist, mida ei olnud.

Märgistamine teie enda töövoolt

Lisa registreerib tellimuse staatuse Fraud (Heatrail). Tellimuse sinna liigutamine valmistab tellimuse ekraanile eeltäidetud kinnitusmärkuse. Sama teeb tühistamine või tagasimakse tellimusel, mille tagasimakse põhjuse tekst mainib pettust. See teine käivitaja on heuristika, ja ta ainult eeltäidab.

Midagi ei saadeta, kuni inimene klõpsab Confirm. Staatuse muutus ise ei märgi midagi. Kui tellimusel on silt juba küljes, ei ilmu vihjet üldse.

Hoiatuse e-kirjad

Lisa ei saada ühtegi e-kirja. Kõrge skooriga kontrollide hoiatused saadab Heatrail, selle poe administraatorile, kelle tellimus see oli, ja mitte kellelegi teisele.

05

Seadmekiht

Valikuline seadmekiht, ja mida sisselülitamine tähendab.

Seadmemooduliga sees pannakse väike skript järjekorda ainult kassalehel, mitte ülejäänud poe avalikul poolel, ja mitte tellimuse kinnituslehel. Ta kogub jämedakoelise seadmevektori ja postitab ta teie enda WordPressi saidile, aadressil POST /wp-json/heatrail/v1/device, autentituna WordPressi REST noncega ja kiiruspiiratud viie postituseni kümne minuti kohta sessiooni kohta. Teie server valideerib ta sama range lubatud nimekirja vastu, mida API jõustab, parkib ta WooCommerce sessiooni, ja kinnitab ta kontrolli külge serveripoolselt.

Seadmeskript ei võta Heatrailiga kunagi ühendust. Ta ei tee kolmanda osapoole päringut ega teise päritoluga päringut, ja jälgimispikslit ta teie kassasse ei pane. Osas 03 kirjeldatud beacon on eraldi säte, ja tema võtab Heatrailiga ühendust.

Mida ta kogub

Ekraan ja renderdus
Ekraani laius ja kõrgus, seadme pikslisuhe, kas seade teatab puutesisendist.
Masina klass
Loogiliste CPU tuumade arv ja jämedakoeline seadmemälu klass, seal kus brauser need paljastab.
Keel ja vöönd
IANA ajavöönd ja kuni kaheksa brauseri keelesilti.
Platvormi klass
Platvormi string ja tuletatud jämedakoeline klass: desktop, iOS mobile, Android mobile, other mobile. Toores user-agent string ei lahku kunagi lehelt, ja API keeldub temast, kui te proovite teda saata.
Canvas ja WebGL tokenid
Kaks lühikest mittekrüptograafilist räsi, kumbki kaheksa hex märki, lõuendi renderdusest ning graafikatootja ja renderdaja stringidest. Nad on võrdlustokenid sama masina uuesti äratundmiseks. Aluseks olevad renderdaja stringid räsitakse lehel ja neid ei edastata kunagi.
Mida ei koguta kunagi
Nimesid ei ole, aadresse ei ole, e-posti ei ole, telefoni ei ole, toorest user-agenti ei ole, meie küpsiseid ei ole, vaba teksti ei ole. Puuduvad väärtused jäetakse ära, mitte ei täideta, ja kogu vektor lükatakse otse tagasi, kui ta kannab kas või ühe võtme väljaspool lubatud nimekirja.

Privaatsusmärkus, mis sisselülitamisega kaasas käib

See on seadme sõrmejälg tavalises tähenduses, ja me ei nimeta teda pehmemalt. Ta loeb külastaja seadme tunnuseid, et seda seadet uuesti ära tunda. Ta on jämedakoeline ja ta on piiratud, ja ta on ikkagi sõrmejälg.

Teie olete selle vastutav töötleja. Enne seadmekihi sisselülitamist otsustage, kas teie enda privaatsusteade ja küpsiste või jälgimise poliitika teda katavad, ja kas teie jurisdiktsioon nõuab nõusolekut seadmeinfo salvestamiseks või lugemiseks sellel eesmärgil. Meie roll on volitatud töötleja: me töötleme seda, mida teie pood saadab, teie juhiste alusel, Andmetöötluslepingu all.

Lüliti on päriselt lüliti. Väljas tähendab, et skripti ei panda kunagi järjekorda, otspunkt ei saa midagi, ja väli puudub igast kontrollist. Signaal on ilma temata madalam, sest seadmekiht on üks sisend mitme seas. Teie kliendid saavad lugeda ka meie ingliskeelset avalikustamislehte.

06

Testirežiim

Harjutage riba ilma päris pettuseta.

Kui testirežiim on teie poele Heatraili poolel sees, vormistage oma kassas tellimus aadressiga fraud-test@heatrail.eu või +372 55550666. Kontroll tuleb tagasi simuleeritud skooriga 85, põhjustega, mille ees on TEST MODE:, ja märkega TEST. Nii näete päris riba ja päris nuppe.

Testkontroll ei tekita kuumust, ei kirjuta kiirust, ei puutu võrgugraafi, ei saada hoiatust ja teda ei arveldata kunagi. Lisa enda testirežiimi linnuke näitab ainult neid juhiseid. Ilma serveripoolse liputa käsitletakse võlu väärtusi täpselt nagu kohatäiteid ja need visatakse ära, et nad ei saaks elus poes juhuslikult valet hoiatust teha.

07

Tõrge

Mis juhtub, kui me oleme maas.

Tellimus lõpeb. See on kogu vastus, ja see on selle toote ainus käitumine, mis ei ole läbiräägitav.

Mehhaaniliselt: kontroll loobub 800 ms peal, kirjutatakse kohalikku järjekorra tabelisse teie enda andmebaasis, ja tellimus läheb edasi degraded märkega. Iga minut sondib ajastatud töö esmalt /v1/health, et taastuv teenus ei saaks peksma, ja kordab järjekorras kontrolle iga kord värske allkirja ja algse idempotentsusvõtmega. PHP SDK leht joonistab selle jada välja, ja lisa on hoidla tema all.

Töö, mis ikka ebaõnnestub, taandub, kahekordistades minutist kuni tunnini katsete vahel. Pärast viitkümmet katset ta pargitakse, mitte ei kustutata, ja sätete ekraan näitab nii ootel kui pargitud arvu, sest järjekord, mis kirjeid vaikselt kaotab, on hullem kui järjekorra puudumine.

WordPressi cron käivitub saidi liiklusest, seega „iga minut“ on vaikses poes parima katse korras. Kui see teile tähtis on, ajage wp-cron päris süsteemi cronist.

Lisa all on SDK, mida saate kasutada ka otse.

Heatrail

This site is not public yet

Heatrail is in a private pre-launch period. Enter the access password to continue.

Enquiries: hello@heatrail.eu