To send funds to your own bank account, you create a new payout object.
curl -X POST https://api.stripe.com/v1/payouts \
-u STRIPE_SECRET_KEY: \
-d amount=400 \
-d currency=usd
var
rest: TChilkatRest;
success: Integer;
bTls: Integer;
port: Integer;
bAutoReconnect: Integer;
strResponseBody: WideString;
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
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','');
rest.AddQueryParam('amount','400');
rest.AddQueryParam('currency','usd');
strResponseBody := rest.FullRequestFormUrlEncoded('POST','/v1/payouts');
if (rest.LastMethodSuccess <> 1) then
begin
Memo1.Lines.Add(rest.LastErrorText);
Exit;
end;
jsonResponse := TChilkatJsonObject.Create(Self);
jsonResponse.Load(strResponseBody);
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');
{
"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"
}