C++ 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

C++ Example

#include <CkRest.h>
#include <CkJsonObject.h>

void ChilkatSample(void)
    {
    CkRest rest;
    bool success;

    //  URL: https://api.stripe.com/v1/payouts/po_1BnETKGswQrCoh0XeUopRyDR
    bool bTls = true;
    int port = 443;
    bool bAutoReconnect = true;
    success = rest.Connect("api.stripe.com",port,bTls,bAutoReconnect);
    if (success != true) {
        std::cout << "ConnectFailReason: " << rest.get_ConnectFailReason() << "\r\n";
        std::cout << rest.lastErrorText() << "\r\n";
        return;
    }

    rest.SetAuthBasic("STRIPE_SECRET_KEY","");

    rest.AddQueryParam("metadata[order_id]","6735");

    const char *strResponseBody = rest.fullRequestFormUrlEncoded("POST","/v1/payouts/po_1BnETKGswQrCoh0XeUopRyDR");
    if (rest.get_LastMethodSuccess() != true) {
        std::cout << rest.lastErrorText() << "\r\n";
        return;
    }

    CkJsonObject jsonResponse;
    jsonResponse.Load(strResponseBody);

    const char *id = 0;
    const char *object = 0;
    int amount;
    int arrival_date;
    bool automatic;
    const char *balance_transaction = 0;
    int created;
    const char *currency = 0;
    const char *description = 0;
    const char *destination = 0;
    bool failure_balance_transaction;
    bool failure_code;
    bool failure_message;
    bool livemode;
    const char *method = 0;
    const char *source_type = 0;
    bool statement_descriptor;
    const char *status = 0;
    const char *type = 0;

    id = jsonResponse.stringOf("id");
    object = jsonResponse.stringOf("object");
    amount = jsonResponse.IntOf("amount");
    arrival_date = jsonResponse.IntOf("arrival_date");
    automatic = jsonResponse.BoolOf("automatic");
    balance_transaction = jsonResponse.stringOf("balance_transaction");
    created = jsonResponse.IntOf("created");
    currency = jsonResponse.stringOf("currency");
    description = jsonResponse.stringOf("description");
    destination = jsonResponse.stringOf("destination");
    failure_balance_transaction = jsonResponse.IsNullOf("failure_balance_transaction");
    failure_code = jsonResponse.IsNullOf("failure_code");
    failure_message = jsonResponse.IsNullOf("failure_message");
    livemode = jsonResponse.BoolOf("livemode");
    method = jsonResponse.stringOf("method");
    source_type = jsonResponse.stringOf("source_type");
    statement_descriptor = jsonResponse.IsNullOf("statement_descriptor");
    status = jsonResponse.stringOf("status");
    type = jsonResponse.stringOf("type");
    }

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