Интеграциялар · төлемдер · брондау
Брондау платформасында онлайн-төлемді қабылдау
Клиент:
NDA
Санат: Интеграциялар
Стек: PHP (өз backend), төлем шлюзі, webhook, кезектер
Мерзім: 2–3 апта
Мәселе
Алдын ала төлемсіз брондау мәселеге айналатын: кейбір клиенттер келмейтін, ал әр тапсырыс бойынша төлемді қолмен салыстыру қолдау қызметіне түсетін.
Шектеулер
Шлюзден қайталанған немесе кешіккен webhook хабарламаларында төлем мәртебесін жоғалтпай, ішінара және толық төлемдер мен брондауды болдырмаған кездегі қайтаруларды өңдеу керек болды.
Не істедім
- Брондау рәсімделгенде сома мен мақсатты бере отырып төлем жасау
- Қолтаңбаны тексерумен төлем туралы webhook хабарламаларын қабылдау
- Қайталанған хабарламаларды идемпотентті өңдеу — брондау мәртебесі қайталанбайды және «секірмейді»
- Брондауды болдырмаған кездегі мәртебені синхрондаумен қайтарулар
- Қолдау қызметінің қолмен жұмысынсыз «брондау ↔ төлем» салыстыруы
Архитектура
Брондау
→ Төлем шлюзі
→ Webhook қабылдағыш
→ Идемпотентті өңдеуші
→ Брондау мәртебесі
Нәтиже
Брондау төлемі ашық болды: клиент рәсімдеу орнында төлейді, брондау мәртебесі автоматты жаңарады, ал қолдау қызметі енді төлемдерді қолмен салыстырмайды.
Нені қайта қолдануға болады
Төлем шлюзінің идемпотентті webhook өңдеушісі
Ішінара төлем және қайтару логикасы
Қолмен жұмыссыз брондау мен төлемді салыстыру