> For the complete documentation index, see [llms.txt](https://intella2.gitbook.io/scan2pay/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://intella2.gitbook.io/scan2pay/api-callback.md).

# Payment Notification

**To get notification of transaction result, merchant has to create a receiving API, and provide a URL with following spec:**

`https://<domain>/notifyMerchant`

## Request

| Item         | Data Type | Sample      | Description                                                                                                                      |
| ------------ | --------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------- |
| MchId        | String    | Account0001 | Merchant ID                                                                                                                      |
| Result       | String    | 0000        | [Transaction Status Code](https://intella2.gitbook.io/scan2pay/~/edit/drafts/-L_RhHH-JdlFCMIfEWGU/appendix/scan2pay-error-codes) |
| StoreOrderNo | String    | PO0101001   | Store order number                                                                                                               |
| TotalFee     | String    | 100         | Transaction amount                                                                                                               |
| Sign         | String    |             | Use the public key provided by intella for verification                                                                          |

{% hint style="info" %}
Sign: Use the public key provided by intella for verification (Please note: use the correct public key for staging/production server).
{% endhint %}

## **Signature Verification**

1. Remove the “Sign” filed from the original response JSON. Save the content of the “Sign” filed for step 2.
2. Do a base64 decode of the content of the “Sign” field. Replace the unicode-encoded characters with their original ASCII characters prior to the base64 decode. For example, replace "\u003d" by “=”.
3. Verify the JSON data from step 1 with the sign data from step 2 by the RSA public key provided by intella with SHA256 algorithm.
