---
title: SNAP API Testing
slug: nicepay-api-snap-testing
description: Informasi tentang cara uji coba API SNAP yang disediakan oleh NICEPAY
image: https://archbee-image-uploads.s3.amazonaws.com/ZHvSjR5ZrsoxwKbJa3xmo/gYYG6hmWana99dP9b0gcO_rdrx9d8diazpgm07xfz2test-1.png
icon: {"faIcon":"fa-solid fa-file-code"}
docTags: 
createdAt: 2023-08-01T07:22:04.561Z
---

# Swagger untuk SNAP API Testing

***

API Testing dilakukan untuk melakukan uji coba beberapa metode pembayaran yang menggunakan API SNAP sebelum dipasang pada sistem. Beberapa API SNAP yang tersedia dalam format uji coba Swagger antara lain:

| **Nama API**             | **File Swagger**                                                                                                                                                                                                                                                                                                     | **Informasi API**                                                |
| ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- |
| Access Token             | [Request Access Token](docId\:TKaHKgtCS-UQyX9_lmLkb)                                                                                                                                                                                                                                                                 | [Request Access Token API - SNAP](docId\:GcGqBIYXG1Etcd0Ji9cHX)  |
| API Virtual Account SNAP | 1. [Create Virtual Account](docId\:o62RTCfvTglo7lcWKy1Tp)
2. [Status Virtual Account](docId\:oafPKl1if3ARQ3KN4_Qpi)
3. [Cancel Virtual Account](docId\:JL1BIGAbDoChTqY0iLT74)                                                                                                                                        | [API Virtual Account SNAP](docId:2XCcJFVmwY9jDmD6w09oN)          |
| API QRIS                 | 1) [Create QRIS](docId\:p8SZuTtxHLtI_zxQbdHb1)
2) [Status QRIS](docId\:p0kjr7RWt-WiAONMxq5GP)
3) [Refund QRIS](docId:3bAJmH1l7VSCAJFvYbA_Y)                                                                                                                                                                          | [API QRIS SNAP](docId:2fWhBt1oPDQeRmQJBODlU)                     |
| API E-Wallet             | Segera                                                                                                                                                                                                                                                                                                               | [API E-Wallet (Direct Debit) SNAP](docId:24TJozvWeUtfoWWb2WN94)  |
| API Payout               | 1. [Registration Payout](docId\:KDV8xDb7tj8XKIRgwDnLU)
2. [Approve Payout](docId:4boxqO_HRro5LpImO-C-F)
3. [Reject Payout](docId:-IO7Abd9Ks4AxJRqKbX-I)
4. [Inquiry Payout](docId\:OA-rD33XZzwJiXkb9EcFQ)
5. [Cancel Payout](docId\:IeLnFuFFShMgOrUvap2ue)
6. [Balance Inquiry Payout](docId\:q6E8HYoqFm0vvaRwE38Mq) | [Payout API (Disbursement) - SNAP](docId\:pImeP_3g-q6QNBFmwvkOr) |



# Panduan Uji Coba API SNAP

***

Berikut adalah langkah untuk melakukan Uji Coba API SNAP.

1. *Generate&#x20;*&#x41;ccess Token yang akan digunakan pada bagian Authorization.
2. Isi formulir Header Parameter dan Body Parameter yang tersedia.
3. Tekan tombol `Try It` untuk mengirimkan request parameter dan mendapatkan response parameter.
4. Response parameter dapat terlihat di bagian kanan bawah pada layar.



# Panduan X-Signature

***

## Asymmetric

X-Signature Asymmetric digunakan untuk mengajukan Access Token Header. Berikut adalah contoh langkah untuk generate X-Signature Access Token:

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

## Symmetric

X-Signature Symmetric digunakan sebagai header untuk mengajukan request parameter untuk setiap API yang dikirimkan menuju sistem NICEPAY. Berikut adalah contoh langkah untuk *generate&#x20;*&#x58;-Signature Transaksi:

`HMAC_SHA512 (clientSecret, stringToSign) stringToSign = HTTPMethod +":"+ EndpointUrl +":"+ AccessToken +":"+ Lowercase(HexEncode(SHA256(minify(RequestBody))))+ ":" + X-TimeStamp`

1. Susun `EncodeRequestBody` menggunakan payload, `HexEncode` dan `SHA256`. `HexEncode(SHA256(minify(RequestBody)))`
2. Susun payload signature concat pada kolom menggunakan pemisah ":"&#x20;
   `HTTPMethod:EndpointUrl:accessToken:EncodeRequestBody:TimeStamp`&#x20;

:::CodeblockTabs
1\. Sample URL

```none
POST:/api/v1.0/transfer-va/create-va:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJJT05QQVlURVNUIiwiaXNzIjoiTklDRVBBWSIsIm5hbWUiOiJQREpCIiwiZXhwIjoiMjAyNS0wNy0xMVQwMzoyODoxNVoifQ==.04XPQtQmHCnUyft4pgRCH_WTaRp8pt6aX8IugxX_7Hk=:0140cbc57524ee33d23ec6b520a6e3ffa966320fcbac5608716548648e65c4c5:2025-07-11T10:13:15+07:00;
```

2\. Sample Generate

```none
Sample Generate hmac SHA512 for payload

String payload = "{\"partnerServiceId\":\"\",\"customerNo\":\"\",\"virtualAccountNo\":\"\",\"virtualAccountName\":\"NodeJS Test\",\"trxId\":\"order1752203594788\",\"totalAmount\":{\"value\":\"10000.00\",\"currency\":\"IDR\"},\"additionalInfo\":{\"bankCd\":\"BMRI\",\"goodsNm\":\"Test\",\"dbProcessUrl\":\"https://nicepay.co.id/\",\"vacctValidDt\":\"\",\"vacctValidTm\":\"\"}}";

String requestBody = "";
String hexEncode = "";
requestBody = payload.replaceAll("[\n\r\t]", "")
hexEncode = java.security.MessageDigest.getInstance("SHA256").digest(requestBody.getBytes("UTF-8")).encodeHex()
hexEncode = '0140cbc57524ee33d23ec6b520a6e3ffa966320fcbac5608716548648e65c4c5'

String stringToSign = "POST" + ":" + "/api/v1.0/transfer-va/create-va" + ":" + "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJJT05QQVlURVNUIiwiaXNzIjoiTklDRVBBWSIsIm5hbWUiOiJQREpCIiwiZXhwIjoiMjAyNS0wNy0xMVQwMzoyODoxNVoifQ==.04XPQtQmHCnUyft4pgRCH_WTaRp8pt6aX8IugxX_7Hk=" + ":" + "0140cbc57524ee33d23ec6b520a6e3ffa966320fcbac5608716548648e65c4c5" + ":" + "2025-07-11T10:13:15+07:00"
```

3\. Sample Create Hash

```none
Sample Create Hash

SecretKeySpec secretKey = new SecretKeySpec(clientSecret.getBytes(),"HmacSHA512");
Mac hmac = Mac.getInstance("HmacSHA512")
hmac.init(secretKey)
```

4\. Sample signature base64

```none
Base64 encoder = Base64.getEncoder()
String hmacAsBase64 = 
encoder.encodeToString(hmac.doFinal(stringToSign.getBytes("UTF-8")))
```

5\. Sample Result

```none
The result are X-SIGNATURE : 3NP5zxeymUhesQwVoU7domG6bWRQKnp0ePsJ2Uc9bq1J7Yr5t+mKIYhCYGeoUGoS3CqIoFOvfXdutboAS7uGng==
```
:::



