Report Transaction
SNAP API
Report Transaction
Report Transaction is a service from WINPAY used to obtain transaction and merchant account balance information to support the automation of your business financial reconciliation.
Balance Inquiry
POST/v1.0/balance-inquiryService Code: 11
This service is used to check Transaction and Settlement balances.
Payload Request
| Parameter | Data Type | Mandatory | Description |
|---|---|---|---|
| partnerReferenceNo | String | Y | Customer transaction number Length: 5-64Allowed Chars: a-z A-Z 0-9 |
| accountNo | String | Y | Customer Merchant ID |
| balanceTypes | Object | Y | Balance Type Allowed Value : Transaction, Settlement |
{
"partnerReferenceNo": "2020102900000000000003",
"accountNo": "172188",
"balanceTypes": ["Transaction", "Settlement"]
}
Response Payload
| Parameter | Data Type | Description |
|---|---|---|
| responseCode | String | Response Code |
| responseMessage | String | Response Message |
| referenceNo | String | Transaction reference number generated by Winpay |
| partnerReferenceNo | String | Customer transaction number |
| accountNo | String | Customer Merchant ID |
| name | String | Customer Business Name |
| accountInfos | Object | Response object |
| accountInfos.balanceType | String | Customer balance type |
| accountInfos.amount | Object | Amount object |
| accountInfos.amount.value | String | Balance Amount Length: 1-12Allowed Chars: 0-9 |
| accountInfos.amount.currency | String | Currency code Length: 3Allowed Value: IDR |
| accountInfos.status | String | Status |
{
"responseCode": "2001100",
"responseMessage": "Request has been processed successfully",
"referenceNo": "BWPRzPwFixh8sbXviruY3MnYdUxvC3Kvirvir",
"partnerReferenceNo": "2020102900000000000005",
"accountNo": "172188",
"name": "WINPAY",
"accountInfos": [
{
"balanceType": "Transaction",
"amount": {
"value": "10000.00",
"currency": "IDR"
},
"status": "0001"
},
{
"balanceType": "Settlement",
"amount": {
"value": "10000.00",
"currency": "IDR"
},
"status": "0001"
}
]
}
List Response Codes
| Response Code | Response Message | Description |
|---|---|---|
| 2001100 | Success | |
| 4001100 | Invalid response from biller | check responseMessage for error details |
| 4001101 | Invalid field format { field name } | |
| 4001102 | Invalid mandatory field {field name} | |
| 4011100 | Invalid signature | X-Signature incorrect |
| 4041116 | Partner not found | X-Partner-ID not registered |
| 4091100 | Cannot use same X-EXTERNAL-ID in same day | X-External-ID has already been used on the same day |
Transaction List
POST/v1.0/transaction-history-listService Code: 12
This service is used to check the Transaction List.
Payload Request
| Parameter | Data Type | Mandatory | Description |
|---|---|---|---|
| partnerReferenceNo | String | Y | Customer transaction number Length : 64 |
| fromDateTime | string | Y | Start date Format: YYYY-MM-DDTHH:mm:ss+07:00 |
| toDateTime | String | Y | End date Format: YYYY-MM-DDTHH:mm:ss+07:00 maximum 1 month from the start date |
| pageSize | Integer | Y | Number of records per page default : 10 |
| pageNumber | Integer | Y | Page number default : 1 |
{
"partnerReferenceNo": "REF0001",
"fromDateTime": "2025-06-01T16:38:05+07:00",
"toDateTime": "2025-06-30T16:38:05+07:00",
"pageSize": 10,
"pageNumber": 1
}
Response Payload
| Parameter | Data Type | Description |
|---|---|---|
| responseCode | String | Response Code |
| responseMessage | String | Response Message |
| referenceNo | String | Created VA data |
| partnerReferenceNo | String | Merchant transaction number |
| detailData | Array | Detail data array |
| detailData.dateTime | String | Transaction time |
| detailData.amount | Object | Amount object |
| detailData.amount.value | String | Transaction amount |
| detailData.amount.currency | String | Currency code |
| detailData.status | String | Transaction status |
| detailData.type | String | Transaction type |
| detailData.additionalInfo | Object | additionalInfo object |
| detailData.additionalInfo.merchantId | String | Customer Merchant ID |
| detailData.additionalInfo.transactionId | String | Transaction ID from Winpay |
| detailData.additionalInfo.billName | String | Bill Name |
| detailData.additionalInfo.channel | String | Payment channel used |
| detailData.additionalInfo.merchantReff | String | Customer transaction reference number |
| detailData.additionalInfo.winpayReff | String | Winpay transaction reference number |
| detailData.additionalInfo.amountDetail | Object | Amount detail object |
| detailData.additionalInfo.amountDetail.amount | Object | Transaction amount before fees |
| detailData.additionalInfo.amountDetail.fee | Object | Transaction fee |
| detailData.additionalInfo.amountDetail.nettAmount | Object | Net amount after fees |
| detailData.additionalInfo.callbackDetail | Object | Callback detail object |
| detailData.additionalInfo.callbackDetail.url | String | Customer callback URL |
| detailData.additionalInfo.callbackDetail.status | String | Customer callback status |
{
"responseCode": "2001200",
"responseMessage": "Request has been processed successfully",
"referenceNo": "HTWPp07wFi0feLyOvCvirj5EvirsmLyO0fevirjvbX",
"partnerReferenceNo": "REF0001",
"detailData": [
{
"dateTime": "2025-06-27T19:28:00+07:00",
"amount": {
"value": "10000.00",
"currency": "IDR"
},
"status": "INIT",
"type": "EXPIRED",
"additionalInfo": {
"merchantId": "172188",
"transactionId": 447067509,
"billName": null,
"channel": "Permata VA SNAP Close One Off",
"merchantReff": "pr9628688b-5931-4ed3-914d-73ea54e9df6d",
"winpayReff": "7270041751027280",
"amountDetail": {
"amount": {
"value": "10000.00",
"currency": "IDR"
},
"fee": {
"value": "0.00",
"currency": "IDR"
},
"nettAmount": {
"value": "10000.00",
"currency": "IDR"
}
},
"callbackDetail": {
"url": null,
"status": "INIT"
}
}
}
]
}
List Response Codes
| Response Code | Response Message | Description |
|---|---|---|
| 2001200 | Success | |
| 4001200 | Invalid response from biller | check responseMessage for error details |
| 4001201 | Invalid field format { field name } | |
| 4001202 | Invalid mandatory field {field name} | |
| 4011200 | Invalid signature | X-Signature incorrect |
| 4041216 | Partner not found | X-Partner-ID not registered |
| 4091200 | Cannot use same X-EXTERNAL-ID in same day | X-External-ID has already been used on the same day |
Bank Statement
POST/v1.0/bank-statementService Code: 14
This service is used to check Transaction Mutations (Bank Statement).
Payload Request
| Parameter | Data Type | Mandatory | Description |
|---|---|---|---|
| partnerReferenceNo | String | Y | Customer transaction number Length : 64 |
| bankCardToken | String | Y | Bank Token Length : 128 |
| accountNo | String | Y | Bank account number Length : 16 |
| fromDateTime | string | Y | Start date Format: YYYY-MM-DDTHH:mm:ss+07:00 |
| toDateTime | String | Y | End date Format: YYYYMD-DDTHH:mm:ss+07:00 maximum 1 month from the start date |
| additionalInfo | Object | Y | Additional info object |
| additionalInfo.pageSize | Integer | Y | Number of records per page default : 10 |
| additionalInfo.pageNumber | Integer | Y | Page number default : 1 |
{
"partnerReferenceNo": "REF0002",
"bankCardToken": "12iu3o1u3i1u23y1iu",
"accountNo": "91283781273",
"fromDateTime": "2025-10-01T00:00:00+07:00",
"toDateTime": "2025-10-02T23:59:59+07:00",
"additionalInfo": {
"pageSize": "10",
"pageNumber": "1"
}
}
Response Payload
| Parameter | Data Type | Description |
|---|---|---|
| responseCode | String | Response Code |
| responseMessage | String | Response Message |
| referenceNo | Object | Payment reference number |
| partnerReferenceNo | String | Merchant transaction number |
| balance | Array | Balance information |
| balance.amount | Array | Current balance amount |
| balance.amount.value | String | Balance amount |
| balance.amount.currency | String | Currency code |
| balance.amount.dateTime | String | Balance recording time |
| balance.startingBalance | Array | Starting balance amount for the period |
| balance.startingBalance.value | String | Balance amount |
| balance.startingBalance.currency | String | Currency code |
| balance.startingBalance.dateTime | String | Balance recording time |
| balance.endingBalance | Array | Ending balance amount for the period |
| balance.endingBalance.value | String | Balance amount |
| balance.endingBalance.currency | String | Currency code |
| balance.endingBalance.dateTime | String | Balance recording time |
| lastRecordDateTime | String | Last transaction time of the customer |
| detailData | Object | Detail data object |
| detailData.detailBalance | Object | Starting and ending balance object |
| detailData.detailBalance.startAmount | String | Balance before transaction |
| detailData.detailBalance.endAmount | String | Balance after transaction |
| detailData.amount | Object | Transaction amount object |
| detailData.amount.value | String | Transaction amount |
| detailData.amount.currency | String | Currency code |
| detailData.originAmount | Object | Transaction amount object |
| detailData.originAmount.value | String | Transaction amount |
| detailData.originAmount.currency | String | Currency code |
| detailData.transactionDate | String | Transaction date and time |
| detailData.remark | String | Transaction remark |
| detailData.transactionId | String | Transaction ID from Winpay |
| detailData.type | String | Transaction type |
| detailData.transactionDetailStatus | String | Transaction status |
| detailData.detailInfo | Object | Transaction detail information |
| detailData.detailInfo.mutationId | String | Mutation ID from Winpay |
| detailData.detailInfo.transactionId | String | Transaction ID from Winpay |
| detailData.detailInfo.merchantId | String | Customer Merchant ID |
| detailData.detailInfo.product | String | Product name |
{
"responseCode": "2001400",
"responseMessage": "Request has been processed successfully",
"referenceNo": "HTWPp07PZbX3KRzPtMd1jvirvirvirsmsmvCRzP",
"partnerReferenceNo": "REF0002",
"balance": [
{
"amount": {
"value": "914721.95",
"currency": "IDR",
"dateTime": "2025-10-02T09:28:29+07:00"
},
"startingBalance": {
"value": "904921.95",
"currency": "IDR",
"dateTime": "2025-10-02T09:28:29+07:00"
},
"endingBalance": {
"value": "914721.95",
"currency": "IDR",
"dateTime": "2025-10-02T09:28:29+07:00"
}
}
],
"lastRecordDateTime": "2025-10-02T09:28:29+07:00",
"detailData": [
{
"detailBalance": {
"startAmount": [
{
"amount": {
"value": "914921.95",
"currency": "IDR"
}
}
],
"endAmount": [
{
"amount": {
"value": "914721.95",
"currency": "IDR"
}
}
]
},
"amount": {
"value": "200.00",
"currency": "IDR"
},
"originAmount": {
"value": "200.00",
"currency": "IDR"
},
"transactionDate": "2025-10-02T09:28:29+07:00",
"remark": "172188-gigih pras MDR : SCPISPAY",
"transactionId": "461730304",
"type": "DEBIT",
"transactionDetailStatus": "SUCCESS",
"detailInfo": {
"mutationId": "166789765",
"transactionId": "461730304",
"merchantId": "172188",
"product": "Payment channel SHOPEEPAY"
}
}
]
}
List Response Codes
| Response Code | Response Message | Description |
|---|---|---|
| 2001400 | Success | |
| 4001400 | Invalid response from biller | check responseMessage for error details |
| 4001401 | Invalid field format { field name } | |
| 4001402 | Invalid mandatory field {field name} | |
| 4011400 | Invalid signature | X-Signature incorrect |
| 4041416 | Partner not found | X-Partner-ID not registered |
| 4091400 | Cannot use same X-EXTERNAL-ID in same day | X-External-ID has already been used on the same day |