> For the complete documentation index, see [llms.txt](https://docs.qoop.ng/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.qoop.ng/merchant-integration/payment-flow.md).

# Payment Flow

Integrating QOOP with an existing website is extremely easy and can be achieved with a few simple steps. At a high level you want to achieve the following:

* POST transaction details to load the **QOOP&#x20;*****PayExpress***
* Calculate a request hash to ensure transaction integrity
* Provide a URL which QOOP would post back the authorization response
* Query the transaction details directly from QOOP *Get Transaction Endpoint* to ensure the actual transaction amount was approved.

<div align="center"><img src="https://2160086753-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LeMHTEOsqEaNX51Zwlo%2F-LmPf1RAoato_K-ZvtA7%2F-LmPg3RHtb4LSQPMlyJl%2Fpayment%20leg.png?alt=media&amp;token=c70db504-97a4-4219-ae26-c411c4ab7f25" alt=""></div>

**Step 1**\
`POST` is made with Transaction parameters to the QOOP payment endpoint. This is known as the beginning of the **payment leg**.

**Step 2**\
A `RESPONSE` is sent from the payment endpoint.

**Step 3**\
The merchant’s website initiates a `GET` request to the payment confirmation endpoint requesting the status of the concluded transaction. This is the beginning of the *getTransaction* leg.

**Step 4**\
&#x20;A `RESPONSE` is sent from the confirmation endpoint containing the status of the transaction.

The only requirement is to `POST` data to the QOOP server. The next section describes how to create this `POST`.
