+− THE DAILY DIFFdev & AI news
SHIP IT

ප්‍රතිචාරය අතුරුදහන් වූ විට Stripe ඔබගේ ඉල්ලීම මතක තබා ගනී

සේවාදායකයා මෙහෙයුම සම්පූර්ණ කිරීමෙන් පසු කාලයක් ඉකුත්වීමක් නිසා ගෙවීම් කටයුත්තක් අවිනිශ්චිත විය හැක.

සේවාදායකයා මෙහෙයුම සම්පූර්ණ කිරීමෙන් පසු කාලයක් ඉකුත්වීමක් නිසා ගෙවීම් කටයුත්තක් අවිනිශ්චිත විය හැක. මෙම "Under the Hood" පැහැදිලි කරන්නා Stripe API v1 හි ලේඛනගත අයිඩම්පොටෙන්සි කොන්ත්‍රාත්තුව භාවිතා කරමින් ස්ථාවර මෙහෙයුම් යතුරු, සුරකින ලද-ප්‍රතිචාර නැවත ධාවනය, පරාමිති සහ සමගාමී සීමා, රඳවා ගැනීමේ ක්ෂිතිජය සහ ප්‍රතිඵල සමථකරණය පෙන්වයි.

ලිඛිත සංස්කරණය කියවන්න (ඉංග්‍රීසි) ↗

මෙම වීඩියෝවෙන් ආවරණය වන දේ

  • අයිඩම්පොටෙන්සි යනු මෙහෙයුමක් නැවත නැවත කිරීමේ අපේක්ෂිත බලපෑම පිළිබඳවයි. Stripe API v1 ලේඛනගත සුරකින ලද-ප්‍රතිචාර නැවත ධාවනය කිරීමේ කොන්ත්‍රාත්තුවක් එක් කරයි.
  • එකම තාර්කික ක්‍රියාවක නැවත උත්සාහයක් එකම යතුර සහ පරාමිතීන් භාවිතා කරයි. වෙනම SDK ඇමතුම් හෝ යෙදුම් නැවත ආරම්භ කිරීම් හරහා මෙහෙයුම් යතුර පවත්වා ගන්න; සැබවින්ම නව ක්‍රියාවකට තමන්ගේම යතුරක් අවශ්‍ය වේ.
  • අන්ත ලක්ෂ්‍යය ක්‍රියාත්මක කිරීම ආරම්භ වූ පසු, Stripe API v1 පළමු ඉල්ලීමේ තත්ත්වය සහ 500 දෝෂ ඇතුළුව ශරීරය සුරකින අතර, නැවත උත්සාහයන් මත එම සුරකින ලද ප්‍රතිචාරය ලබා දෙයි.
  • එකම යතුර සහිත වෙනස් කරන ලද පරාමිතීන් නොගැලපීමක් ඇති කරයි. වලංගුකරණ අසාර්ථකත්වයන් සහ සමගාමී ක්‍රියාත්මක කිරීමේ ගැටුම් එම උත්සාහය සඳහා අයිඩම්පොටෙන්ට් ප්‍රතිඵලයක් සුරකින්නේ නැති අතර නැවත උත්සාහ කළ හැක.
  • Stripe API v1 යතුරු අවම වශයෙන් පැය 24ක් රඳවා තබා ගන්නා අතර ඉන් පසුව ඒවා කප්පාදු කළ හැක. නොවිසඳුණු ජාල නැවත උත්සාහයන් පළමු පැය 24ට සීමා කරන්න, ඉන්පසු මෙහෙයුම නැවත කිරීමට පෙර නතර කර සමථයකට පත් කරන්න.
  • සම්බන්ධතාවය යථා තත්ත්වයට පත් වූ පසු හැඹිලිගත 500ක් නැවත නැවතත් වාදනය විය හැක. මුල් මෙහෙයුමට අතුරු ආබාධ තිබිය හැක; එහි ප්‍රතිඵලය තහවුරු කිරීමට අදාළ වස්තුව, Dashboard ඉල්ලීම සහ webhooks භාවිතා කරන්න.
  • API v2 විවිධ නැවත ධාවන අර්ථ ශාස්ත්‍ර භාවිතා කරයි. ඊමේල්, ඉන්වෙන්ටරි සහ සෑම දේශීය දත්ත සමුදා මෙහෙයුමක් සඳහාම යතුරක් විශ්වීය වශයෙන් හරියටම එක් වරක් බෙදා හැරීම තහවුරු නොකරයි.

පරිවර්තනය කරන ලද පිටපත

මුල් ඉංග්‍රීසි නිරූපණයෙන් පරිවර්තනය කරන ලදී. පවතින ශ්‍රව්‍ය සහ ශීර්ෂ පාඨ YouTube මගින් පාලනය වේ.

කාලය ඉකුත්වීමක් ඔබේ ගෙවීම අවලංගු කළාද?

0:00 කාලය ඉකුත්වීමක් යනු ඔබේ ගෙවීම අසාර්ථක වූ බව ඔබ සිතනවා. සේවාදායකයා පිළිතුර අතුරුදහන් වන අතරතුර අවසන් කළ හැක, ඔබේ ගෙවීම් කටයුත්ත විශ්වාසයෙන් යුතුව කිසිවක් නොපෙන්වයි. නැවත උත්සාහයක් නැවත ආරෝපණය කළ හැක්කේ ඇයි? Stripe උත්සාහයක් මතක තබා ගන්නේ කෙසේද? ඔබ නැවත උත්සාහ කිරීම නැවැත්විය යුත්තේ කවදාද? සහ එක් නරක විස්තරයක් මතක තබා ගන්න. මතක තබා ගත් දෝෂයක් ජාල ගැටලුවෙන් ඔබ්බට පැවතිය හැක.

0:17 අපි ඒ ගැන නැවත එන්නම්. මෙය The Daily Diff, under the hood.

අයිඩම්පොටෙන්සි යතුරක් හඳුනා ගන්නේ කුමක්ද?

0:21 අයිඩම්පොටෙන්සි යනු මෙහෙයුමක් නැවත නැවත කිරීමෙන් එකම අපේක්ෂිත බලපෑමක් ඇති කරයි. අයිඩම්පොටෙන්සි යතුරක් එක් තාර්කික ක්‍රියාවක් ලේබල් කරයි. Stripe හි API අනුවාදය එක නැවත උත්සාහයන් මත එම ලේබලය හඳුනාගෙන සුරකින ලද ප්‍රතිචාරයක් නැවත ධාවනය කරයි. කෝපි මිලදී ගැනීමක් සිතන්න. Stripe ඔබේ ගෙවීම් ඉල්ලීම සම්පූර්ණ කරන අතර, ප්‍රතිචාරය ආපසු එන විට නැති වී යයි. පාරිභෝගිකයාට ස්පිනරයක් පෙනේ. ඔවුන්ගේ බැංකුවට වඩාත් උද්යෝගිමත් අර්ථකථනයක් තිබිය හැක. ආරක්ෂිත නොවන නිර්මාණ ඉල්ලීමකට අතුරු ආබාධ නැවත කළ හැක.

එකම යතුර නැවත උත්සාහයක් ආරක්ෂිත කරන්නේ කෙසේද?

0:45 පළමු උත්සාහයට පෙර අද්විතීය යතුරක් අමුණන්න සහ නැවත උත්සාහයන් සඳහා එය තබා ගන්න. ඔබේ යෙදුම නැවත ආරම්භ වුවහොත්, ඔබේ වාර්තාවල ඇති මෙහෙයුම සමඟ එම යතුර පවත්වා ගන්න. Stripe හි අනුවාදය එක API සඳහා, අන්ත ලක්ෂ්‍යය ක්‍රියාත්මක වීම ආරම්භ වූ පසු, පළමු ඉල්ලීමේ තත්ත්වය සහ ශරීරය සුරකිනු ලැබේ. එකම යතුර සහ පරාමිතීන් නැවත යවන්න, එවිට Stripe සුරකින ලද ප්‍රතිචාරය ලබා දෙයි. එහි රිසිට්පත නැවත ගමන් කරන අතරතුර කෝපි එලෙසම පවතී.

Stripe හරියටම සුරකින දේ කුමක්ද?

1:07 මෙන්න Stripe හි සැබෑ වචන. එකම යතුර සහිත නැවත උත්සාහයන් සුරකින ලද ප්‍රතිචාරය ලබා දෙයි, පන්සියයක දෝෂ ඇතුළුව. ලේඛන ඔබේ ශුභවාදීව නම් කරන ලද නැවත උත්සාහ කරන සහායකයාට වඩා වැඩි වැඩක් කරයි. පාරිභෝගිකයා නැවත තට්ටු කරයි. ඔබේ යෙදුම තීරණය කරන්නේ එය ඉතිරිව ඇති මිලදී ගැනීම නැවත ආරම්භ කරන්නේද නැතිනම් තවත් එකක් ආරම්භ කරන්නේද යන්නයි. සැබවින්ම නව කෝපි එකකට නව යතුරක් ලැබේ. සෑම ජාල නැවත උත්සාහයක් සඳහාම නැවුම් යතුරක් ආරක්ෂාව අසාර්ථක කරයි.

1:27 එකම යතුර සහිත විවිධ පරාමිතීන් නොගැලපීමක් ඇති කරයි.

ඉල්ලීම වෙනස් වූ විට කුමක් සිදුවේද?

1:30 පරාමිතීන් වලංගුකරණය අසාර්ථක වුවහොත්, හෝ එම යතුර සහිත තවත් ඉල්ලීමක් තවමත් ක්‍රියාත්මක වෙමින් පවතී නම්, Stripe එම උත්සාහය සඳහා අයිඩම්පොටෙන්ට් ප්‍රතිඵලයක් සුරකින්නේ නැත. එම ඉල්ලීම් නැවත උත්සාහ කළ හැක. වේගයෙන් යන ඉල්ලීමකට ගැටුමක් ලැබේ. මේවා අනුවාදය එකේ නීති. අනුවාදය දෙක වෙනස් ලෙස හැසිරේ. ශීර්ෂයකට ඔබේ පද්ධතිය හරහා හරියටම එක් වරක් බෙදා හැරීම පොරොන්දු විය නොහැක. ඊමේල්, ඉන්වෙන්ටරි සහ ඔබේ දත්ත සමුදායට එක් එක් අසාර්ථක හැසිරවීමක් අවශ්‍ය වේ.

1:52 යතුර එහි ලේඛනගත විෂය පථය තුළ මෙහෙයුම ආරක්ෂා කරයි. Stripe අනුවාදය එකේ යතුරු අවම වශයෙන් පැය විසි හතරක් රඳවා තබා ගන්නා අතර ඉන් පසුව ඒවා

මතක තබා ගත් ප්‍රතිඵලය නැවත උත්සාහ කිරීමට ආරක්ෂිත වන්නේ කොපමණ කලක්ද?

1:59 කප්පාදු කළ හැක. කප්පාදු කරන ලද යතුරකට නව ඉල්ලීමක් ක්‍රියාත්මක කළ හැක. නොවිසඳුණු නැවත උත්සාහයන් පළමු දිනය තුළ තබා ගන්න. ඉන් ඔබ්බට, මුල් ප්‍රතිඵලය නතර කර සමථයකට පත් කරන්න. සේවාදායකයාට හුස්ම ගැනීමට ඉඩ දීමට ඝාතීය පසුබැසීම සහ ජිටර් භාවිතා කරන්න. එසේ නොමැති නම් නැවත උත්සාහයන් දැවෙන කෝපි කඩයක් පිටත පෝලිමක් සාදයි. Stripe හි පුස්තකාල නැවත උත්සාහයන් හසුරුවයි, නමුත් ඔබේ පුස්තකාලයේ පෙරනිමි පරීක්ෂා කරන්න. එම ඇලෙන සුළු දෝෂය තමයි අල්ලා ගැනීම.

මතක තබා ගත් දෝෂයක් දිගටම නැවත පැමිණිය හැක්කේ ඇයි?

2:20 සම්බන්ධතාවය යථා තත්ත්වයට පත් වූ පසු හැඹිලිගත පන්සියයක ප්‍රතිචාරයක් දිගටම නැවත ධාවනය වේ. මුල් මෙහෙයුම අතුරු ආබාධ ඇති කර තිබිය හැක. වස්තු, Dashboard සහ webhooks භාවිතයෙන් එහි ප්‍රතිඵලය විසඳන්න. නව යතුරකට ක්‍රියාව නැවත කළ හැක. මට මෙය කියනවාට වඩා කියවීමට ඔබ කැමති නම්, diff සෑම උදෑසනකම ඔබේ තැපැල් පෙට්ටියට ලැබේ, dailydiff.dev හි නොමිලේ, පහත සබැඳිය.

මම මෙම කොන්ත්‍රාත්තුව සමඟ නැවත උත්සාහ බොත්තමක් යවන්නද?

2:39 තීන්දුව, under the hood. Ship it. මම සීමිත නැවත උත්සාහයන් සහ සමථකරණය සමඟ ස්ථාවර යතුරු යවන්නෙමි, ඒ නිසා ගනුදෙනුකරුවන්ට ඔබේ බෙදා හරින ලද පද්ධති අධ්‍යාපනයට අරමුදල් නොදී කෝපි ලැබේ. අදට diff එක එච්චරයි. මම Axrisi වෙතින් Niko. වගකීමෙන් යුතුව ඒකාබද්ධ කරන්න.

මූලාශ්‍ර

  1. Idempotent requestsStripe Docs
  2. Designing robust and predictable APIs with idempotencyStripe Engineering — Brandur Leach
  3. Advanced error handlingStripe Docs
  4. HTTP Semantics — RFC 9110 §9.2.2 Idempotent MethodsIETF / RFC Editor

අදාළ වීඩියෝ

under-the-hood · si · 2026 වප් 10

Shopify විසින් ඉන්වෙන්ටරි වෙන්කිරීම් MySQL වෙත ගෙන යන ලදී

Shopify සිය ඉන්වෙන්ටරි වෙන්කිරීමේ පද්ධතිය Redis සිට දැනටමත් ඉන්වෙන්ටරි ලෙජරය තිබූ MySQL දත්ත ගබඩාව වෙත ගෙන යන ලදී. තනි තනිව අගුළු දැමිය හැකි ඒකක පේළිවල සීමා සහිත තටාකයක් සමගාමී පිරික්සුම් සඳහා විවිධ ස

2:58 ↗
under-the-hood · si · 2026 බිනර 24

SAML, තිරය පිටුපස: ලිපිය ඇතුළත ඇති අත්සන

SAML මඟින් ඔබව සෑම වැඩ යෙදුමකටම පාහේ ලොග් කරන අතර, එහි අත්සන එය අත්සන් කරන XML තුළ පවතී. තිරය පිටුපස: යෙදුම, බ්‍රවුසරය සහ අනන්‍යතා සපයන්නා අතර ලොගින් නැටුම, ප්‍රකාශයක් පෙනෙන්නේ කෙසේද, සෑම බයිටයකටම එකඟ

3:02 ↗
under-the-hood · si · 2026 බිනර 23

ආකෘතියක් මිය යන විට, තිරය යට

AI ආකෘතියක් මිය යන්නේ නැත - එයට වසා දැමීමේ දිනයක් ලැබේ, සහ පසුදා උදෑසන, ඔබගේ API ඇමතුම 404ක් ආපසු ලබා දෙයි: "ආකෘතිය අත්හිටුවා ඇත, වැඩි විස්තර මෙතැනින් දැනගන්න." තිරය යට: තත්ත්ව හතරේ නල මාර්ගය (active

3:15 ↗
under-the-hood · si · 2026 බිනර 21

Claude RSA-896 සාධක කර ඇත. RSA ඇත්ත වශයෙන්ම බිඳ වැටෙන්නේ මෙහෙමයි

සැප්තැම්බර් 19 දින Anthropic ඉංජිනේරුවෙකු RSA-896 — 270-සංඛ්‍යා අභියෝගාත්මක අංකයක් — Claude, විවෘත මූලාශ්‍ර CADO-NFS sieving හි GPU port එකක් සහ දින දහයක් පුරා 2,048 idle GPUs මත ~30 GPU-වසරක් සමඟ සාධ

3:39 ↗