---
# System prepended metadata

title: participant "everpro-wallet" a

---

```plantuml
actor "user" as user
participant "everpro-wallet" as wallet
participant "everpro-payment" as payment
participant "everpro-logistic-client" as elc

user -> wallet : pay with popcash
wallet -> wallet : begin db transaction
wallet -> wallet : create mutation
wallet -> payment : update status payment (with context.Background())
payment -> elc : generate awb (with goroutine)
wallet -> wallet : context timeout 10s
wallet -> wallet : rollback triggered because context timeout
wallet -> user : error but payment is paid
```