# Transaction History List

## **Method and URL**

`POST` \[BASE\_URL]/wallet-backend/snap/v1.0/transaction-history-list

Purpose:  Retrieve a paginated list of the customer’s wallet transaction history within a specified date and time range.<br>

Authorization:

* B2B Token&#x20;
* B2B2C Token

## **Request**

**Request Header**

<table><thead><tr><th>Header</th><th width="140.328125">Requirement</th><th>Description</th></tr></thead><tbody><tr><td>Content-Type</td><td>Mandatory</td><td>application/json</td></tr><tr><td>Authorization</td><td>Mandatory</td><td>Bearer {B2B_access_token}</td></tr><tr><td>Authorization-Customer</td><td>Mandatory</td><td>Bearer {B2B2C_access_token}</td></tr><tr><td>X-SIGNATURE</td><td>Mandatory</td><td><p>HMAC signature generated as per SNAP specification</p><p><br></p><p>HMAC_SHA512 (clientSecret, stringToSign) </p><p>stringToSign = HTTPMethod +”:“+ EndpointUrl +":"+ AccessToken +":“+ Lowercase(HexEncode(SHA-256(minify(RequestBody))))+ ":“ + TimeStamp</p></td></tr><tr><td>X-TIMESTAMP</td><td>Mandatory</td><td>Request timestamp in yyyy-MM-dd'T'HH:mm:ssXXX (ISO 8601 with offset)</td></tr><tr><td>X-PARTNER-ID</td><td>Mandatory</td><td>Partner ID assigned by Pivot</td></tr><tr><td>X-EXTERNAL-ID</td><td>Mandatory</td><td>Unique ID per request for idempotency / tracing</td></tr><tr><td>CHANNEL-ID</td><td>Mandatory</td><td>Channel identifier (e.g., 12345)</td></tr></tbody></table>

**Request Body**

```json
{
  "partnerReferenceNo": "",
  "fromDateTime": "2025-07-22T00:00:00+07:00",
  "toDateTime": "2025-07-23T12:08:56+07:00",
  "pageSize": "10",
  "pageNumber": "1",
  "additionalInfo": {}
}
```

**Request Parameter Detail**&#x20;

<table><thead><tr><th>Parameter</th><th width="111.6611328125">Data Type</th><th width="105.4208984375">Character Limit</th><th width="126.595703125">Requirement</th><th>Description</th></tr></thead><tbody><tr><td>partnerReferenceNo</td><td>String</td><td>64</td><td>Optional</td><td>Partner’s reference number to filter a specific transaction. Empty string ("") means no filter by reference.</td></tr><tr><td>fromDateTime</td><td>String (ISO 8601)</td><td>30</td><td>Mandatory</td><td>Start date-time (inclusive) of the transaction search range, with timezone offset.</td></tr><tr><td>toDateTime</td><td>String (ISO 8601)</td><td>30</td><td>Mandatory</td><td>End date-time (inclusive) of the transaction search range, with timezone offset.</td></tr><tr><td>pageSize</td><td>String</td><td>3</td><td>Mandatory</td><td>Number of records per page (e.g., "10").</td></tr><tr><td>pageNumber</td><td>String</td><td>5</td><td>Mandatory</td><td>Page number to retrieve, starting from "1".</td></tr><tr><td>additionalInfo</td><td>Object</td><td>-</td><td>Optional</td><td>Reserved for future/extra filtering parameters. Empty object {} in the example.</td></tr></tbody></table>

## **Response**

**Response Body**

```json
{
  "detailData": [
    {
      "dateTime": "2025-07-23T05:54:17+07:00",
      "status": "SUCCESS",
      "type": "TOP_UP",
      "amount": {
        "value": "79150.00",
        "currency": "IDR"
      },
      "additionalInfo": {
        "referenceNo": "019835d8-cacc-7790-ab78-15b25bb89d12",
        "partnerReferenceNo": "REF/20250723/0001"
      }
    },
    {
      "dateTime": "2025-07-22T03:30:19+07:00",
      "status": "SUCCESS",
      "type": "TOP_UP",
      "amount": {
        "value": "799150.00",
        "currency": "IDR"
      },
      "additionalInfo": {
        "referenceNo": "0198302e-a058-7e78-82f2-9d009208bdf7",
        "partnerReferenceNo": "REF/20250523/0012"
      }
    }
  ],
  "responseCode": "2001200",
  "responseMessage": "Successful"
}
```

**Response Parameter Detail**

<table><thead><tr><th>Parameter</th><th width="109.9423828125">Data Type</th><th width="118.7119140625">Character Limit</th><th width="128.9228515625">Requirement</th><th>Description</th></tr></thead><tbody><tr><td>detailData</td><td>Array</td><td>-</td><td>Mandatory</td><td>List of transaction records returned for the requested page.</td></tr><tr><td>detailData[].dateTime</td><td>String (ISO 8601)</td><td>30</td><td>Mandatory</td><td>Date and time of the transaction with timezone offset.</td></tr><tr><td>detailData[].status</td><td>String</td><td>20</td><td>Mandatory</td><td>Transaction status, e.g., SUCCESS.</td></tr><tr><td>detailData[].type</td><td>String</td><td>20</td><td>Mandatory</td><td>Transaction type, e.g., TOP_UP, PAYMENT, etc.</td></tr><tr><td>detailData[].amount</td><td>Object</td><td>-</td><td>Mandatory</td><td>Amount information of the transaction.</td></tr><tr><td>detailData[].amount.value</td><td>String</td><td>20</td><td>Mandatory</td><td>Transaction amount in decimal string format.</td></tr><tr><td>detailData[].amount.currency</td><td>String</td><td>3</td><td>Mandatory</td><td>Currency code, e.g., IDR.</td></tr><tr><td>detailData[].additionalInfo</td><td>Object</td><td>-</td><td>Optional</td><td>Additional information related to the transaction.</td></tr><tr><td>detailData[].additionalInfo.referenceNo</td><td>String</td><td>64</td><td>Mandatory</td><td>Internal system reference number for the transaction.</td></tr><tr><td>detailData[].additionalInfo.partnerReferenceNo</td><td>String</td><td>64</td><td>Optional</td><td>Partner’s reference number associated with the transaction.</td></tr><tr><td>responseCode</td><td>String</td><td>7</td><td>Mandatory</td><td>Response status code. 2001200 indicates successful retrieval.</td></tr><tr><td>responseMessage</td><td>String</td><td>100</td><td>Mandatory</td><td>Description of the result, e.g., Successful.</td></tr></tbody></table>

\ <br>
