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

# Batch Transfer Status Notification

> When a batch transfer order status changes, GatePay sends a webhook with `bizType` `PAY_BATCH`.

Verify the signature and return `{"returnCode":"SUCCESS","returnMessage":""}` after successful processing. On delivery failure, GatePay retries at the intervals documented in [Notifications Overview](/api-reference/version/100/en/common/asyncNotification).

## Overview

This page documents `webhook batchTransferWebhook`. The full schema, parameters, and examples are rendered from the linked OpenAPI or webhook definition above.

GatePay sends asynchronous notifications to the merchant callback URL when batch transfer order status changes (`bizType` is `PAY_BATCH`).

## Notes

* Use `merchant_batch_no` or `bizId` for idempotency.
* Signature verification, retries, parsing `data`, and the success response are covered in [Notifications Overview](/api-reference/version/100/en/common/asyncNotification); see [Security and Signature](/api-reference/version/100/en/common/securityAndSignature) for signing rules.

## Trigger Scenarios

* When a batch transfer order status changes, GatePay sends a notification to the **callback URL** configured at merchant registration
* If delivery fails, see retry rules in [Notifications Overview](/api-reference/version/100/en/common/asyncNotification).

**Scope**: Batch transfer / batch reward orders (`bizType` is `PAY_BATCH`).

## Message Structure

| Field       | Type   | Description                                                 |
| ----------- | ------ | ----------------------------------------------------------- |
| `bizType`   | string | Always `PAY_BATCH`                                          |
| `bizId`     | string | Batch order ID (may be an empty string; use actual payload) |
| `bizStatus` | string | Batch order status; see table below                         |
| `client_id` | string | Merchant `client_id` that created the order                 |
| `data`      | string | Business payload as a JSON string                           |

### Example Message

```json theme={null}
{
  "bizType": "PAY_BATCH",
  "bizId": "79553020665790540",
  "bizStatus": "PAID",
  "data": "{\"batchItemList\":[{\"amount\":\"0.12300000\",\"channel_id\":\"\",\"create_time\":1780017207390,\"currency\":\"USDT\",\"receiver_id\":22112573,\"status\":\"PAID\"}],\"merchant_batch_no\":\"K4t1ijqX1LYRYmlp\"}"
}
```

## bizStatus Enumeration

| Value  | Description                           |
| ------ | ------------------------------------- |
| `PAID` | Batch transfer/reward order completed |

## data Field Reference

| Field               | Type   | Description               |
| ------------------- | ------ | ------------------------- |
| `merchant_batch_no` | string | Merchant batch number     |
| `batchItemList`     | array  | Batch transfer line items |

### batchItemList Item Fields

| Field         | Type   | Description                          |
| ------------- | ------ | ------------------------------------ |
| `amount`      | string | Line item amount                     |
| `channel_id`  | string | Customer name / channel identifier   |
| `create_time` | int64  | Creation time (milliseconds)         |
| `currency`    | string | Currency                             |
| `receiver_id` | int64  | Receiver UID                         |
| `status`      | string | Line item status, for example `PAID` |

## Callback Example

### Batch transfer completed (`bizStatus=PAID`)

```json theme={null}
{
  "bizType": "PAY_BATCH",
  "bizId": "79553020665790540",
  "bizStatus": "PAID",
  "data": "{\"batchItemList\":[{\"amount\":\"0.12300000\",\"channel_id\":\"\",\"create_time\":1780017207390,\"currency\":\"USDT\",\"receiver_id\":22112573,\"status\":\"PAID\"}],\"merchant_batch_no\":\"K4t1ijqX1LYRYmlp\"}"
}
```


## OpenAPI

````yaml /api-reference/version/100/en/openapi/batch-transfer-callback-openapi.json webhook batchTransferWebhook
openapi: 3.1.0
info:
  title: GatePay Batch Transfer Callback API
  version: 1.0.0
  description: >-
    Asynchronous notifications for batch transfer (batch reward) order status
    changes. When a batch transfer order status changes, GatePay sends a
    notification to the merchant callback URL; `data` is a JSON string.
servers:
  - url: https://openplatform.gateapi.io
    description: Production
security: []
paths: {}

````