Delphi ActiveX Stripe: Retrieve a Payout

Back to Index

Retrieves the details of an existing payout. Supply the unique payout ID from either a payout creation request or the payout list, and Stripe will return the corresponding payout information.

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

CURL Command

curl https://api.stripe.com/v1/payouts/po_1BnETKGswQrCoh0XeUopRyDR \
   -u STRIPE_SECRET_KEY:

Delphi ActiveX Example

var
rest: TChilkatRest;
success: Integer;
bTls: Integer;
port: Integer;
bAutoReconnect: Integer;
sbResponseBody: TChilkatStringBuilder;
jsonResponse: TChilkatJsonObject;
id: WideString;
object: WideString;
amount: Integer;
arrival_date: Integer;
automatic: Integer;
balance_transaction: WideString;
created: Integer;
currency: WideString;
description: WideString;
destination: WideString;
failure_balance_transaction: Integer;
failure_code: Integer;
failure_message: Integer;
livemode: Integer;
method: WideString;
source_type: WideString;
statement_descriptor: Integer;
status: WideString;
type: WideString;

begin
rest := TChilkatRest.Create(Self);

//  URL: https://api.stripe.com/v1/payouts/po_1BnETKGswQrCoh0XeUopRyDR
bTls := 1;
port := 443;
bAutoReconnect := 1;
success := rest.Connect('api.stripe.com',port,bTls,bAutoReconnect);
if (success <> 1) then
  begin
    Memo1.Lines.Add('ConnectFailReason: ' + IntToStr(rest.ConnectFailReason));
    Memo1.Lines.Add(rest.LastErrorText);
    Exit;
  end;

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

sbResponseBody := TChilkatStringBuilder.Create(Self);
success := rest.FullRequestNoBodySb('GET','/v1/payouts/po_1BnETKGswQrCoh0XeUopRyDR',sbResponseBody.ControlInterface);
if (success <> 1) then
  begin
    Memo1.Lines.Add(rest.LastErrorText);
    Exit;
  end;

jsonResponse := TChilkatJsonObject.Create(Self);
jsonResponse.LoadSb(sbResponseBody.ControlInterface);

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