# IPN callback

IPN URL: Use for Merchant to receive payment result and process business workflow.&#x20;

Method: POST

Content-type: application/json

#### Body

<table><thead><tr><th width="98">Level</th><th width="188">Field Name</th><th>Data Type</th><th>Description</th></tr></thead><tbody><tr><td>1</td><td>data</td><td>Alphanumeric<br><em><mark style="color:blue;">mandatory</mark></em></td><td>Base-64 string</td></tr><tr><td>1</td><td>signature</td><td>Alphanumeric<br><em><mark style="color:blue;">mandatory</mark></em></td><td>Response Signature</td></tr></tbody></table>

#### Data (Decode Base-64 String)

<table><thead><tr><th width="96">Level</th><th width="183">Field Name</th><th>Data Type</th><th>Description</th></tr></thead><tbody><tr><td>1</td><td>requestId</td><td>Alphanumeric(50)<br><em><mark style="color:blue;">mandatory</mark></em></td><td>Original Request ID</td></tr><tr><td>1</td><td>responseDateTime</td><td>Numeric(14)<br><em><mark style="color:blue;">mandatory</mark></em></td><td>yyyyMMddHHmmss</td></tr><tr><td>1</td><td>responseCode</td><td>Numeric(3)<br><em><mark style="color:blue;">mandatory</mark></em></td><td>See Response Code Table for detail</td></tr><tr><td>1</td><td>responseMessage</td><td>Alphanumeric(250)<br><em><mark style="color:blue;">mandatory</mark></em></td><td>Response message</td></tr><tr><td>1</td><td>responseData</td><td>JSON Object<br><em><mark style="color:blue;">mandatory</mark></em></td><td>Response data</td></tr><tr><td>2</td><td>orderNo</td><td>Alphanumeric<br><em><mark style="color:blue;">mandatory</mark></em></td><td>Reference number tagged to a Payment Link, which is returned in the step of creating a payment link</td></tr><tr><td>2</td><td>orderReference</td><td>Alphanumeric<br><em><mark style="color:blue;">optional</mark></em></td><td>Your order reference</td></tr><tr><td>2</td><td>orderAmount</td><td>Numeric(16)<br><em><mark style="color:blue;">mandatory</mark></em></td><td>Transaction Amount</td></tr><tr><td>2</td><td>extraData</td><td>JSON Object<br><em><mark style="color:blue;">optional</mark></em></td><td>Customer information</td></tr><tr><td>3</td><td>fullName</td><td>Alphanumeric(50)<br><em><mark style="color:blue;">optional</mark></em></td><td>Information input at Payment page</td></tr><tr><td>3</td><td>phone</td><td>Alphanumeric(50)<br><em><mark style="color:blue;">optional</mark></em></td><td>Information input at Payment page</td></tr><tr><td>3</td><td>email</td><td>Alphanumeric(50)<br><em><mark style="color:blue;">optional</mark></em></td><td>Information input at Payment page</td></tr><tr><td>3</td><td>shippingAddress</td><td>Alphanumeric(50)<br><em><mark style="color:blue;">optional</mark></em></td><td>Information input at Payment page</td></tr></tbody></table>

```
{
  "data": "eyJyZXF1ZXN0SUQiOiJjYWRlYjBmZC1iNTZhLTQyYWMtYWFmZC1iNjhjZjdiYTgzNDQiLCJyZXNwb25zZURhdGVUaW1lIjoiMjAyMzA3MTExNDQ0MDgiLCJyZXNwb25zZUNvZGUiOiIyMDAiLCJyZXNwb25zZU1lc3NhZ2UiOiJHaWFvIGThu4tjaCB0aGFuaCB0b8OhbiB0aMOgbmggY8O0bmcuIiwicmVzcG9uc2VEYXRhIjp7InRyYW5zYWN0aW9uSUQiOiIyMzA3MTE1MDg4ODIxNzQ3MzI2NjMyNDc5Iiwib3JkZXJJRCI6IjMyNTgyMDIzMDcxMTE2ODkwNjEzNTgyNDkiLCJvcmRlck51bWJlciI6ImQwMWYyNTZjZjA4MzQ5M2VhZThkNzIxMWYzM2ZkMjU4Iiwib3JkZXJBbW91bnQiOiIxMTMwMCIsIm9yZGVyRGVzY3JpcHRpb24iOiJtdWEgaGFuZyBvbmxpbmUiLCJvcmRlckN1cnJlbmN5IjoiVk5EIiwib3JkZXJEYXRlVGltZSI6IjIwMjMwNzExMTQ0MzE2IiwiZXh0cmFEYXRhIjp7ImZ1bGxOYW1lIjoiYmluaCB0ZXN0IGxhaSIsInBob25lIjoiMDc3NDc1NDMyMyIsImVtYWlsIjoiYmluaGhudEBnYWxheHlwYXkuY29tIiwic2hpcHBpbmdBZGRyZXNzIjoia2hhIHZhbiBjYW4iLCJwYXltZW50TGluayI6Imh0dHBzOi8vdWF0LXMuZ2FsYXh5cGF5LnZuL2REdXd0RzI4bnJiQ1VXVHo5In0sImxhbmd1YWdlIjoidmkifX0=",
  "signature": "7dc0ad01ccdbdf5dca8031015bfc7d152bc953ccb36ac4997f5e4964e8756438"
}

Signature = Hex(Sha256(data + key))

Decode Base-64 string

{
  "requestId": "a6f3ef642d304098a45cf0597d9ebc12",
  "responseDateTime": "20230711145712",
  "responseCode": "200",
  "responseMessage": "SUCCESS",
  "responseData": {
    "orderNo": "3258202307111689061358249",
    "orderReference": "TS1909",
    "orderAmount": 11300,
    "extraData": {
      "fullName": "John Joe",
      "phone": "0774751234",
      "email": "john@gmail.com",
      "shippingAddress": "kha van can",
      "paymentLink": "https://uat-s.galaxypay.vn/dDuwtG28nrbCUWTz9"
    }
  }
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.galaxypay.vn/upc/payment-link/ipn-callback.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
