---
title: Notification - API Virtual Account SNAP
slug: nicepay-api-snap-notification-virtual-account
description: Informasi tentang Notification - API Virtual Account SNAP yang terdapat pada sistem NICEPAY
image: https://archbee-image-uploads.s3.amazonaws.com/ZHvSjR5ZrsoxwKbJa3xmo/e4AyZpOCBzU960RbGdEUj_microsoftteams-image.png
icon: {"faIcon":"fa-solid fa-book"}
docTags: 
createdAt: 2023-02-17T10:54:25.000Z
---

# Tentang Notification - API Virtual Account SNAP

***

API dengan standar SNAP ini digunakan untuk mengirimkan notifikasi transaksi pembayaran pada metode pembayaran Virtual Account.



# Panduan Validasi X-SIGNATURE

***

Berikut adalah cara untuk melakukan validasi X-SIGNATURE pada Request Header Notify:&#x20;

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

:::hint{type="warning"}
Informasi khusus API Notifikasi SNAP terkait kredensial `Public_Key` akan diberikan oleh Tim NICEPAY kepada Merchant melalui email, karena kredensial `Public_Key` yang akan digunakan di API Notifikasi SNAP berbeda dengan API Transaksi SNAP (Registration, Inquiry & Payment).

Silakan menghubungi Tim Integrasi melalui email ([integration@nicepay.co.id](mailto\:integration@nicepay.co.id)) untuk informasi atau bantuan lebih lanjut.
:::

Berikut adalah contoh hasil X-SIGNATURE dari cara validasi di atas:

`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**  | **Tipe** | **Kebutuhan** | **Deskripsi**                                                                                                                                                                     |
| -------------- | -------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `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**           | **Tipe** | **Ukuran** | **Kebutuhan** | **Deskripsi**                                          |
| ----------------------- | -------- | ---------- | ------------- | ------------------------------------------------------ |
| `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      | 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:9WOQy5-1hlf_uCwshSDHO)    |
| `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**  | **Tipe** | **Kebutuhan** | **Deskripsi**                                                                                                                                                                     |
| -------------- | -------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `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**           | **Tipe** | **Ukuran** | **Kebutuhan** | **Deskripsi**                                                                |
| ----------------------- | -------- | ---------- | ------------- | ---------------------------------------------------------------------------- |
| `responseCode`          | String   | 7          | Mandatory     | [General Response Code and Message - API SNAP](docId\:lKqJXSl5CMKdXYXxHYYSs) |
| `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      | Optional<br />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:9WOQy5-1hlf_uCwshSDHO)                          |
| `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"
    }
  }
}
```
:::

