Visual FoxPro 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:

Visual FoxPro Example

LOCAL loRest
LOCAL lnSuccess
LOCAL lnBTls
LOCAL lnPort
LOCAL lnBAutoReconnect
LOCAL loSbResponseBody
LOCAL loJsonResponse
LOCAL lcObject
LOCAL lnLivemode
LOCAL i
LOCAL lnCount_i
LOCAL lcCurrency
LOCAL lnAmount
LOCAL lnSource_typesCard

loRest = CreateObject('Chilkat_9_5_0.Rest')

*  URL: https://api.stripe.com/v1/balance
lnBTls = 1
lnPort = 443
lnBAutoReconnect = 1
lnSuccess = loRest.Connect("api.stripe.com",lnPort,lnBTls,lnBAutoReconnect)
IF (lnSuccess <> 1) THEN
    ? "ConnectFailReason: " + STR(loRest.ConnectFailReason)
    ? loRest.LastErrorText
    RELEASE loRest
    CANCEL
ENDIF

loRest.SetAuthBasic("STRIPE_SECRET_KEY","")

loSbResponseBody = CreateObject('Chilkat_9_5_0.StringBuilder')
lnSuccess = loRest.FullRequestNoBodySb("GET","/v1/balance",loSbResponseBody)
IF (lnSuccess <> 1) THEN
    ? loRest.LastErrorText
    RELEASE loRest
    RELEASE loSbResponseBody
    CANCEL
ENDIF

loJsonResponse = CreateObject('Chilkat_9_5_0.JsonObject')
loJsonResponse.LoadSb(loSbResponseBody)

lcObject = loJsonResponse.StringOf("object")
lnLivemode = loJsonResponse.BoolOf("livemode")
i = 0
lnCount_i = loJsonResponse.SizeOfArray("available")
DO WHILE i < lnCount_i
    loJsonResponse.I = i
    lcCurrency = loJsonResponse.StringOf("available[i].currency")
    lnAmount = loJsonResponse.IntOf("available[i].amount")
    lnSource_typesCard = loJsonResponse.IntOf("available[i].source_types.card")
    i = i + 1
ENDDO
i = 0
lnCount_i = loJsonResponse.SizeOfArray("pending")
DO WHILE i < lnCount_i
    loJsonResponse.I = i
    lcCurrency = loJsonResponse.StringOf("pending[i].currency")
    lnAmount = loJsonResponse.IntOf("pending[i].amount")
    lnSource_typesCard = loJsonResponse.IntOf("pending[i].source_types.card")
    i = i + 1
ENDDO

RELEASE loRest
RELEASE loSbResponseBody
RELEASE loJsonResponse

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
      }
    }
  ]
}