IOSOR Žinios

Pasikartojantis webhook neturi sukurti antro debeto

Klaidos kelias: pakartojimai lieka nekintami prepaid pinigams ir gautiesiems — vienas įvykio ID, viena debeto eilutė, viena gautųjų linija.

Pristatymas bent vieną kartą kartos bandymus. Pasikartojantis webhook, kuris atsiunčia antrą debetą arba antrą gautųjų eilutę, yra pinigų bei operacijų incidentas, o ne nekaltas patvirtinimas. Šis puslapis yra klaidos kelias: pakartojimai išlieka nekintami prepaid pinigams ir gautiesiems — tai nėra API siuntimo nekintamumo esė ar įeinančių SMS pakartojimo vadovas.

Susiję: Parašo ir pakartojimo lango vartai, Webhook sutartis prieš pirmo siuntimo pradžią, debeto eilutė ir pristatymo statusas tame pačiame ledger.

IOSOR yra baltosios etiketės prepaid sistema. 20 JAV dolerių finansuoja pakartotinio įvykio testą vienam vartotojui, o švelni peržiūra ties 1000 USD per mėnesį laiko pakartojimą skola.

Nekintamumas yra klaidos kelias, o ne šūkis

Sėkmingas kelias priima vieną pasirašytą įvykį, vieną patvirtinimą ir vieną debetą. Klaidos kelias sudegina pasitikėjimą pasirodžius delsioms, 5xx klaidoms ar tiekėjo pakartojimams. Išsaugokite nekintamumo raktą iš sutarties prieš bet kokius šalutinius poveikius registre ar CRM. Švelnus 1000 USD mėnesinis limitas traktuoja naujų raktų išgalvojimą kaip skolą, o 20 dolerių įrodo, kad priverstinis pakartojimas niekada padvigubina pinigų.

Kas laikoma pasikartojimu

Signalas Laikyti pasikartojimu, kai Saugus rezultatas
Įvykio ID Tas pats ID jau priimtas lange Patvirtinti; nėra antro debeto
Pranešimo ID Tas pats pranešimas jau susietas Pakartotinai naudoti eilutę; nėra naujo mokesčio
Gautųjų raktas Tas pats MO/MT jau užregistruotas Nėra antros gautųjų linijos
Už lango ribų Senas pakartojimas po vartų atmetimo Atmesti; nėra pinigų ar statuso įrašymo
Nežinomas tipas Nėra sutartų įvykių sąraše Atmesti; nėra išgalvotos sėkmės

Parašo ir pakartojimo lango vartai sprendžia dėl autentiškumo ir šviežumo. Šis puslapis tvarko tai, kas nutinka po galiojančio dublikato.

Pinigai negali judėti du kartus

Antras debetas tam pačiam įvykio ID yra klaida, net jei produktas vis tiek rodo sėkmingą pristatymą. Finansai filtruoja pagal ID ir mato lygiai vieną prepaid eilutę tam UTC langui. Daliniai šalutiniai poveikiai po patvirtinimo sukuria pavojingą dvigubą tiesą. Jei apdorojimas užstringa po išsaugojimo, paleiskite darbuotoją iš naujo naudodami tą patį raktą.

Gautieji taip pat negali dvigubėti

Nekintamumas liečia ne tik pinigus bei registrus. Pakartotas gaunamas įvykis, atveriantis antrą gautųjų giją, išmoko palaikymą vaikytis vaiduoklius ir gali sukelti automatinio atsakymo ciklus. Išsaugokite gautųjų raktą su tuo pačiu įvykio ID, naudojamu debetui. Produktas ir finansai dalijasi viena atmetimo kalba.

Pirkėjo kontrolinis sąrašas pasikartojimui saugiems webhook

Patikrinkite, ar nekintamumo raktai išsaugomi prieš bet kokius išorinius skambučius. Įsitikinkite, kad finansinės ataskaitos skaito registrą, o ne programos pranešimus. Išbandykite priverstinius pakartojimus su mažomis sumomis prieš gamybinę apkrovą. Niekada negeneruokite naujo rakto tik todėl, kad tinklo užklausa vėlavo.

Pradėkite nuo IOSOR

Priverskite vieną pasirašytą pakartojimą lange koridoriuje, kuris jau nuskaičiavo. Eksportuokite įvykio id šalia knygos id ir įrodykite vieną debeto eilutę bei vieną gautųjų eilutę. Jei pasirodo antras debetas, sustabdykite tą vartotoją ir grąžinkite papildomą eilutę — neįskaitykite vėlesniu srautu. Šie vartai — pakartojimo pinigai, ne E.164 tikrinimas ir ne siuntos tekstas.

IOSOR santrauka

Pakartojimas nėra naujas siuntimas. Vienas įvykio id rašo vieną debetą.

Darykite: laikykite parašą ir pakartojimo langą, tada įrodykite vieną debetą po POST lange. Nedarykite: nuskaičiuoti kiekvieną POST ar laikyti tinklo bandymą antra sąskaita.

Ar šis vadovas buvo naudingas?

Susiję vadovai