Creates a single use token that wraps the details of a bank account. This token can be used in place of a bank account dictionary with any API method.
curl https://api.stripe.com/v1/tokens \
-u STRIPE_SECRET_KEY: \
-d bank_account[country]=US \
-d bank_account[currency]=usd \
-d bank_account[account_holder_name]="Chloe White" \
-d bank_account[account_holder_type]=individual \
-d bank_account[routing_number]=110000000 \
-d bank_account[account_number]=000123456789 \
-X POST
#include <CkRestW.h>
#include <CkJsonObjectW.h>
void ChilkatSample(void)
{
CkRestW rest;
bool success;
// URL: https://api.stripe.com/v1/tokens
bool bTls = true;
int port = 443;
bool bAutoReconnect = true;
success = rest.Connect(L"api.stripe.com",port,bTls,bAutoReconnect);
if (success != true) {
wprintf(L"ConnectFailReason: %d\n",rest.get_ConnectFailReason());
wprintf(L"%s\n",rest.lastErrorText());
return;
}
rest.SetAuthBasic(L"STRIPE_SECRET_KEY",L"");
rest.AddQueryParam(L"bank_account[country]",L"US");
rest.AddQueryParam(L"bank_account[currency]",L"usd");
rest.AddQueryParam(L"bank_account[account_holder_name]",L"Chloe White");
rest.AddQueryParam(L"bank_account[account_holder_type]",L"individual");
rest.AddQueryParam(L"bank_account[routing_number]",L"110000000");
rest.AddQueryParam(L"bank_account[account_number]",L"000123456789");
const wchar_t *strResponseBody = rest.fullRequestFormUrlEncoded(L"POST",L"/v1/tokens");
if (rest.get_LastMethodSuccess() != true) {
wprintf(L"%s\n",rest.lastErrorText());
return;
}
CkJsonObjectW jsonResponse;
jsonResponse.Load(strResponseBody);
const wchar_t *id = 0;
const wchar_t *object = 0;
const wchar_t *bank_accountId = 0;
const wchar_t *bank_accountObject = 0;
const wchar_t *bank_accountAccount_holder_name = 0;
const wchar_t *bank_accountAccount_holder_type = 0;
const wchar_t *bank_accountBank_name = 0;
const wchar_t *bank_accountCountry = 0;
const wchar_t *bank_accountCurrency = 0;
const wchar_t *bank_accountFingerprint = 0;
const wchar_t *bank_accountLast4 = 0;
const wchar_t *bank_accountRouting_number = 0;
const wchar_t *bank_accountStatus = 0;
bool client_ip;
int created;
bool livemode;
const wchar_t *type = 0;
bool used;
id = jsonResponse.stringOf(L"id");
object = jsonResponse.stringOf(L"object");
bank_accountId = jsonResponse.stringOf(L"bank_account.id");
bank_accountObject = jsonResponse.stringOf(L"bank_account.object");
bank_accountAccount_holder_name = jsonResponse.stringOf(L"bank_account.account_holder_name");
bank_accountAccount_holder_type = jsonResponse.stringOf(L"bank_account.account_holder_type");
bank_accountBank_name = jsonResponse.stringOf(L"bank_account.bank_name");
bank_accountCountry = jsonResponse.stringOf(L"bank_account.country");
bank_accountCurrency = jsonResponse.stringOf(L"bank_account.currency");
bank_accountFingerprint = jsonResponse.stringOf(L"bank_account.fingerprint");
bank_accountLast4 = jsonResponse.stringOf(L"bank_account.last4");
bank_accountRouting_number = jsonResponse.stringOf(L"bank_account.routing_number");
bank_accountStatus = jsonResponse.stringOf(L"bank_account.status");
client_ip = jsonResponse.IsNullOf(L"client_ip");
created = jsonResponse.IntOf(L"created");
livemode = jsonResponse.BoolOf(L"livemode");
type = jsonResponse.stringOf(L"type");
used = jsonResponse.BoolOf(L"used");
}
{
"id": "btok_1BnETKGswQrCoh0X86abg4gM",
"object": "token",
"bank_account": {
"id": "ba_1BnETKGswQrCoh0XptCSwzal",
"object": "bank_account",
"account_holder_name": "Jane Austen",
"account_holder_type": "individual",
"bank_name": "STRIPE TEST BANK",
"country": "US",
"currency": "usd",
"fingerprint": "L2j4aSuWk1MZMDZ5",
"last4": "6789",
"routing_number": "110000000",
"status": "new"
},
"client_ip": null,
"created": 1516662782,
"livemode": false,
"type": "bank_account",
"used": false
}