CSQ Docs
    CSQ Docs
    CSQ API Doc
    • CSQ API Doc
    • Dummy Product Usage Guide
    • Postpaid
    • Billpayment
    • Get Parameters
      GET
    • Get Invoices
      POST
    • Payment
      POST

      Get Parameters

      GET
      /post-paid/bill-payment/parameters/{terminalId}/{operatorId}
      postpaid-bill-payment-controller

      📥 Get Parameters – Dynamic Field Discovery#

      This method retrieves the dynamic set of fields required to query and pay invoices for a specific postpaid product. It is the first step in the invoice payment workflow and must be called before any other operation.

      🔍 Description#

      Each postpaid product may require different input fields depending on the operator’s configuration. This endpoint allows clients to dynamically discover:
      Which fields are needed to query pending invoices
      Which fields are required to execute a payment
      How to render those fields in the UI (labels, input types, etc.)
      This ensures flexibility across different billers and avoids hardcoding field names.

      📥 Request#

      FieldTypeRequiredDescription
      terminalIdstring✅ YesID of the terminal initiating the request
      operatorIdstring✅ YesID of the postpaid operator or biller

      📤 Response#

      Returns a structure with three key blocks:
      KeyDescription
      queryArray of field names required to query pending invoices
      payArray of field names required to execute the payment
      frontUI helper array to render labels and field types (e.g., INPUT, SELECT, etc)

      ✅ Example#

      {
        "rc": 0,
        "message": "OK",
        "front": [
          { "name": "card_code", "label": "CARD CODE", "type": "INPUT" },
          { "name": "installments_to_pay", "label": "INSTALLMENTS TO PAY", "type": "INPUT" }
        ],
        "query": ["card_code", "installments_to_pay"],
        "pay": ["card_code", "installments_to_pay", "transaction_code"]
      }

      🧠 Usage Notes#

      This method should always be called first to dynamically build the required fields for the specific product.
      Use the fields listed under query in the next step to retrieve pending invoices.
      Use the pay fields — along with any additionalData returned in Step 2 — to construct the final payment request.
      The front section provides metadata (labels and field types) to help render input fields dynamically in the front-end interface.

      Request

      Path Params
      terminalId
      integer <int32>
      required
      operatorId
      integer <int32>
      required
      Header Params
      U
      string 
      required
      Default:
      {{U}}
      SH
      string 
      required
      Default:
      {{SH}}
      ST
      string 
      required
      Default:
      {{ST}}

      Request samples

      Shell
      JavaScript
      Java
      Swift
      Go
      PHP
      Python
      HTTP
      C
      C#
      Objective-C
      Ruby
      OCaml
      Dart
      R
      Request Request Example
      Shell
      JavaScript
      Java
      Swift
      curl --location --request GET 'https://evsb.csqworld.com/post-paid/bill-payment/parameters//' \
      --header 'U;' \
      --header 'SH;' \
      --header 'ST;'

      Responses

      🟢200OK
      application/json
      OK
      Body
      rc
      integer <int32>
      optional
      message
      string 
      optional
      front
      array[object (BillPaymentFront) {6}] 
      optional
      name
      string 
      optional
      label
      string 
      optional
      type
      enum<string> 
      optional
      Allowed values:
      INPUTSELECT
      list
      array[object (BillPaymentValue) {2}] 
      optional
      minLength
      integer <int32>
      optional
      maxLength
      integer <int32>
      optional
      query
      array[string]
      optional
      pay
      array[string]
      optional
      Example
      {
          "rc": 0,
          "message": "string",
          "front": [
              {
                  "name": "string",
                  "label": "string",
                  "type": "INPUT",
                  "list": [
                      {
                          "text": "string",
                          "value": "string"
                      }
                  ],
                  "minLength": 0,
                  "maxLength": 0
              }
          ],
          "query": [
              "string"
          ],
          "pay": [
              "string"
          ]
      }
      Modified at 2025-07-03 19:38:55
      Next
      Get Invoices
      Built with