Refund Notification
Callback notification for refund status updates.
- Status 02 (Refund Success) or 05 (Refund Fail) triggers a callback.
- Paylabs calls the
notifyUrl provided when the refund request was created.
- If no successful response, notifications are retried up to 8 times at 1s, 5s, 10s, 30s, 60s, 300s, 900s, 1800s.
URL: value of notifyUrl when sending the refund request
HTTPMethod: POST
EndpointUrl: path part of the URL, e.g. URL=https://merchant-domain.com/v2/qris/notify → Path=/v2/qris/notify
Data Signing Rules
| Field Name | Type | Value | Required |
|---|
| Content-Type | String(30) | Fixed value "application/json;charset=utf-8" | Yes |
| X-TIMESTAMP | String(29) | Current time, format 2022-09-16T16:58:47.964+07:00 | Yes |
| X-SIGNATURE | String(64) | Signature. For details please check Data Signing Rules | Yes |
| X-PARTNER-ID | String(20) | Merchant ID | Yes |
| X-REQUEST-ID | String(64) | Unique ID for each request | Yes |
Error Code
| Parameter | Type | Required | Remarks |
|---|
| requestId | String(64) | Yes | Unique identifier on every request |
| errCode | String(32) | Yes | 0 means success, otherwise see Error Code |
| errCodeDes | String(128) | No | Error description |
| merchantId | String(20) | Yes | Merchant ID |
| storeId | String(30) | No | If using branch store ID |
| paymentType | String(20) | Yes | Payment type, see Payment Type table |
| amount | Decimal(12,2) | Yes | Amount in IDR with 2 decimals |
| merchantRefundNo | String(32) | Yes | Refund number |
| merchantTradeNo | String(32) | Yes | Merchant order number |
| platformTradeNo | String(32) | No | Paylabs order number |
| createTime | String(16) | No | yyyyMMddHHmmss |
| successTime | String(16) | No | yyyyMMddHHmmss |
| status | String(2) | No | 02: Refund success, 03: Refund in progress, 06: Refund failed |
| +paymentMethodInfo | Object | No | Channel information |
| transFeeRate | Decimal(6,6) | No | Transaction rate, six decimals |
| transFeeAmount | Decimal(12,2) | No | Fee, two decimals |
| totalTransFee | Decimal(12,2) | No | Total fee rate (excl. vatFee), two decimals |
| vatFee | Decimal(12,2) | No | VAT fee, two decimals |
Data Signing Rules
| Field Name | Type | Value | Required |
|---|
| Content-Type | String(30) | Fixed value "application/json;charset=utf-8" | Yes |
| X-TIMESTAMP | String(29) | Current time, format 2022-09-16T16:58:47.964+07:00 | Yes |
| X-SIGNATURE | String(64) | Signature. For details please check Data Signing Rules | Yes |
| X-PARTNER-ID | String(20) | Merchant ID | Yes |
| X-REQUEST-ID | String(64) | Unique ID for each request | Yes |
Error Code
| Parameter | Type | Required | Remarks |
|---|
| requestId | String(64) | Yes | Unique identifier on every request |
| errCode | String(32) | Yes | 0 means success, otherwise see Error Code |
| errCodeDes | String(128) | No | Error Description |
| merchantId | String(20) | Yes | Merchant ID |
| storeId | String(30) | No | If using branch store ID |