Tcl Stripe: List all Cards

Back to Index

List the cards belonging to a customer or recipient.

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

CURL Command

curl "https://api.stripe.com/v1/customers/cus_CBbg3iRMzWBjoe/sources?object=card&limit=3" \
   -u STRIPE_SECRET_KEY: \
   -G

Tcl Example


load ./chilkat.dll

set rest [new_CkRest]

#  URL: https://api.stripe.com/v1/customers/cus_CBbg3iRMzWBjoe/sources?object=card&limit=3
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/customers/cus_CBbg3iRMzWBjoe/sources?object=card&limit=3" $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 url [CkJsonObject_stringOf $jsonResponse "url"]
set has_more [CkJsonObject_BoolOf $jsonResponse "has_more"]
set i 0
set count_i [CkJsonObject_SizeOfArray $jsonResponse "data"]
while {[expr $i < $count_i]} {
    CkJsonObject_put_I $jsonResponse $i
    set id [CkJsonObject_stringOf $jsonResponse "data[i].id"]
    set object [CkJsonObject_stringOf $jsonResponse "data[i].object"]
    set address_city [CkJsonObject_IsNullOf $jsonResponse "data[i].address_city"]
    set address_country [CkJsonObject_IsNullOf $jsonResponse "data[i].address_country"]
    set address_line1 [CkJsonObject_IsNullOf $jsonResponse "data[i].address_line1"]
    set address_line1_check [CkJsonObject_IsNullOf $jsonResponse "data[i].address_line1_check"]
    set address_line2 [CkJsonObject_IsNullOf $jsonResponse "data[i].address_line2"]
    set address_state [CkJsonObject_IsNullOf $jsonResponse "data[i].address_state"]
    set address_zip [CkJsonObject_IsNullOf $jsonResponse "data[i].address_zip"]
    set address_zip_check [CkJsonObject_IsNullOf $jsonResponse "data[i].address_zip_check"]
    set brand [CkJsonObject_stringOf $jsonResponse "data[i].brand"]
    set country [CkJsonObject_stringOf $jsonResponse "data[i].country"]
    set customer [CkJsonObject_stringOf $jsonResponse "data[i].customer"]
    set cvc_check [CkJsonObject_IsNullOf $jsonResponse "data[i].cvc_check"]
    set dynamic_last4 [CkJsonObject_IsNullOf $jsonResponse "data[i].dynamic_last4"]
    set exp_month [CkJsonObject_IntOf $jsonResponse "data[i].exp_month"]
    set exp_year [CkJsonObject_IntOf $jsonResponse "data[i].exp_year"]
    set fingerprint [CkJsonObject_stringOf $jsonResponse "data[i].fingerprint"]
    set funding [CkJsonObject_stringOf $jsonResponse "data[i].funding"]
    set last4 [CkJsonObject_stringOf $jsonResponse "data[i].last4"]
    set name [CkJsonObject_IsNullOf $jsonResponse "data[i].name"]
    set tokenization_method [CkJsonObject_IsNullOf $jsonResponse "data[i].tokenization_method"]
    set i [expr $i + 1]
}

delete_CkRest $rest
delete_CkStringBuilder $sbResponseBody
delete_CkJsonObject $jsonResponse

Sample JSON Response Body

{
  "object": "list",
  "url": "/v1/customers/cus_CBbg3iRMzWBjoe/sources",
  "has_more": false,
  "data": [
    {
      "id": "card_1BnETKGswQrCoh0Xhu1A6BfL",
      "object": "card",
      "address_city": null,
      "address_country": null,
      "address_line1": null,
      "address_line1_check": null,
      "address_line2": null,
      "address_state": null,
      "address_zip": null,
      "address_zip_check": null,
      "brand": "Visa",
      "country": "US",
      "customer": "cus_CBbg3iRMzWBjoe",
      "cvc_check": null,
      "dynamic_last4": null,
      "exp_month": 8,
      "exp_year": 2019,
      "fingerprint": "F9mANtIt1TaukpRJ",
      "funding": "credit",
      "last4": "4242",
      "metadata": {},
      "name": null,
      "tokenization_method": null
    }
  ]
}