> ## Documentation Index
> Fetch the complete documentation index at: https://docs-en.basswallet.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Payment (Webhook)

> The platform actively sends requests to merchants to notify them in real-time about updates to payment orders.

### Endpoint

**POST** `Callback URL configured by the merchant`

<Tip>
  When a user makes a payment for a payment order, the platform will trigger two callbacks. If the user does not complete the payment within the order's expiration time, a callback will be sent with an expired status.
</Tip>

***

### Request Parameters

| Parameter        | Data Type | Required | Description                                          |
| ---------------- | --------- | -------- | ---------------------------------------------------- |
| **webhookType**  | `String`  | Yes      | Webhook type, set to `Payment`.                      |
| **id**           | `String`  | Yes      | Order ID.                                            |
| **status**       | `String`  | Yes      | Order status. See the order status enum for details. |
| **chainName**    | `String`  | Yes      | Blockchain name.                                     |
| **tokenName**    | `String`  | Yes      | Token name.                                          |
| **fromAddress**  | `String`  | Yes      | Sender's address.                                    |
| **toAddress**    | `String`  | Yes      | Recipient's address.                                 |
| **txHash**       | `String`  | Yes      | On-chain transaction hash.                           |
| **amount**       | `String`  | No       | Payment amount set by the merchant.                  |
| **amountActual** | `String`  | Yes      | Actual amount paid by the user.                      |
| **amountUSD**    | `String`  | Yes      | Actual amount paid in USD.                           |
| **businessId**   | `String`  | No       | Merchant-defined order ID.                           |
| **timestamp**    | `Long`    | Yes      | UNIX timestamp (in milliseconds).                    |

***

### Request Parameters (When Order is Expired)

| Parameter       | Data Type | Required | Description                         |
| --------------- | --------- | -------- | ----------------------------------- |
| **webhookType** | `String`  | Yes      | Webhook type, set to `Payment`.     |
| **id**          | `String`  | Yes      | Order ID.                           |
| **businessId**  | `String`  | No       | Merchant-defined order ID (if any). |
| **status**      | `String`  | Yes      | Order status, set to `Expired`.     |
| **timestamp**   | `Long`    | Yes      | UNIX timestamp (in milliseconds).   |

***

### Request Example

```json theme={null}
{
    "amount": "10.88",
    "amountActual": "10.88",
    "amountUSD": "10.11",
    "blockConfirmNum": 1,
    "blockHigh": 51259775,
    "chainName": "Tron",
    "fromAddress": "TKjLDbk7LC9NXzRBCYahKa8pzMHRfahJjn",
    "id": "603277493897662464",
    "status": "WaitingConfirmation",
    "toAddress": "TTSgF6XEd1TbEH3fPuC4Zypn7UZsxetEcH",
    "tokenName": "USDT",
    "txHash": "a43d0157e327da5fe5912e5ff91939a4c142cfa1ebedea0a40b4e118d35425d2",
    "webhookType": "Payment",
    "timestamp": 1729476831813
}
```
