Tcl Stripe: Retrieve Balance

Back to Index

Retrieves the current account balance, based on the authentication that was used to make the request.

Documentation: https://stripe.com/docs/api/curl#retrieve_balance

CURL Command

curl https://api.stripe.com/v1/balance \
   -u STRIPE_SECRET_KEY:

Tcl Example


load ./chilkat.dll

set rest [new_CkRest]

#  URL: https://api.stripe.com/v1/balance
set bTls 1
set port 443
set bAutoReconnect 1
set success [CkRest_Connect $rest "api.stripe.com" $port $bTls $bAutoReconnect]
if {[expr $success != 1]} then {
    puts "ConnectFailReason: [CkRest_ConnectFailReason $rest]"
    puts [CkRest_lastErrorText $rest]
    delete_CkRest $rest
    exit
}

CkRest_SetAuthBasic $rest "STRIPE_SECRET_KEY" ""

set sbResponseBody [new_CkStringBuilder]

set success [CkRest_FullRequestNoBodySb $rest "GET" "/v1/balance" $sbResponseBody]
if {[expr $success != 1]} then {
    puts [CkRest_lastErrorText $rest]
    delete_CkRest $rest
    delete_CkStringBuilder $sbResponseBody
    exit
}

set jsonResponse [new_CkJsonObject]

CkJsonObject_LoadSb $jsonResponse $sbResponseBody

set object [CkJsonObject_stringOf $jsonResponse "object"]
set livemode [CkJsonObject_BoolOf $jsonResponse "livemode"]
set i 0
set count_i [CkJsonObject_SizeOfArray $jsonResponse "available"]
while {[expr $i < $count_i]} {
    CkJsonObject_put_I $jsonResponse $i
    set currency [CkJsonObject_stringOf $jsonResponse "available[i].currency"]
    set amount [CkJsonObject_IntOf $jsonResponse "available[i].amount"]
    set source_typesCard [CkJsonObject_IntOf $jsonResponse "available[i].source_types.card"]
    set i [expr $i + 1]
}
set i 0
set count_i [CkJsonObject_SizeOfArray $jsonResponse "pending"]
while {[expr $i < $count_i]} {
    CkJsonObject_put_I $jsonResponse $i
    set currency [CkJsonObject_stringOf $jsonResponse "pending[i].currency"]
    set amount [CkJsonObject_IntOf $jsonResponse "pending[i].amount"]
    set source_typesCard [CkJsonObject_IntOf $jsonResponse "pending[i].source_types.card"]
    set i [expr $i + 1]
}

delete_CkRest $rest
delete_CkStringBuilder $sbResponseBody
delete_CkJsonObject $jsonResponse

Sample JSON Response Body

{
  "object": "balance",
  "available": [
    {
      "currency": "usd",
      "amount": 0,
      "source_types": {
        "card": 0
      }
    }
  ],
  "livemode": false,
  "pending": [
    {
      "currency": "usd",
      "amount": 0,
      "source_types": {
        "card": 0
      }
    }
  ]
}