Tcl Stripe: List all Payouts

Back to Index

Returns a list of existing payouts sent to third-party bank accounts or that Stripe has sent you. The payouts are returned in sorted order, with the most recently created payouts appearing first.

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

CURL Command

curl https://api.stripe.com/v1/payouts?limit=3 \
   -u STRIPE_SECRET_KEY: \
   -G

Tcl Example


load ./chilkat.dll

set rest [new_CkRest]

#  URL: https://api.stripe.com/v1/payouts?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/payouts?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 amount [CkJsonObject_IntOf $jsonResponse "data[i].amount"]
    set arrival_date [CkJsonObject_IntOf $jsonResponse "data[i].arrival_date"]
    set automatic [CkJsonObject_BoolOf $jsonResponse "data[i].automatic"]
    set balance_transaction [CkJsonObject_stringOf $jsonResponse "data[i].balance_transaction"]
    set created [CkJsonObject_IntOf $jsonResponse "data[i].created"]
    set currency [CkJsonObject_stringOf $jsonResponse "data[i].currency"]
    set description [CkJsonObject_stringOf $jsonResponse "data[i].description"]
    set destination [CkJsonObject_stringOf $jsonResponse "data[i].destination"]
    set failure_balance_transaction [CkJsonObject_IsNullOf $jsonResponse "data[i].failure_balance_transaction"]
    set failure_code [CkJsonObject_IsNullOf $jsonResponse "data[i].failure_code"]
    set failure_message [CkJsonObject_IsNullOf $jsonResponse "data[i].failure_message"]
    set livemode [CkJsonObject_BoolOf $jsonResponse "data[i].livemode"]
    set method [CkJsonObject_stringOf $jsonResponse "data[i].method"]
    set source_type [CkJsonObject_stringOf $jsonResponse "data[i].source_type"]
    set statement_descriptor [CkJsonObject_IsNullOf $jsonResponse "data[i].statement_descriptor"]
    set status [CkJsonObject_stringOf $jsonResponse "data[i].status"]
    set type [CkJsonObject_stringOf $jsonResponse "data[i].type"]
    set i [expr $i + 1]
}

delete_CkRest $rest
delete_CkStringBuilder $sbResponseBody
delete_CkJsonObject $jsonResponse

Sample JSON Response Body

{
  "object": "list",
  "url": "/v1/payouts",
  "has_more": false,
  "data": [
    {
      "id": "po_1BnETKGswQrCoh0XeUopRyDR",
      "object": "payout",
      "amount": 1100,
      "arrival_date": 1516662782,
      "automatic": true,
      "balance_transaction": "txn_1BnETKGswQrCoh0X762wrMpF",
      "created": 1516662782,
      "currency": "usd",
      "description": "STRIPE TRANSFER",
      "destination": "ba_1BnETKGswQrCoh0XO5G2kEG5",
      "failure_balance_transaction": null,
      "failure_code": null,
      "failure_message": null,
      "livemode": false,
      "metadata": {},
      "method": "standard",
      "source_type": "card",
      "statement_descriptor": null,
      "status": "in_transit",
      "type": "bank_account"
    }
  ]
}