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 <C_CkRestW.h>
#include <C_CkJsonObjectW.h>
void ChilkatSample(void)
{
HCkRestW rest;
BOOL success;
BOOL bTls;
int port;
BOOL bAutoReconnect;
const wchar_t *strResponseBody;
HCkJsonObjectW jsonResponse;
const wchar_t *id;
const wchar_t *object;
const wchar_t *bank_accountId;
const wchar_t *bank_accountObject;
const wchar_t *bank_accountAccount_holder_name;
const wchar_t *bank_accountAccount_holder_type;
const wchar_t *bank_accountBank_name;
const wchar_t *bank_accountCountry;
const wchar_t *bank_accountCurrency;
const wchar_t *bank_accountFingerprint;
const wchar_t *bank_accountLast4;
const wchar_t *bank_accountRouting_number;
const wchar_t *bank_accountStatus;
BOOL client_ip;
int created;
BOOL livemode;
const wchar_t *type;
BOOL used;
rest = CkRestW_Create();
// URL: https://api.stripe.com/v1/tokens
bTls = TRUE;
port = 443;
bAutoReconnect = TRUE;
success = CkRestW_Connect(rest,L"api.stripe.com",port,bTls,bAutoReconnect);
if (success != TRUE) {
wprintf(L"ConnectFailReason: %d\n",CkRestW_getConnectFailReason(rest));
wprintf(L"%s\n",CkRestW_lastErrorText(rest));
CkRestW_Dispose(rest);
return;
}
CkRestW_SetAuthBasic(rest,L"STRIPE_SECRET_KEY",L"");
CkRestW_AddQueryParam(rest,L"bank_account[country]",L"US");
CkRestW_AddQueryParam(rest,L"bank_account[currency]",L"usd");
CkRestW_AddQueryParam(rest,L"bank_account[account_holder_name]",L"Chloe White");
CkRestW_AddQueryParam(rest,L"bank_account[account_holder_type]",L"individual");
CkRestW_AddQueryParam(rest,L"bank_account[routing_number]",L"110000000");
CkRestW_AddQueryParam(rest,L"bank_account[account_number]",L"000123456789");
strResponseBody = CkRestW_fullRequestFormUrlEncoded(rest,L"POST",L"/v1/tokens");
if (CkRestW_getLastMethodSuccess(rest) != TRUE) {
wprintf(L"%s\n",CkRestW_lastErrorText(rest));
CkRestW_Dispose(rest);
return;
}
jsonResponse = CkJsonObjectW_Create();
CkJsonObjectW_Load(jsonResponse,strResponseBody);
id = CkJsonObjectW_stringOf(jsonResponse,L"id");
object = CkJsonObjectW_stringOf(jsonResponse,L"object");
bank_accountId = CkJsonObjectW_stringOf(jsonResponse,L"bank_account.id");
bank_accountObject = CkJsonObjectW_stringOf(jsonResponse,L"bank_account.object");
bank_accountAccount_holder_name = CkJsonObjectW_stringOf(jsonResponse,L"bank_account.account_holder_name");
bank_accountAccount_holder_type = CkJsonObjectW_stringOf(jsonResponse,L"bank_account.account_holder_type");
bank_accountBank_name = CkJsonObjectW_stringOf(jsonResponse,L"bank_account.bank_name");
bank_accountCountry = CkJsonObjectW_stringOf(jsonResponse,L"bank_account.country");
bank_accountCurrency = CkJsonObjectW_stringOf(jsonResponse,L"bank_account.currency");
bank_accountFingerprint = CkJsonObjectW_stringOf(jsonResponse,L"bank_account.fingerprint");
bank_accountLast4 = CkJsonObjectW_stringOf(jsonResponse,L"bank_account.last4");
bank_accountRouting_number = CkJsonObjectW_stringOf(jsonResponse,L"bank_account.routing_number");
bank_accountStatus = CkJsonObjectW_stringOf(jsonResponse,L"bank_account.status");
client_ip = CkJsonObjectW_IsNullOf(jsonResponse,L"client_ip");
created = CkJsonObjectW_IntOf(jsonResponse,L"created");
livemode = CkJsonObjectW_BoolOf(jsonResponse,L"livemode");
type = CkJsonObjectW_stringOf(jsonResponse,L"type");
used = CkJsonObjectW_BoolOf(jsonResponse,L"used");
CkRestW_Dispose(rest);
CkJsonObjectW_Dispose(jsonResponse);
}
{
"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
}