---
title: Notification - API Virtual Account SNAP
slug: en/nicepay-api-snap-notification-virtual-account
description: Information about Notification - API Virtual Account SNAP available on the NICEPAY system
image: https://archbee-image-uploads.s3.amazonaws.com/ZHvSjR5ZrsoxwKbJa3xmo/hykZoS1af_bObrgZm7hud_microsoftteams-image.png
icon: {"faIcon":"fa-solid fa-book"}
docTags: 
createdAt: 2023-05-04T03:09:39.000Z
---

# About Notification - API Virtual Account SNAP

***

This API with the SNAP standards uses to send the payment transaction notification on the Virtual Account payment method.



# X-SIGNATURE Guidance Validation

***

The following is guidance to proceed X-SIGNATURE validation on Request Header Notify:

`SHA256withRSA (Public_Key, stringToSign) stringToSign = client_ID + “|” + X-TIMESTAMP`

:::hint{type="warning"}
Information specific to the SNAP Notification API regarding the `Public_Key` will be provided by the NICEPAY Team to the Merchant via email, because the `Public_Key` credential used in the SNAP Notification API is different from the SNAP Transaction API (Registration, Inquiry & Payment).

Please contact the Integration Team through email ([integration@nicepay.co.id](mailto\:integration@nicepay.co.id)) for further information or assistance.
:::

The following is the example of X-SIGNATURE result from the above guidance validation:

`mYyscWBs00bm0TJQ/xY7Uu1Goh8qXJyYSlo88rFrhQ+mlyQkMtqNKMlZDpS+`



# Merchant Notification - API Virtual Account SNAP

***

| **Service Code** | `25`                                                                                                                                                                                                                                                                                                                          |
| ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **API Endpoint** | `[merchant-domain]/api/v1.0/transfer-va/payment`                                                                                                                                                                                                                                                                              |
| **HTTP Method**  | `POST`                                                                                                                                                                                                                                                                                                                        |
| **Content-type** | `application/json`                                                                                                                                                                                                                                                                                                            |
| **Description**  | Transaction Result Notification (when success)<br /><br />If your system use firewall, add allow policy for NICEPAY IP =<br />IP Public environtment Production:<br />`103.20.51.34`<br />`103.20.51.33`<br />`18.98.96.50`<br /><br />IP Public environtment Dev:<br />`103.20.51.39`<br />`103.20.51.40`<br />`18.98.96.54` |



## Request Notification Header Parameter

| **Parameter**  | **Type** | **Required** | **Description**                                                                                                                                                                   |
| -------------- | -------- | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Content-Type` | String   | Mandatory    | `Application / JSON`                                                                                                                                                              |
| `X-TIMESTAMP`  | String   | Mandatory    | Using ISO 8601 as timestamp format.<br />Transaction date time, in format `YYYYMMDDTHH:mm:ss+07:00`.<br />Time must be in GMT+7 (Jakarta time).<br />`2022-03-21T10:11:40+07:00`. |
| `X-CLIENT-KEY` | String   | Mandatory    | Unique Partner ID, Partner ID = Client ID                                                                                                                                         |
| `X-SIGNATURE`  | String   | Mandatory    | Signature will be generated by Merchant.<br />[Panduan X-Signature - Symmetric](docId\:UZex33ReLyENKOgbJJnYp)                                                                     |



## Request Notification Body Parameter

| **Parameter**           | **Type** | **Length** | **Required** | **Description**                                         |
| ----------------------- | -------- | ---------- | ------------ | ------------------------------------------------------- |
| `partnerServiceId`      | String   | 20         | Mandatory    | Partner Service ID / Prefix                             |
| `customerNo`            | String   | 40         | Mandatory    | Customer Number                                         |
| `virtualAccountNo`      | String   | 16         | Mandatory    | Virtual Account Number                                  |
| `virtualAccountName`    | String   | 100        | Mandatory    | Virtual Account Name                                    |
| `trxId`                 | String   | 40         | Mandatory    | Transaction ID<br />(Reference Number from Merchant)    |
| `paymentRequestId`      | String   | 128        | Mandatory    | Unique Identifier from NICEPAY                          |
| `hashedSourceAccountNo` | String   | 32         | Optional     | Source account number in hash or unhash depend on Bank  |
| `sourceBankCode`        | String   | 11         | Optional     | Optional<br />Source account Bank code                  |
| `paidAmount`            | Object   | Variable   | Mandatory    | Amount of paid                                          |
| `value`                 | String   | 12         | Mandatory    | Value                                                   |
| `currency`              | String   | 3          | Mandatory    | Currency                                                |
| `trxDateTime`           | String   | 25         | Mandatory    | Transaction Date Time                                   |
| `additionalInfo`        | Object   | Variable   | Mandatory    | Additional information                                  |
| `bankCd`                | String   | 4          | Mandatory    | [Bank Code - API SNAP](docId:5PxU_cbDXVy2bIIli8_cv)     |
| `goodsNm`               | String   | 200        | Mandatory    | Goods Name                                              |
| `vacctValidDt`          | String   | 8          | Mandatory    | Virtual Account Valid Date                              |
| `vacctValidTm`          | String   | 6          | Mandatory    | Virtual Account Valid Time                              |



## Response Notification Header Parameter

| **Parameter**  | **Type** | **Required** | **Description**                                                                                                                                                                   |
| -------------- | -------- | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Content-Type` | String   | Mandatory    | `Application / JSON`                                                                                                                                                              |
| `X-TIMESTAMP`  | String   | Mandatory    | Using ISO 8601 as timestamp format.<br />Transaction date time, in format `YYYYMMDDTHH:mm:ss+07:00`.<br />Time must be in GMT+7 (Jakarta time).<br />`2022-03-21T10:11:40+07:00`. |



## Response Notification Body Parameter

| **Parameter**           | **Type** | **Length** | **Required** | **Description**                                                              |
| ----------------------- | -------- | ---------- | ------------ | ---------------------------------------------------------------------------- |
| `responseCode`          | String   | 7          | Mandatory    | [General Response Code and Message - API SNAP](docId\:bJr4kjAmZCKnlN-5zRnvW) |
| `responseMessage`       | String   | 150        | Mandatory    | Response Message                                                             |
| `virtualAccountData`    | Object   | Variable   | Mandatory    | Virtual Account Data                                                         |
| `partnerServiceId`      | String   | 20         | Mandatory    | Partner Service ID / Prefix                                                  |
| `customerNo`            | String   | 40         | Mandatory    | Customer Number                                                              |
| `virtualAccountNo`      | String   | 16         | Optional     | Virtual Account Number                                                       |
| `virtualAccountName`    | Object   | 100        | Mandatory    | Virtual Account Name                                                         |
| `trxId`                 | Object   | 40         | Mandatory    | Merchant Reference Number                                                    |
| `paymentRequestId`      | String   | 128        | Mandatory    | Unique Identifier from NICEPAY                                               |
| `hashedSourceAccountNo` | String   | 32         | Optional     | Source account number in hash or unhash depend on Bank                       |
| `sourceBankCode`        | String   | 11         | Optional     | Source account Bank code                                                     |
| `paidAmount`            | Object   | Variable   | Mandatory    | Amount of paid                                                               |
| `value`                 | Object   | 12         | Mandatory    | Value                                                                        |
| `currency`              | String   | 3          | Mandatory    | Currency                                                                     |
| `trxDateTime`           | String   | 25         | Mandatory    | Transaction Date Time                                                        |
| `additionalInfo`        | Object   | Variable   | Mandatory    | Additional information                                                       |
| `bankCd`                | String   | 4          | Mandatory    | [Bank Code - API SNAP](docId:5PxU_cbDXVy2bIIli8_cv)                          |
| `goodsNm`               | String   | 200        | Mandatory    | Goods Name                                                                   |
| `vacctValidDt`          | String   | 8          | Mandatory    | Virtual Account Valid Date                                                   |
| `vacctValidTm`          | String   | 6          | Mandatory    | Virtual Account Valid Time                                                   |



# Sample Parameter for Notification API Virtual Account SNAP

***

## Request Parameter

:::CodeblockTabs
cURL

```curl
curl --location 'https://www.merchantbaseurl.com/api/v1.0/transfer-va/payment' \
--header 'Content-Type: application/json' \
--header 'X-TIMESTAMP: 2023-11-23T07:44:11+07:00' \
--header 'X-SIGNATURE: 85be817c55b2c135157c7e89f52499bf0c25ad6eeebe04a986e8c862561b19a5' \
--header 'X-CLIENT-KEY: 82150823919040624621823174737537' \
--data '{
  "partnerServiceId": "70151021",
  "customerNo": "10000001",
  "virtualAccountNo": "7015102110000001",
  "virtualAccountName": "John Test",
  "trxId": "abcdefgh1234",
  "paymentRequestId": "008",
  "hashedSourceAccountNo": "abcdefghijklmnopqrstuvwxyz123456",
  "sourceBankCode": "008",
  "paidAmount": {
    "value": "10000.00",
    "currency": "IDR"
  },
  "trxDateTime": "20201231T235959Z",
  "additionalInfo": {
    "bankCd": "BMRI",
    "goodsNm": "Test",
    "vacctValidDt": "20221110",
    "vacctValidTm": "161037"
  }
}'
```
:::

## Response Parameter

:::CodeblockTabs
Sample Response

```json
//HEADER SECTION
Content-type: application/json
X-TIMESTAMP: 2023-11-23T07:44:16+07:00

{{
  "responseCode": "2002500",
  "responseMessage": "Success",
  "virtualAccountData": {
    "partnerServiceId": "70151021",
    "customerNo": "10000001",
    "virtualAccountNo": "7015102110000001",
    "virtualAccountName": "John Test",
    "trxId": "abcdefgh1234",
    "paymentRequestId": "2020102900000000000001",
    "hashedSourceAccountNo": "abcdefghijklmnopqrstuvwxyz123456",
    "sourceBankCode": "008",
    "paidAmount": {
      "value": "10000.00",
      "currency": "IDR"
    },
    "trxDateTime": "20201231T235959Z",
    "additionalInfo": {
      "bankCd": "BMRI",
      "goodsNm": "Test",
      "vacctValidDt": "20221110",
      "vacctValidTm": "161037"
    }
  }
}
```
:::



