Payment Processing¶
In the process of payment, the QIWI system is consistently following steps:
- Get the status of the subscriber and extra parameters of payment without registering the payment.
- Check the status of the subscriber and extra parameters of payment, and register the payment.
- Confirm the payment.
The provider needs to implement processing requests on each of these steps.
Sequence diagram for the payment process is displayed on the following scheme:
%%{init: {
"sequence" : {
"messageFontSize":14,
"noteFontSize":14,
}}}%%
sequenceDiagram
participant qiwi as QIWI
participant prv as Provider
qiwi->>prv:Get the status of the subscriber and extra parameters of payment<br/>without registering the payment ("getInfo" request)
Note right of qiwi: command=getInfo, prv_id (optional), account, ccy, sum (optional), additional fields (optional)
prv->>qiwi:Response with result of the status check
Note left of prv: result, additional fields (optional)
qiwi->>prv:Check the status of the subscriber and extra parameters of payment,<br/>and register the payment ("check" request)
Note right of qiwi: command=check, txn_id, account, ccy, sum, prv_id (optional), additional fields (optional)
prv->>qiwi:Response with check result
Note left of prv: osmp_txn_id, result, additional fields (optional)
qiwi->>prv:Confirm the payment ("pay" request)
Note right of qiwi: command=pay, txn_id, txn_date, account, ccy, sum, prv_id (optional), additional fields (optional)
prv->>qiwi:Response with result of the payment confirmation
Note left of prv: osmp_txn_id, prv_txn, sum, result, additional fields (optional)
The QIWI element on the diagram represents a combination of participants engaged in the payment process.
Format of the requests and responses is described in the protocol.