اگر درگاه پرداخت Callback را دوبار بفرستد چه میشود؟ | جلوگیری از پردازش تکراری پرداخت در Django
Ali Samadzadeh | Full-Stack Developer
0:00 / 0:00
اگر درگاه پرداخت Callback را دوبار بفرستد چه میشود؟ | جلوگیری از پردازش تکراری پرداخت در Django
1 просмотр · 9 дней назад
Ali Samadzadeh | Full-Stack Developer
3 подписчика
1 просмотр · 9 дней назад
در این ویدیو بررسی میکنیم اگر درگاه پرداخت Callback را دوباره ارسال کند، یا کاربر صفحه بازگشت از بانک را Refresh کند، Backend چطور باید جلوی پردازش تکراری یک پرداخت موفق را بگیرد.
در پروژه YadakMarketOnline برای حل این مسئله از این موارد استفاده شده:
transaction.atomic
select_for_update()
Idempotent Callback
نکات اصلی این ویدیو:
چرا Callback تکراری میتواند خطرناک باشد
چطور PaymentTransaction با select_for_update() کنترل میشود
چرا خود Order هم Lock میشود
نقش شرط SUCCESS در جلوگیری از پردازش دوباره
چطور Confirm سفارش و Side Effectها فقط یکبار اجرا میشوند
کد کامل پروژه روی GitHub:
github.com/alisamadzadeh46/YadakMarketOnline