> For the complete documentation index, see [llms.txt](https://docs.pagsmile.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.pagsmile.com/reference/remittance-api/business/collection/apply-collection-account-result-notification.md).

# Apply Collection Account Result Notification

Notifies the partner when a collection account application is reviewed and provides the latest application status and created account identifiers.

{% hint style="info" %}
This is an asynchronous notification with `notify_type` set to `100`. Correlate it with the original application by using `merchant_id` and `apply_no`.
{% endhint %}

**Delivery overview**

1. Submit an application through [Apply Collection Account](https://docs.pagsmile.com/remittance-api/business/collection/apply-collection-account).
2. Pagsmile reviews the application and sends an HTTP `POST` request to your configured webhook URL.
3. Process the notification idempotently and return an HTTP `2xx` status code to acknowledge successful receipt.
4. If reconciliation is required, retrieve the latest result through [Query Apply Collection Account Result](https://docs.pagsmile.com/remittance-api/business/collection/query-apply-collection-account-result).

**Request**

**Method:** `POST`\
**Content-Type:** `application/json`\
**URL:** Your configured webhook endpoint

The request uses the standard [Webhook Common](https://docs.pagsmile.com/remittance-api/business/webhook/webhook-common) envelope.

**Webhook envelope**

| Field         | Type    | Required | Description                                                                                                          |
| ------------- | ------- | -------- | -------------------------------------------------------------------------------------------------------------------- |
| `partner_id`  | string  | No       | Pagsmile-assigned unique identifier of the partner.                                                                  |
| `timestamp`   | string  | Yes      | <p>Date and time when the notification was generated.<br>Format: <code>yyyy-MM-dd HH:</code>​<code>mm:ss</code>.</p> |
| `version`     | string  | Yes      | <p>Remittance API webhook protocol version.<br>Fixed value: <code>1.0</code>.</p>                                    |
| `random_key`  | string  | No       | Reserved field.                                                                                                      |
| `sign_type`   | string  | No       | Reserved field. When empty, no encryption is required.                                                               |
| `request_id`  | string  | Yes      | Globally unique identifier used to trace the notification and support idempotent processing.                         |
| `notify_type` | integer | Yes      | Notification type. Fixed value: `100` for an apply-VA result notification.                                           |
| `biz_data`    | object  | Yes      | Collection account application result. See the schema below.                                                         |

**`biz_data` schema**

| Field                    | Type         | Required | Description                                                                                                                                                                                                                                               |
| ------------------------ | ------------ | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `merchant_id`            | long         | Yes      | Pagsmile-assigned unique identifier of the merchant associated with the notification.                                                                                                                                                                     |
| `apply_no`               | string       | Yes      | Merchant-defined application number used to identify and reconcile the collection account application.                                                                                                                                                    |
| `account_label`          | string       | No       | Partner-defined label used to identify the collection account.                                                                                                                                                                                            |
| `business_type`          | integer      | Yes      | <p>Business category that determines the applicable compliance and processing rules.<br>Supported values:<br><code>10</code> — Goods trade<br><code>11</code> — Service trade<br><code>20</code> — Platform<br><code>21</code> — Independent platform</p> |
| `collection_account_ids` | array\<long> | No       | List of Pagsmile-assigned unique identifiers of collection accounts created for the application.                                                                                                                                                          |
| `currency`               | string       | Yes      | Three-letter ISO 4217 code of the currency in which the collection account values are denominated.                                                                                                                                                        |
| `status`                 | integer      | Yes      | <p>Current application status.<br>See <a href="#status-values">Status values</a>.</p>                                                                                                                                                                     |
| `created_at`             | string       | Yes      | <p>Date and time when the collection account application was created.<br>Format: <code>yyyy-MM-dd HH:</code>​<code>mm:ss</code>.</p>                                                                                                                      |
| `comments`               | string       | No       | Review comments or reason for rejection or failure, when provided.                                                                                                                                                                                        |

**Status values**

| Value | Status       | Description                                                                                              |
| ----- | ------------ | -------------------------------------------------------------------------------------------------------- |
| `11`  | VA Reviewing | The virtual account application is still under review.                                                   |
| `12`  | VA Rejected  | The virtual account application was rejected. Check `comments` for additional context when available.    |
| `13`  | VA Success   | The virtual account application succeeded. `collection_account_ids` may contain the created account IDs. |
| `14`  | VA Blocked   | The virtual account application is blocked.                                                              |

**Request example**

```json
{
  "partner_id": "000000000000001",
  "timestamp": "2026-07-20 10:30:00",
  "version": "2.0",
  "random_key": "",
  "sign_type": "",
  "request_id": "f6bed39c-eecf-c1a2-afcb-ba9baec80001",
  "notify_type": 100,
  "biz_data": {
    "merchant_id": 10000001,
    "apply_no": "VA202607200001",
    "account_label": "USD collection account",
    "business_type": 10,
    "collection_account_ids": [
      20000001
    ],
    "currency": "USD",
    "status": 13,
    "created_at": "2026-07-20 10:30:00",
    "comments": "Approved"
  }
}
```

**Acknowledgement**

Return any HTTP status code from `200` through `299` after the notification has been accepted and recorded successfully. The webhook contract does not require a response body.

{% hint style="warning" %}
Return a `2xx` response only after the notification is safely recorded. Any other status code is treated as a failed delivery and triggers the retry schedule below.
{% endhint %}

**Retry policy**

When delivery does not receive a `2xx` response, Pagsmile retries the notification up to seven times using the following delays:

| Retry | Delay before retry |
| ----- | ------------------ |
| 1     | 10 seconds         |
| 2     | 1 minute           |
| 3     | 5 minutes          |
| 4     | 30 minutes         |
| 5     | 2 hours            |
| 6     | 6 hours            |
| 7     | 24 hours           |

**Implementation recommendations**

* Deduplicate notifications by `request_id`. A retried notification must not create duplicate business actions.
* Use `merchant_id` and `apply_no` to locate the original application.
* Record the payload before starting downstream processing, then return `2xx` as soon as it is safely persisted.
* Return `2xx` for a notification that has already been processed successfully.
* Reconcile uncertain or missed results through [Query Apply Collection Account Result](https://docs.pagsmile.com/remittance-api/business/collection/query-apply-collection-account-result).
* Follow [Webhook Common](https://docs.pagsmile.com/remittance-api/business/webhook/webhook-common) for the shared envelope and security-related fields.

**Related references**

* [Apply Collection Account](https://docs.pagsmile.com/remittance-api/business/collection/apply-collection-account)
* [Query Apply Collection Account Result](https://docs.pagsmile.com/remittance-api/business/collection/query-apply-collection-account-result)
* [Webhook Common](https://docs.pagsmile.com/remittance-api/business/webhook/webhook-common)
* [Webhook Type](https://docs.pagsmile.com/remittance-api/data/dictionary-item/webhook-type)
