| | 1 | == Flow на плаќање на соопштение за плаќање од страна на родител |
| | 2 | ==== Актери: Најавен родител ==== |
| | 3 | |
| | 4 | |
| | 5 | 1. При секое одобрено соопштение за плаќање, има копче кое што може да се плати. |
| | 6 | 2. Откако ќе се кликне на копчето плати, прво се креираа плаќање: |
| | 7 | {{{ INSERT INTO Plakjanje( status, tx_hash, valuta, plateno_Na, iznos, platenoOdRoditel_Id, soopstenie_za_plakjanje_id, created_at) VALUES(CAST(:status AS payment_status), :tx_hash, :valuta, :plateno_Na, :iznos, :platenoOdRoditel_Id, :soopstenie_za_plakjanje_id, :created_at) RETURNING id;}}} |
| | 8 | |
| | 9 | 3. Откако ќе се кликне на плати, frontend праќа transaction hash. кој што се зачувува во база: |
| | 10 | {{{UPDATE Plakjanje SET tx_hash = :tx_hash, status = CAST(:status AS payment_status), plateno_Na = :plateno_Na WHERE id = :id}}} |
| | 11 | |
| | 12 | 4.Потоа се проверува дали трансакцијата се наоѓа на мрежата. Доколку е валидна т.е. се наоѓа на мрежата, се сетира статусот во ODOBRENO во базата: |
| | 13 | {{{UPDATE Plakjanje SET status = CAST(:status AS payment_status) WHERE id = :id}}} |
| | 14 | 5. На крајот се повикува complete payment каде што се сетира статусот на ZAVRSENO и времето на плаќање {{{UPDATE Plakjanje SET status = CAST(:status AS payment_status), plateno_Na = :plateno_Na WHERE id = :id}}} |
| | 15 | 6. Освен ова, се проверуваат confirmations од nodes на мрежата. |
| | 16 | Т.е. Доколку минималниот број на confirmations е помал, тогаш се сетира статусот на FAILED. |