Debit Balance Inquiry

Debit Balance Inquiry allows customers to check the available balance of their checking or savings account.

note

A PIN is required for Debit Balance Inquiry. This feature is only supported when using a card reader that supports PIN entry.

Code Samples

CWS

Request

PropertyDescription
method
string | required
startPaymentTransaction
requestId
string | required
Transaction Request ID
targetType
string | required
paymentGatewayConverge
parameters
JSONObject | required
All relevant parameters for Balance Inquiry transactions.
paymentGatewayId
string | required
Payment Gateway ID
Unique identifier of the payment gateway as returned in the openPaymentGateway transaction response.
transactionType
string | required
Transaction Type
Valid value: BALANCE_INQUIRY
tenderType
string | required
Tender Type
Valid value: CARD

Start the transaction:

{
  "method" : "startPaymentTransaction",
  "requestId" : "832364634",
  "targetType" : "paymentGatewayConverge",
  "parameters" : {
    "paymentGatewayId" : "11b0032b-eb0d-4d9a-8664-eb430684cb92",
    "transactionType" : "BALANCE_INQUIRY",
    "tenderType" : "CARD"
  }
}

Later to query the status of the transaction:

{
  "method" : "getPaymentTransactionStatus",
  "requestId" : "832364635",
  "targetType" : "paymentGatewayConverge",
  "parameters" : {
    "paymentGatewayId" : "11b0032b-eb0d-4d9a-8664-eb430684cb92",
    "chanId" : "ab8bbccc-c524-4724-9c4c-fffca368fd04"
  }
}

Response

Initial response to startPaymentTransaction request:

{
  "requestId" : "832364634",
  "statusDetails" : "REQUEST_ACCEPTED",
  "data" : {
    "paymentGatewayCommand" : {
      "completed" : false,
      "eventQueue" : [
        {
          "timeStamp" : "1645224445538",
          "statusDetails" : "STARTING"
        }
      ],
      "chanId" : "ab8bbccc-c524-4724-9c4c-fffca368fd04"
      }
   }
}

Complete response:

{
  "requestId" : "832364635",
  "statusDetails" : "REQUEST_ACCEPTED"
  "data" : {
    "paymentGatewayCommand" : {
      "completed" : true,
      "chanId" : "ab8bbccc-c524-4724-9c4c-fffca368fd04",
      "paymentTransactionData" : {
        "transactionType" : "BALANCE_INQUIRY",
        "tenderType" : "CARD",
        "result" : "APPROVED",
        "id" : "180222ED3-E412C039-8C45-49F6-875E-0BDA145A7CAF",
        "date" : "Fri Feb 18 18:05:04 EST 2022",
        "debitAccountType" : "CHECKING",
        "maskedPan" : "47**********0135",
        "cardType" : "DEBIT",
        "firstName" : "TEST CARD 19",
        "lastName" : "UAT USA",
        "referenceNumber" : "65104",
        "isFallback" : false,
        "accountBalance" : {
          "value" : 100,
          "currencyCode" : "USD"
        },
        "cardEntryType" : "SWIPE",
        "approved" : "yes",
        "errors" : []
      }
    }
  }
}

Java

  1. Initialize Commerce SDK and receive an ECLAccountInterface instance named account.

  2. Create a transaction reference.

    ECLBalanceInquiryTransactionInterface transaction = account.getTransactionProcessor().createBalanceInquiryTransaction();
    

Objective-C

  1. Initialize Commerce SDK and receive an ECLAccountProtocol instance named account.

  2. Create a transaction protocol.

    id<ECLBalanceInquiryTransactionProtocol> transaction = [[_account transactionProcessor] createBalanceInquiryTransaction];
    

C#

PaymentArgs paymentArgs = new PaymentArgs();
paymentArgs.tenderType = TenderType.CARD;
paymentArgs.transactionType = TransactionType.BALANCE_INQUIRY;
paymentArgs.paymentGatewayId = m_PaymentGatewayId;
  
m_CWS.StartPaymentTransaction(paymentArgs, MyNotifyCWSEvent, MyPaymentComplete);