Tcl Stripe: Update a Payout

Back to Index

Updates the specified payout by setting the values of the parameters passed. Any parameters not provided will be left unchanged. This request accepts only the metadata as arguments.

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

CURL Command

curl -X POST https://api.stripe.com/v1/payouts/po_1BnETKGswQrCoh0XeUopRyDR \
   -u STRIPE_SECRET_KEY: \
   -d metadata[order_id]=6735

Tcl Example


load ./chilkat.dll

set rest [new_CkRest]

#  URL: https://api.stripe.com/v1/payouts/po_1BnETKGswQrCoh0XeUopRyDR
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" ""

CkRest_AddQueryParam $rest "metadata[order_id]" "6735"

set strResponseBody [CkRest_fullRequestFormUrlEncoded $rest "POST" "/v1/payouts/po_1BnETKGswQrCoh0XeUopRyDR"]
if {[expr [CkRest_LastMethodSuccess $rest] != 1]} then {
    puts [CkRest_lastErrorText $rest]
    delete_CkRest $rest
    exit
}

set jsonResponse [new_CkJsonObject]

CkJsonObject_Load $jsonResponse $strResponseBody

set id [CkJsonObject_stringOf $jsonResponse "id"]
set object [CkJsonObject_stringOf $jsonResponse "object"]
set amount [CkJsonObject_IntOf $jsonResponse "amount"]
set arrival_date [CkJsonObject_IntOf $jsonResponse "arrival_date"]
set automatic [CkJsonObject_BoolOf $jsonResponse "automatic"]
set balance_transaction [CkJsonObject_stringOf $jsonResponse "balance_transaction"]
set created [CkJsonObject_IntOf $jsonResponse "created"]
set currency [CkJsonObject_stringOf $jsonResponse "currency"]
set description [CkJsonObject_stringOf $jsonResponse "description"]
set destination [CkJsonObject_stringOf $jsonResponse "destination"]
set failure_balance_transaction [CkJsonObject_IsNullOf $jsonResponse "failure_balance_transaction"]
set failure_code [CkJsonObject_IsNullOf $jsonResponse "failure_code"]
set failure_message [CkJsonObject_IsNullOf $jsonResponse "failure_message"]
set livemode [CkJsonObject_BoolOf $jsonResponse "livemode"]
set method [CkJsonObject_stringOf $jsonResponse "method"]
set source_type [CkJsonObject_stringOf $jsonResponse "source_type"]
set statement_descriptor [CkJsonObject_IsNullOf $jsonResponse "statement_descriptor"]
set status [CkJsonObject_stringOf $jsonResponse "status"]
set type [CkJsonObject_stringOf $jsonResponse "type"]

delete_CkRest $rest
delete_CkJsonObject $jsonResponse

Sample JSON Response Body

{
  "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"
}