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

# Recharge Result Webhook

> Asynchronous notification of a completed merchant balance recharge (top-up).

<Note>
  Notifications are retried over a 24-hour window with progressively longer intervals. Respond with HTTP `200` to acknowledge receipt. If no successful acknowledgement is received by the end of the 24-hour window, notifications stop. You can always query the credited entry via [Transaction History](/api/accounting/transaction-history).
</Note>

```
POST {callbackUrl}
```

When Gcashier Pay credits your merchant balance through an offline or operational recharge, it POSTs this webhook to the `callbackUrl` configured for the recharge notice. Decrypt and verify the envelope using the process in [Receiving Webhook Notifications](/concepts/webhooks). Treat `batchNo` as the idempotency key so a retry does not credit your books twice.

### Webhook Payload

<ResponseField name="merchantNo" type="string">
  Merchant number.
</ResponseField>

<ResponseField name="merchantName" type="string">
  Merchant name.
</ResponseField>

<ResponseField name="curType" type="string">
  Recharge currency. ISO 4217 code (e.g. `USD`, `HKD`, `CNY`). See [Currency Codes](/api/reference/enum-currencies).
</ResponseField>

<ResponseField name="batchNo" type="string">
  Recharge order number. Use this value to correlate the notice with your internal records and to ignore duplicate deliveries.
</ResponseField>

<ResponseField name="amount" type="number">
  Recharge amount in `curType`. Two decimal places.
</ResponseField>

<ResponseField name="actualAmt" type="number">
  Amount actually credited to your available balance in `curType`. Two decimal places. This may differ from `amount` when fees or partial credit apply — book against `actualAmt`.
</ResponseField>

<ResponseField name="rechargeTime" type="number">
  Time the funds arrived, as a Unix timestamp in milliseconds (13-digit).
</ResponseField>

<ResponseField name="remark" type="string">
  Optional free-text memo attached to the recharge.
</ResponseField>

<RequestExample>
  ```json Webhook Payload theme={null}
  {
    "merchantNo": "M123456789",
    "merchantName": "Acme Trading Limited",
    "curType": "USD",
    "batchNo": "RA202406180001",
    "amount": 10000.00,
    "actualAmt": 10000.00,
    "rechargeTime": 1718700000000,
    "remark": "Bank wire top-up"
  }
  ```
</RequestExample>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.