ARCA & EPG Payment Proxy API
Միասնական backend proxy՝ ARCA և EPG վճարային ինտեգրումների համար
FastAPI-ի վրա կառուցված բարձր արտադրողականությամբ Proxy API, որը միջնորդի դեր է կատարում վաճառողների և հայկական վճարային համակարգերի (ARCA և EPG) միջև։ Այն ապահովում է անվտանգ գործարքների գրանցում, վերադարձներ, պատվերների հետագծում և P2P փոխանցումներ։
Տեխնոլոգիական փաթեթ
Խնդիր
Մի քանի վճարային gateway-ների հետ աշխատանքը հանգեցնում էր կոդի զգալի կրկնության։ Ավելին, JSON և form data-ի միաժամանակյա մշակումը առաջացնում էր HTTP stream-ի սպառման չմշակված bug-եր, որոնք բեռնվածության պայմաններում հանգեցնում էին 500 Internal Server Error սխալների։
Լուծում
Իրականացվել է միասնական HTTP client՝ Factory և Strategy դիզայն pattern-ների կիրառմամբ։ Մշակվել է խելացի FastAPI dependency՝ JSON կամ form data-ն ավտոմատ և անվտանգ եղանակով արտահանելու համար՝ առանց հարցման stream-ը սպառելու, ապահովելով տվյալների հուսալի parsing։
Տեխնիկական ներդրում
Ամբողջությամբ refactoring եմ արել հիմնական API client-երը՝ վերացնելով կրկնվող տրամաբանությունը (DRY)։ Գրել եմ ընդհանրացված decorator-ներ և dependency-ներ վաճառողների վալիդացիայի համար։ Լուծել եմ request stream-ի կրիտիկական bug-երը և իրականացրել եմ upstream սխալների հուսալի մշակում։
Ճարտարապետություն
Ասինխրոն (async-first) ճարտարապետություն՝ FastAPI, SQLAlchemy (AsyncSession) և HTTPX-ի կիրառմամբ չարգելափակող արտագնա հարցումների համար, առանձնացված մաքուր Service Layer pattern-ի միջոցով։
Կատարողականություն
HTTPX-ի միջոցով ասինխրոն արտաքին հարցումները զգալիորեն նվազեցնում են I/O ուշացումը, իսկ օպտիմալացված request body քեշավորումն ապահովում է, որ API-ն կարողանա մշակել բարձր թողունակությամբ թրաֆիք՝ առանց հիշողության արտահոսքերի։
Անվտանգություն
Ապահովում է վաճառողի հավատարմագրերի խիստ վալիդացիա և գաղտնաբառերի գաղտնագրում։ Upstream API-ի խափանումները և firewall timeout-ները մշակվում են կանոնավոր կերպով՝ կանխելով զգայուն տվյալների արտահոսքը և վերադարձնելով ստանդարտացված JSON սխալներ։
Տեղակայման մոդել
Ամբողջությամբ կոնտեյներացված է Docker և Docker Compose-ի միջոցով, ինչը ծայրահեղ հեշտացնում է տեղակայումը և ինտեգրումը ցանկացած գոյություն ունեցող microservice էկոհամակարգում։
Արդյունք
Մատուցվել է բարձր մասշտաբավորվող, bug-երից զերծ proxy ծառայություն, որը կտրուկ կրճատում է նոր վաճառողների միացման ժամանակը՝ հնարավորություն տալով նրանց միանալ հայկական վճարային gateway-ներին մեկ, մաքուր API-ի միջոցով։