Stripe پورسانت وابسته‌ها را ایدمپوتنت کرد تا از پرداخت مضاعف در اجرای مجدد webhook جلوگیری شود شنبه ۲۰ تیر جستجو
۱۹ تیر ۱۴۰۵خواندن 1 دقیقه🛠️,⚠️,💡

Stripe پورسانت وابسته‌ها را ایدمپوتنت کرد تا از پرداخت مضاعف در اجرای مجدد webhook جلوگیری شود

استرایپ سیستم ارسال وبهوک رو به‌صورت «حداقل یک‌بار» طراحی کرده. یعنی اگه اندپوینت شما باخطا مواجه بشه یا حتی بدون خطا هم باشه، ممکنه رویداد `invoice.paid` چندبار برسه. اگه منطق پرداخت کمیسیون وابسته‌ها روی هر بار دریافت رویداد، ردیف جدیدی اضافه کنه، یه پرداخت ممکنه دو، سه یا پنج‌بار کمیسیون به وابسته‌ها بده.

Stripe پورسانت وابسته‌ها را ایدمپوتنت کرد تا از پرداخت مضاعف در اجرای مجدد webhook جلوگیری شود

چرا مهمه؟

استرایپ وبهوک‌ها رو عمداً چندبار ارسال می‌کنه. اگه اندپوینت شما تایم‌اوت بخوره یا خطای ۵۰۰ برگردونه، همون رویداد دوباره فرستاده می‌شه — گاهی تا سه روز. حتی وقتی همه‌چیز سالمه، امکان تکرار وجود داره. هر بار که رویداد `invoice.paid` بدون بررسی تکرارپذیری پردازش بشه، یه ردیف کمیسیون جدید اضافه می‌شه. نتیجه؟ پول واقعی از حساب شما خارج می‌شه و وابسته‌ها بیش از حقشون دریافت می‌کنن.

به درد کی می‌خوره؟

توسعه‌دهنده‌های بک‌اند که با API استرایپ کار می‌کنن تیم‌های مالی و حسابداری پلتفرم‌های همکاری در فروش مدیران فنی استارتاپ‌های SaaS مهندسین نرم‌افزار که سیستم وبهوک طراحی می‌کنن

تو عمل چی کار کنیم؟

اگه سیستم پرداخت کمیسیون وابسته داری، باید منطق برابرسازی (idempotency) به کدت اضافه کنی. یعنی قبل از درج ردیف جدید، چک کنی رویداد قبلاً پردازش شده یا نه. رایج‌ترین روش، استفاده از `event.id` به‌عنوان کلید یکتاست. بدون این کار، هر وبهوک تکراری مستقیماً به ضرر مالی شما تموم می‌شه.

نظر Blue IT News

خیلی از تیم‌ها وبهوک‌ها رو فکر می‌کنن فقط یک‌بار می‌رسن و این باگ سکوت‌دار رو سال‌ها حمل می‌کنن. اگه الان کمیسیون وابسته‌ها رو دستی با صورتحساب‌ها تطبیق می‌دی، وقت اونه که یه بار دقیق حساب کنی چند ردیف اضافه افتاده.

Blue IT News — گردآوری هوشمند اخبار فناوریدرباره · منابع · RSS