---
updatedAt: 2026-07-14T19:55:21.000Z
agentTools:
  projectIndex: https://developer.moneris.com/moneris-go/llms.txt
---

# Balance Inquiry

## Overview

The balance inquiry command allows a customer to check the balance of a prepaid credit (Visa, Mastercard, American Express or Discover) or Moneris issued gift card. The balance will be displayed only on the terminal and will not be sent in the response for privacy concerns.

1. [Balance Inquiry Command](balance-inquiry)

<br />

<Callout icon="📘" theme="info">
  ###

  **Note**

  Visit the Moneris Gift Card Program to learn more.

  [Moneris Gift Card Program](https://www.moneris.com/en/services/gift-card-programs)
</Callout>

<br />

## Request Structure

<Tabs>
  <Tab title="Direct and App-to-App">
    <table style={{ textAlign: "left" }}>
      <tr>
        <th>Element</th><th>Type</th><th>Description</th><th>Size</th><th>Required</th>
      </tr>

      <tr><td>apiVersion</td><td>String</td><td>API version number</td><td>V20</td><td>Required</td></tr>
      <tr><td>istConfigCode</td><td>String</td><td>Moneris provided integration configuration code</td><td>V25</td><td>Required</td></tr>
      <tr><td>dataId</td><td>String</td><td>Merchant defined unique identifier for the data object</td><td>V50</td><td>Required</td></tr>
      <tr><td>dataTimestamp</td><td>String</td><td>Date and time of the request (YYYY-MM-DD HH:MM:SS)</td><td>F19</td><td>Required</td></tr>
      <tr><td>data</td><td>Object</td><td>Object that contains all transaction requests</td><td>-</td><td>-</td></tr>
      <tr><td>request</td><td>Array</td><td>Contains data applicable to transaction request</td><td>-</td><td>-</td></tr>
      <tr><td>orderId</td><td>String</td><td>Order ID from Purchase</td><td>V50</td><td>Required</td></tr>
      <tr><td>idempotencyKey</td><td>String</td><td>Unique transaction identifier to avoid duplicate request</td><td>V50</td><td>Required</td></tr>
      <tr><td>linkId</td><td>String</td><td>Id used to group related transactions</td><td>V50</td><td>Optional</td></tr>
      <tr><td>terminalId</td><td>String</td><td>Destination Terminal ID</td><td>F8</td><td>Optional</td></tr>
      <tr><td>userName</td><td>String</td><td>Unique identifier for clerk / user</td><td>V30</td><td>Optional</td></tr>
      <tr><td>customIdData</td><td>String</td><td>Custom field</td><td>V50</td><td>Optional</td></tr>
      <tr><td>action</td><td>String</td><td>"balanceInquiry"</td><td>V50</td><td>Required</td></tr>
      <tr><td>progressStatus</td><td>String</td><td>If value is set to "True", terminal will return progress to <Glossary>POS</Glossary> <br />Note: This feature is only available on Direct Integration</td><td>V5</td><td>Optional</td></tr>
      <tr><td>modifier</td><td>String</td><td>Modifier value “scan”, CNP</td><td>V24</td><td>Optional</td></tr>
    </table>

    ### Request example

    ```json
    {
       "apiVersion":"3.0",
       "istConfigCode":"example_istConfigCode",
       "dataId":"example_dataId",
       "dataTimestamp":"1969-12-31 23:59:59",
       "data":{
          "request":[
             {
                "orderId":"example_orderId",
                "idempotencyKey":"example_idempotencyKey",
                "action":"balanceInquiry"
             }
          ]
       }
    }
    ```
  </Tab>

  <Tab title="Cloud">
    <table style={{ textAlign: "left" }}>
      <tr>
        <th>Element</th><th>Type</th><th>Description</th><th>Size</th><th>Required</th>
      </tr>

      <tr><td>apiVersion</td><td>String</td><td>API version number</td><td>V20</td><td>Required</td></tr>
      <tr><td>apiToken</td><td>String</td><td>Moneris assigned identifier</td><td>V50</td><td>Optional</td></tr>
      <tr><td>storeId</td><td>String</td><td>Store ID of requestor</td><td>V50</td><td>Required</td></tr>
      <tr><td>istConfigCode</td><td>String</td><td>Moneris provided integration configuration code</td><td>V25</td><td>Required</td></tr>
      <tr><td>postBackUrl</td><td>String</td><td>This field is required for postback and combined integration</td><td>V2000</td><td>Conditional</td></tr>
      <tr><td>polling</td><td>String</td><td>This field is required for combined integration</td><td>V5</td><td>Conditional</td></tr>
      <tr><td>dataId</td><td>String</td><td>Merchant defined unique identifier for the data object</td><td>V50</td><td>Required</td></tr>
      <tr><td>dataTimestamp</td><td>String</td><td>Date and time of the request (YYYY-MM-DD HH:MM:SS)</td><td>F19</td><td>Required</td></tr>
      <tr><td>data</td><td>Object</td><td>Object that contains all transaction requests</td><td>-</td><td>-</td></tr>
      <tr><td>request</td><td>Array</td><td>Contains data applicable to transaction request</td><td>-</td><td>-</td></tr>
      <tr><td>orderId</td><td>String</td><td>Order ID from Purchase</td><td>V50</td><td>Required</td></tr>
      <tr><td>idempotencyKey</td><td>String</td><td>Unique transaction identifier to avoid duplicate request</td><td>V50</td><td>Required</td></tr>
      <tr><td>linkId</td><td>String</td><td>Id used to group related transactions</td><td>V50</td><td>Optional</td></tr>
      <tr><td>userName</td><td>String</td><td>Unique identifier for clerk / user</td><td>V30</td><td>Optional</td></tr>
      <tr><td>customIdData</td><td>String</td><td>Custom field</td><td>V50</td><td>Optional</td></tr>
      <tr><td>action</td><td>String</td><td>"balanceInquiry"</td><td>V50</td><td>Required</td></tr>
      <tr><td>modifier</td><td>String</td><td>Enum which further classifies transaction</td><td>V24</td><td>Optional</td></tr>
      <tr><td>terminalId</td><td>String</td><td>Destination Terminal ID</td><td>F8</td><td>Required</td></tr>
    </table>

    ### Request example

    ```json
    {
       "apiVersion":"3.0",
       "apiToken":"example_apiToken",
       "storeId":"example_storeId",
       "istConfigCode":"example_istConfigCode",
       "polling":"true",
       "postBackUrl":"https://example.client.url",
       "dataId":"example_dataId",
       "dataTimestamp":"1969-12-31 23:59:59",
       "data":{
          "request":[
             {
                "orderId":"example_orderId",
                "idempotencyKey":"example_idempotencyKey",
                "terminalId":"example_terminalId",
                "username":"example_username",
                "modifier":"example_modifier",
                "linkId":"example_linkId",
                "action":"balanceInquiry"
             }
          ]
       }
    }
    ```
  </Tab>
</Tabs>

<br />

## Response structure

<Tabs>
  <Tab title="Direct and App-to-App">
    <table style={{ textAlign: "left" }}>
      <tr>
        <th>Element</th><th>Type</th><th>Description</th><th>Size</th><th>Required</th>
      </tr>

      <tr><td>apiVersion</td><td>String</td><td>API version number</td><td>V20</td><td>Required</td></tr>
      <tr><td>statusCode</td><td>String</td><td>Status code for the overall transaction request</td><td>V4</td><td>Required</td></tr>
      <tr><td>status</td><td>String</td><td>Description of the statusCode</td><td>V4</td><td>Required</td></tr>
      <tr><td>dataId</td><td>String</td><td>Merchant defined unique identifier for the data object</td><td>V50</td><td>Required</td></tr>
      <tr><td>dataTimestamp</td><td>String</td><td>Date and time of the request (YYYY-MM-DD HH:MM:SS)</td><td>F19</td><td>Required</td></tr>
      <tr><td>data</td><td>Object</td><td>Object that contains all transaction requests</td><td>-</td><td>-</td></tr>
      <tr><td>response</td><td>Array</td><td>Contains data applicable to transaction request</td><td>-</td><td>-</td></tr>
      <tr><td>orderId</td><td>String</td><td>A unique identifier for this request</td><td>V50</td><td>Required</td></tr>
      <tr><td>transactionId</td><td>String</td><td>Unique identifier for this request</td><td>V50</td><td>Required</td></tr>
      <tr><td>idempotencyKey</td><td>String</td><td>Unique transaction identifier to avoid duplicate request</td><td>V50</td><td>Required</td></tr>
      <tr><td>linkId</td><td>String</td><td>Id used to group related transactions</td><td>V50</td><td>Optional</td></tr>
      <tr><td>action</td><td>String</td><td>"balanceInquiry"</td><td>V50</td><td>Required</td></tr>
      <tr><td>statusCode</td><td>String</td><td>Status code for individual request</td><td>V4</td><td>Required</td></tr>
      <tr><td>status</td><td>String</td><td>Description of the individual statusCode</td><td>V50</td><td>Required</td></tr>
      <tr><td>tenderType</td><td>String</td><td>Payment Type: Credit, Debit, Gift etc</td><td>V50</td><td>Required</td></tr>
      <tr><td>cardType</td><td>String</td><td>Card Type: V, M, P, AX etc</td><td>V2</td><td>Conditional</td></tr>
      <tr><td>cardName</td><td>String</td><td>Card Name: Visa, MasterCard, Interac, Amex etc</td><td>V25</td><td>Conditional</td></tr>
      <tr><td>sequenceNum</td><td>String</td><td>Sequence Number</td><td>V18</td><td>Conditional</td></tr>
      <tr><td>realTimeUniqueId</td><td>String</td><td>Real Time Moneris Transaction Unique Identifier</td><td>F15</td><td>Conditional</td></tr>
      <tr><td>responseCode</td><td>String</td><td>Moneris Host Response Code</td><td>V3</td><td>Conditional</td></tr>
      <tr><td>iso</td><td>String</td><td>ISO response Code</td><td>V2</td><td>Conditional</td></tr>
      <tr><td>authCode</td><td>String</td><td>Authorization code returned from the issuing institution.</td><td>V8</td><td>Conditional</td></tr>
      <tr><td>formFactor</td><td>String</td><td>EMV Specific Data</td><td>F2</td><td>Conditional</td></tr>
      <tr><td>maskedPan</td><td>String</td><td>Masked Primary Account Number (PAN)</td><td>V21</td><td>Conditional</td></tr>
      <tr><td>completed</td><td>String</td><td>"true" or "false"</td><td>V5</td><td>Required</td></tr>
      <tr><td>terminalId</td><td>String</td><td>Destination Terminal ID</td><td>F8</td><td>Required</td></tr>
    </table>
    
    ### Response example    

    ```json
    {
       "apiVersion":"3.0",
       "statusCode":"example_statusCode",
       "status":"example_status",
       "dataId":"example_dataId",
       "dataTimestamp":"1969-12-31 23:59:59",
       "data":{
          "response":[
             {
                "orderId":"example_orderId",
                "transactionId":"example_transactionId",
                "statusCode":"example_statusCode",
                "status":"example_status",
                "idempotencyKey":"example_idempotencyKey",
                "completed":"true",
                "responseCode":"example_responseCode",
                "iso":"example_iso",
                "tenderType":"example_tenderType",
                "cardType":"example_cardType",
                "sequenceNum":"example_sequenceNum",
                "realTimeUniqueId":"example_realTimeUniqueId",
                "authCode":"example_authCode",
                "formFactor":"example_formFactor",
                "maskedPan":"example_maskedPan",
                "action":"balanceInquiry",
                "terminalId":"example_terminalId"
             }
          ]
       }
    }
    ```
  </Tab>

  <Tab title="Cloud">
    <table style={{ textAlign: "left" }}>
      <tr>
        <th>Element</th><th>Type</th><th>Description</th><th>Size</th><th>Required</th>
      </tr>

      <tr><td>receipt</td><td>Object</td><td>Contains the response data message</td><td>-</td><td>-</td></tr>
      <tr><td>apiVersion</td><td>String</td><td>API version number</td><td>V20</td><td>Required</td></tr>
      <tr><td>statusCode</td><td>String</td><td>Status code for the overall transaction request</td><td>V4</td><td>Required</td></tr>
      <tr><td>status</td><td>String</td><td>Description of the statusCode</td><td>V4</td><td>Required</td></tr>
      <tr><td>dataId</td><td>String</td><td>Merchant defined unique identifier for the data object</td><td>V50</td><td>Required</td></tr>
      <tr><td>dataTimestamp</td><td>String</td><td>Date and time of the request (YYYY-MM-DD HH:MM:SS)</td><td>F19</td><td>Required</td></tr>
      <tr><td>data</td><td>Object</td><td>Object that contains all transaction requests</td><td>-</td><td>-</td></tr>
      <tr><td>response</td><td>Array</td><td>Contains data applicable to transaction request</td><td>-</td><td>-</td></tr>
      <tr><td>orderId</td><td>String</td><td>Unique identifier for this request</td><td>V50</td><td>Required</td></tr>
      <tr><td>transactionId</td><td>String</td><td>Unique identifier for this request</td><td>V50</td><td>Required</td></tr>
      <tr><td>idempotencyKey</td><td>String</td><td>Unique transaction identifier to avoid duplicate request</td><td>V50</td><td>Required</td></tr>
      <tr><td>linkId</td><td>String</td><td>Id used to group related transactions</td><td>V50</td><td>Optional</td></tr>
      <tr><td>action</td><td>String</td><td>"balanceInquiry"</td><td>V50</td><td>Required</td></tr>
      <tr><td>statusCode</td><td>String</td><td>Status code for individual request</td><td>V4</td><td>Required</td></tr>
      <tr><td>status</td><td>String</td><td>Description of the individual statusCode</td><td>V50</td><td>Required</td></tr>
      <tr><td>tenderType</td><td>String</td><td>Payment Type: Credit, Debit, Gift etc</td><td>V50</td><td>Required</td></tr>
      <tr><td>cardType</td><td>String</td><td>Card Type: V, M, P, AX etc</td><td>V2</td><td>Conditional</td></tr>
      <tr><td>cardName</td><td>String</td><td>Card Name: Visa, MasterCard, Interac, Amex etc</td><td>V25</td><td>Conditional</td></tr>
      <tr><td>sequenceNum</td><td>String</td><td>Sequence Number</td><td>V18</td><td>Conditional</td></tr>
      <tr><td>realTimeUniqueId</td><td>String</td><td>Real Time Moneris Transaction Unique Identifier</td><td>F15</td><td>Conditional</td></tr>
      <tr><td>responseCode</td><td>String</td><td>Moneris Host Response Code</td><td>V3</td><td>Conditional</td></tr>
      <tr><td>iso</td><td>String</td><td>ISO response Code</td><td>V2</td><td>Conditional</td></tr>
      <tr><td>authCode</td><td>String</td><td>Authorization code returned from the issuing institution.</td><td>V8</td><td>Conditional</td></tr>
      <tr><td>formFactor</td><td>String</td><td>EMV Specific Data</td><td>F2</td><td>Conditional</td></tr>
      <tr><td>maskedPan</td><td>String</td><td>Masked Primary Account Number (PAN)</td><td>V21</td><td>Conditional</td></tr>
      <tr><td>completed</td><td>String</td><td>"true" or "false"</td><td>V5</td><td>Required</td></tr>
      <tr><td>cloudTicket</td><td>String</td><td>This is the unique reference id of the cloud request</td><td>V100</td><td>Required</td></tr>
      <tr><td>terminalId</td><td>String</td><td>Destination Terminal ID</td><td>F8</td><td>Required</td></tr>
    </table>

    ### Response example

    ```json
    {
       "receipt":{
          "apiVersion":"3.0",
          "statusCode":"example_statusCode",
          "status":"example_status",
          "dataId":"example_dataId",
          "dataTimestamp":"1969-12-31 23:59:59",
          "data":{
             "response":[
                {
                   "orderId":"example_orderId",
                   "transactionId":"example_transactionId",
                   "linkId":"example_linkId",
                   "statusCode":"example_statusCode",
                   "status":"example_status",
                   "idempotencyKey":"example_idempotencyKey",
                   "terminalId":"example_terminalId",
                   "cloudTicket":"example_cloudTicket",
                   "completed":"true",
                   "responseCode":"example_responseCode",
                   "iso":"example_iso",
                   "tenderType":"example_tenderType",
                   "cardType":"example_cardType",
                   "sequenceNum":"example_sequenceNum",
                   "realTimeUniqueId":"example_realTimeUniqueId",
                   "authCode":"example_authCode",
                   "formFactor":"example_formFactor",
                   "maskedPan":"example_maskedPan",
                   "cardStatus":"active",
                   "action":"balanceInquiry"
                }
             ]
          }
       }
    }
    ```
  </Tab>
</Tabs>

<br />

## Errors

If your response contains errors, visit the [Errors page](error-response-codes) for a detailed description of each one.