# Екі сатылы төлем жүргізу құрылымы

#### Төлем жүргізу қадамдары

1. Әріптес Клиенті Is\_hold = true параметрін көрсете отырып, Мерчант жобасында төлем жасауға сұрау салады
2. Жоба транзакцияны жасауға сұрау жібереді
3. Жоба төлем бетінің URL-ін алады
4. Жоба клиентті төлем бетіне қайта бағыттайды
5. Клиент карта деректерін енгізіп, «Төлеу» батырмасын басады
6. Төлем жүйесі сұрау алады, егер транзакцияны құру кезінде confirm\_url параметрі көрсетілсе, төлем жүйесі Мерчант жобасына сұрау салады
7. Жоба confirm\_url параметрінде көрсетілген мекенжай бойынша жауап береді. Егер жоба «200»-ден ерекшеленетін http-кодпен жауап берсе, транзакция үзіледі
8. Төлем жүйесі қаражатты бұғаттауға банкке сұрау жібереді
9. Төлем жүйесі банктен транзакция мәртебесі көрсетілген жауап алады
10. Төлем жүйесі төлем бетінде чекті шығарады
11. Төлем жүйесі жобаға транзакция мәртебесін callback\_url параметрінде көрсетілген мекенжайға жібереді
12. Мерчант жобасы API немесе ЖК қолдана отырып, қаражатты есепті шығарады немесе қаражатты бұғаттаудан бас тартады
13. Төлем жүйесі қаражатты есептен шығаруға немесе бұғаттаудан бас тарту үшін банкке сұрау жібереді

{% hint style="warning" %}
Белгілі бір уақыт өткеннен кейін қолма-қол ақшаны автоматты түрде есептен шығару жүзеге асырылады, осы кезеңді орнату ЖК-те жүзеге асырылады және 3-тен 13 күнге дейін болуы мүмкін
{% endhint %}

{% hint style="info" %}
Барлық бұғатталған қаражатты есептен шығару немесе жою **қол жетімді**
{% endhint %}

#### UML-төлем жүргізу диаграммасы

<img src="https://content.gitbook.com/content/ager3BTqqtHW8FLQ3EdR/blobs/WIFV1y2J08ZgspUFfzfX/file.excalidraw.svg" alt="" class="gitbook-drawing">
