API, webhooks և backend Հրապարակվել է June 29, 2026 9 րոպե ընթերցում

API - առցանց վճարումների ինտեգրում մաքսային վեբկայքի համար՝ վճարային նստաշրջաններ և webhooks

Պատվերով կայքը լիարժեք վերահսկողություն է տալիս checkout-ի վրա, սակայն պահանջում է խիստ հետին պլանի պայմանագիր, կարգավիճակներ և կրկնվող իրադարձությունների մշակում:

API - առցանց վճարումների ինտեգրում մաքսային վեբկայքի համար՝ վճարային նստաշրջաններ և webhooks

Հոդվածի ֆոկուսը

API - առցանց վճարումների ինտեգրում մաքսային վեբկայքի համար՝ վճարային նստաշրջաններ և webhooksAPI, webhooks և backendpayment webhooksidempotency key վճարումներserver-side verification

Վճարային նստաշրջանը պետք է ստեղծվի հետին պլանում

Frontend-ը կարող է գործարկել checkout, բայց գումարը, արժույթը և վերջնական կարգավիճակը պետք է վերահսկվեն սերվերի կողմից:

Backend-ը ստեղծում է վճարային նստաշրջան
Կայքն ուղարկում է պատվերի մտադրություն; backend-ը հաստատում է գումարը և ստեղծում հյուրընկալված checkout նստաշրջան:

Հատուկ վեբկայքի համար՝ Laravel/Yii2 հետնամասը, React խանութի ցուցափեղկը կամ բջջային հավելվածը, անվտանգ հոսքը սկսվում է սերվերի կողմից: Հաճախորդի ինտերֆեյսը կարող է հավաքել զամբյուղը և ուղարկել վճարման մտադրությունը, սակայն հետին պլանը պետք է հաշվարկի գումարը, արժույթը, պատվերի ID-ն և ստեղծի վճարման սեսիա:

Եթե ֆրոնտենդն ինքն է որոշում գումարը կամ վճարումը հաջող է համարում redirect-ից հետո, ապա առկա են պարամետրերի փոխարինման, կրկնօրինակ պատվերների և հաջողված վճարումների կորստի ռիսկեր: Վճարման աշխատաշրջանը պետք է պահպանի ներքին ID-ն, վաճառականի պատվերի ID-ն, գումարը, արժույթը, կարգավիճակը և ժամկետը:

  • ստեղծել վճարման նստաշրջան միայն backend-ի վավերացումից հետո;
  • ֆիքսել գումարը և արժույթը checkout-ին;
  • օգտագործել հյուրընկալված checkout կամ վերահսկվող redirect;
  • մի համարեք redirect որպես վերջնական վճարման կարգավիճակ:

Idempotency-ն պաշտպանում է կրկնակի պատվերներից և վճարումներից

Վճարման ստեղծման կրկնակի հարցումը պետք է վերադարձնի նույն արդյունքը կամ վերահսկվող նոր փորձը:

Idempotency բանալին -> կայուն վճարում
Կրկնվող ստեղծման հարցումը, կրկնակի սեղմումը կամ ցանցի կրկնակի փորձը չեն ստեղծում կրկնօրինակ բիզնես օբյեկտներ:

Իրական checkout-ում օգտվողը երկու անգամ սեղմում է կոճակը, բջջային ցանցը կրկնում է հարցումը, զննարկիչը վերաբեռնում է էջը, և webhook-ը կարող է մի քանի անգամ ժամանել: Առանց անզորության, յուրաքանչյուր նման իրավիճակ կարող է ստեղծել կրկնօրինակ վճարման փորձ կամ պատվեր:

Ավելի լավ է Idempotency բանալին կապել գործողության հետ՝ ստեղծել վճարման սեսիա, մշակել webhook, ստեղծել ֆիսկալ անդորրագիր, թարմացնել CRM: Այնուհետև նորից փորձելը վերադարձնում է կանխատեսելի արդյունք, և աուդիտի հետքը ցույց է տալիս, թե ինչ է տեղի ունեցել:

  • եզակի բանալին վճարային նստաշրջան ստեղծելու համար;
  • webhook կրկնելը հետ չի փոխում վերջնական կարգավիճակը.
  • CRM/ERP թարմացումը պետք է կրկնվող լինի;
  • ձեռքով ուղղումները պետք է մտնեն աուդիտի մատյան:

Webhooks, կարգավիճակի ստուգում և համաժամացում բիզնես համակարգերի հետ

Վճարման ֆոնդը պետք է ստանա վերջնական իրադարձությունը, վավերացնի այն և այնուհետև նորմալացված կարգավիճակը հասցնի հետին պլանի համակարգերին:

Webhook -> կարգավիճակի ստուգում -> CRM/ERP
Հաստատված իրադարձության թարմացումներ վճարման վիճակի, պատվերի, CRM, ERP, հարկաբյուջետային աշխատանքային հոսքի և reconciliation queue-ի:

Webhook-ը չի կարող մշակվել սովորական ձևի նման: Դուք պետք է ստուգեք ստորագրությունը կամ կատարեք կարգավիճակի ստուգում մատակարարի վրա, համեմատեք մատակարարի տեղեկանքը, գումարը, արժույթը և պատվերի ID-ն, այնուհետև կատարեք լիազորված կարգավիճակի անցում:

Նորմալացված իրադարձությունն այնուհետև կարող է առաքվել CRM, ERP, ֆիսկալիզացիա, ծանուցումներ և հաշտեցում: Եթե ​​ներքևի համակարգերից մեկը ժամանակավորապես անհասանելի է, վճարման կարգավիճակը պետք է պահպանվի, և ինտեգրումը պետք է նորից փորձի առաքումը:

  • ստուգեք մատակարարի տեղեկանքը, գումարը և արժույթը;
  • օգտագործել պետական մեքենա կարգավիճակի անցումների համար.
  • մատուցել հերթագրված իրադարձությունները կրկնակի փորձով;
  • առանձնացնել վճարման կարգավիճակը հարկաբյուջետային և առաքման կարգավիճակից:

FAQ

Հնարավո՞ր է վճարային նստաշրջան ստեղծել frontend-ով:

Frontend-ը կարող է նախաձեռնել հարցումը, սակայն նիստը պետք է ստեղծվի backend-ի կողմից՝ պատվերը, գումարը, արժույթը և մուտքի իրավունքները ստուգելուց հետո: Հակառակ դեպքում վճարման պարամետրերը հեշտությամբ կարող են փոխվել:

Արդյո՞ք webhook-ն անհրաժեշտ է, եթե կա հաջողված էջ:

Այո՛։ Հաջողության էջը ցույց է տալիս արդյունքը հաճախորդին, բայց ավելի լավ է վերջնական բիզնես կարգավիճակը դնել webhook կամ սերվերի կողմից կարգավիճակի ստուգումից հետո:

Ի՞նչ պետք է անեմ, եթե հաջող վճարումից հետո CRM-ը հասանելի չէ:

Պահպանեք վճարովի կարգավիճակը ներքին վճարման նիստում, նորից փորձեք CRM թարմացումը և բացառություն ցույց տվեք օպերատորին միայն այն դեպքում, եթե կրկնվող փորձերը ձախողվեն: