type Stripe = {
token: string;
};
/**
* Post accounts account
* Updates a connected account by setting the values of the parameters passed.
*/
export async function main(
auth: Stripe,
account: string,
body: {
account_token?: string;
business_profile?: {
annual_revenue?: {
amount: number;
currency: string;
fiscal_year_end: string;
[k: string]: unknown;
};
estimated_worker_count?: number;
mcc?: string;
monthly_estimated_revenue?: {
amount: number;
currency: string;
[k: string]: unknown;
};
name?: string;
product_description?: string;
support_address?: {
city?: string;
country?: string;
line1?: string;
line2?: string;
postal_code?: string;
state?: string;
[k: string]: unknown;
};
support_email?: string;
support_phone?: string;
support_url?: string | "";
url?: string;
[k: string]: unknown;
};
business_type?:
| "company"
| "government_entity"
| "individual"
| "non_profit";
capabilities?: {
acss_debit_payments?: { requested?: boolean; [k: string]: unknown };
affirm_payments?: { requested?: boolean; [k: string]: unknown };
afterpay_clearpay_payments?: {
requested?: boolean;
[k: string]: unknown;
};
au_becs_debit_payments?: { requested?: boolean; [k: string]: unknown };
bacs_debit_payments?: { requested?: boolean; [k: string]: unknown };
bancontact_payments?: { requested?: boolean; [k: string]: unknown };
bank_transfer_payments?: { requested?: boolean; [k: string]: unknown };
blik_payments?: { requested?: boolean; [k: string]: unknown };
boleto_payments?: { requested?: boolean; [k: string]: unknown };
card_issuing?: { requested?: boolean; [k: string]: unknown };
card_payments?: { requested?: boolean; [k: string]: unknown };
cartes_bancaires_payments?: { requested?: boolean; [k: string]: unknown };
cashapp_payments?: { requested?: boolean; [k: string]: unknown };
eps_payments?: { requested?: boolean; [k: string]: unknown };
fpx_payments?: { requested?: boolean; [k: string]: unknown };
giropay_payments?: { requested?: boolean; [k: string]: unknown };
grabpay_payments?: { requested?: boolean; [k: string]: unknown };
ideal_payments?: { requested?: boolean; [k: string]: unknown };
india_international_payments?: {
requested?: boolean;
[k: string]: unknown;
};
jcb_payments?: { requested?: boolean; [k: string]: unknown };
klarna_payments?: { requested?: boolean; [k: string]: unknown };
konbini_payments?: { requested?: boolean; [k: string]: unknown };
legacy_payments?: { requested?: boolean; [k: string]: unknown };
link_payments?: { requested?: boolean; [k: string]: unknown };
oxxo_payments?: { requested?: boolean; [k: string]: unknown };
p24_payments?: { requested?: boolean; [k: string]: unknown };
paynow_payments?: { requested?: boolean; [k: string]: unknown };
promptpay_payments?: { requested?: boolean; [k: string]: unknown };
revolut_pay_payments?: { requested?: boolean; [k: string]: unknown };
sepa_debit_payments?: { requested?: boolean; [k: string]: unknown };
sofort_payments?: { requested?: boolean; [k: string]: unknown };
swish_payments?: { requested?: boolean; [k: string]: unknown };
tax_reporting_us_1099_k?: { requested?: boolean; [k: string]: unknown };
tax_reporting_us_1099_misc?: {
requested?: boolean;
[k: string]: unknown;
};
transfers?: { requested?: boolean; [k: string]: unknown };
treasury?: { requested?: boolean; [k: string]: unknown };
us_bank_account_ach_payments?: {
requested?: boolean;
[k: string]: unknown;
};
zip_payments?: { requested?: boolean; [k: string]: unknown };
[k: string]: unknown;
};
company?: {
address?: {
city?: string;
country?: string;
line1?: string;
line2?: string;
postal_code?: string;
state?: string;
[k: string]: unknown;
};
address_kana?: {
city?: string;
country?: string;
line1?: string;
line2?: string;
postal_code?: string;
state?: string;
town?: string;
[k: string]: unknown;
};
address_kanji?: {
city?: string;
country?: string;
line1?: string;
line2?: string;
postal_code?: string;
state?: string;
town?: string;
[k: string]: unknown;
};
directors_provided?: boolean;
executives_provided?: boolean;
export_license_id?: string;
export_purpose_code?: string;
name?: string;
name_kana?: string;
name_kanji?: string;
owners_provided?: boolean;
ownership_declaration?: {
date?: number;
ip?: string;
user_agent?: string;
[k: string]: unknown;
};
phone?: string;
registration_number?: string;
structure?:
| ""
| "free_zone_establishment"
| "free_zone_llc"
| "government_instrumentality"
| "governmental_unit"
| "incorporated_non_profit"
| "incorporated_partnership"
| "limited_liability_partnership"
| "llc"
| "multi_member_llc"
| "private_company"
| "private_corporation"
| "private_partnership"
| "public_company"
| "public_corporation"
| "public_partnership"
| "registered_charity"
| "single_member_llc"
| "sole_establishment"
| "sole_proprietorship"
| "tax_exempt_government_instrumentality"
| "unincorporated_association"
| "unincorporated_non_profit"
| "unincorporated_partnership";
tax_id?: string;
tax_id_registrar?: string;
vat_id?: string;
verification?: {
document?: { back?: string; front?: string; [k: string]: unknown };
[k: string]: unknown;
};
[k: string]: unknown;
};
default_currency?: string;
documents?: {
bank_account_ownership_verification?: {
files?: string[];
[k: string]: unknown;
};
company_license?: { files?: string[]; [k: string]: unknown };
company_memorandum_of_association?: {
files?: string[];
[k: string]: unknown;
};
company_ministerial_decree?: { files?: string[]; [k: string]: unknown };
company_registration_verification?: {
files?: string[];
[k: string]: unknown;
};
company_tax_id_verification?: { files?: string[]; [k: string]: unknown };
proof_of_registration?: { files?: string[]; [k: string]: unknown };
[k: string]: unknown;
};
email?: string;
expand?: string[];
external_account?: string;
individual?: {
address?: {
city?: string;
country?: string;
line1?: string;
line2?: string;
postal_code?: string;
state?: string;
[k: string]: unknown;
};
address_kana?: {
city?: string;
country?: string;
line1?: string;
line2?: string;
postal_code?: string;
state?: string;
town?: string;
[k: string]: unknown;
};
address_kanji?: {
city?: string;
country?: string;
line1?: string;
line2?: string;
postal_code?: string;
state?: string;
town?: string;
[k: string]: unknown;
};
dob?:
| { day: number; month: number; year: number; [k: string]: unknown }
| "";
email?: string;
first_name?: string;
first_name_kana?: string;
first_name_kanji?: string;
full_name_aliases?: string[] | "";
gender?: string;
id_number?: string;
id_number_secondary?: string;
last_name?: string;
last_name_kana?: string;
last_name_kanji?: string;
maiden_name?: string;
metadata?: { [k: string]: string } | "";
phone?: string;
political_exposure?: "existing" | "none";
registered_address?: {
city?: string;
country?: string;
line1?: string;
line2?: string;
postal_code?: string;
state?: string;
[k: string]: unknown;
};
relationship?: {
director?: boolean;
executive?: boolean;
owner?: boolean;
percent_ownership?: number | "";
title?: string;
[k: string]: unknown;
};
ssn_last_4?: string;
verification?: {
additional_document?: {
back?: string;
front?: string;
[k: string]: unknown;
};
document?: { back?: string; front?: string; [k: string]: unknown };
[k: string]: unknown;
};
[k: string]: unknown;
};
metadata?: { [k: string]: string } | "";
settings?: {
bacs_debit_payments?: { display_name?: string; [k: string]: unknown };
branding?: {
icon?: string;
logo?: string;
primary_color?: string;
secondary_color?: string;
[k: string]: unknown;
};
card_issuing?: {
tos_acceptance?: {
date?: number;
ip?: string;
user_agent?: string | "";
[k: string]: unknown;
};
[k: string]: unknown;
};
card_payments?: {
decline_on?: {
avs_failure?: boolean;
cvc_failure?: boolean;
[k: string]: unknown;
};
statement_descriptor_prefix?: string;
statement_descriptor_prefix_kana?: string | "";
statement_descriptor_prefix_kanji?: string | "";
[k: string]: unknown;
};
invoices?: {
default_account_tax_ids?: string[] | "";
[k: string]: unknown;
};
payments?: {
statement_descriptor?: string;
statement_descriptor_kana?: string;
statement_descriptor_kanji?: string;
[k: string]: unknown;
};
payouts?: {
debit_negative_balances?: boolean;
schedule?: {
delay_days?: "minimum" | number;
interval?: "daily" | "manual" | "monthly" | "weekly";
monthly_anchor?: number;
weekly_anchor?:
| "friday"
| "monday"
| "saturday"
| "sunday"
| "thursday"
| "tuesday"
| "wednesday";
[k: string]: unknown;
};
statement_descriptor?: string;
[k: string]: unknown;
};
treasury?: {
tos_acceptance?: {
date?: number;
ip?: string;
user_agent?: string | "";
[k: string]: unknown;
};
[k: string]: unknown;
};
[k: string]: unknown;
};
tos_acceptance?: {
date?: number;
ip?: string;
service_agreement?: string;
user_agent?: string;
[k: string]: unknown;
};
}
) {
const url = new URL(`https://api.stripe.com/v1/accounts/${account}`);
const response = await fetch(url, {
method: "POST",
headers: {
"Content-Type": "application/x-www-form-urlencoded",
Authorization: "Bearer " + auth.token,
},
body: encodeParams(body),
});
if (!response.ok) {
const text = await response.text();
throw new Error(`${response.status} ${text}`);
}
return await response.json();
}
function encodeParams(o: any) {
function iter(o: any, path: string) {
if (Array.isArray(o)) {
o.forEach(function (a) {
iter(a, path + "[]");
});
return;
}
if (o !== null && typeof o === "object") {
Object.keys(o).forEach(function (k) {
iter(o[k], path + "[" + k + "]");
});
return;
}
data.push(path + "=" + o);
}
const data: string[] = [];
Object.keys(o).forEach(function (k) {
if (o[k] !== undefined) {
iter(o[k], k);
}
});
return new URLSearchParams(data.join("&"));
}
Submitted by hugo697 368 days ago
type Stripe = {
token: string;
};
/**
* Post accounts account
* Updates a connected account by setting the values of the parameters passed.
*/
export async function main(
auth: Stripe,
account: string,
body: {
account_token?: string;
business_profile?: {
annual_revenue?: {
amount: number;
currency: string;
fiscal_year_end: string;
[k: string]: unknown;
};
estimated_worker_count?: number;
mcc?: string;
monthly_estimated_revenue?: {
amount: number;
currency: string;
[k: string]: unknown;
};
name?: string;
product_description?: string;
support_address?: {
city?: string;
country?: string;
line1?: string;
line2?: string;
postal_code?: string;
state?: string;
[k: string]: unknown;
};
support_email?: string;
support_phone?: string;
support_url?: string | "";
url?: string;
[k: string]: unknown;
};
business_type?:
| "company"
| "government_entity"
| "individual"
| "non_profit";
capabilities?: {
acss_debit_payments?: { requested?: boolean; [k: string]: unknown };
affirm_payments?: { requested?: boolean; [k: string]: unknown };
afterpay_clearpay_payments?: {
requested?: boolean;
[k: string]: unknown;
};
au_becs_debit_payments?: { requested?: boolean; [k: string]: unknown };
bacs_debit_payments?: { requested?: boolean; [k: string]: unknown };
bancontact_payments?: { requested?: boolean; [k: string]: unknown };
bank_transfer_payments?: { requested?: boolean; [k: string]: unknown };
blik_payments?: { requested?: boolean; [k: string]: unknown };
boleto_payments?: { requested?: boolean; [k: string]: unknown };
card_issuing?: { requested?: boolean; [k: string]: unknown };
card_payments?: { requested?: boolean; [k: string]: unknown };
cartes_bancaires_payments?: { requested?: boolean; [k: string]: unknown };
cashapp_payments?: { requested?: boolean; [k: string]: unknown };
eps_payments?: { requested?: boolean; [k: string]: unknown };
fpx_payments?: { requested?: boolean; [k: string]: unknown };
giropay_payments?: { requested?: boolean; [k: string]: unknown };
grabpay_payments?: { requested?: boolean; [k: string]: unknown };
ideal_payments?: { requested?: boolean; [k: string]: unknown };
india_international_payments?: {
requested?: boolean;
[k: string]: unknown;
};
jcb_payments?: { requested?: boolean; [k: string]: unknown };
klarna_payments?: { requested?: boolean; [k: string]: unknown };
konbini_payments?: { requested?: boolean; [k: string]: unknown };
legacy_payments?: { requested?: boolean; [k: string]: unknown };
link_payments?: { requested?: boolean; [k: string]: unknown };
oxxo_payments?: { requested?: boolean; [k: string]: unknown };
p24_payments?: { requested?: boolean; [k: string]: unknown };
paynow_payments?: { requested?: boolean; [k: string]: unknown };
promptpay_payments?: { requested?: boolean; [k: string]: unknown };
revolut_pay_payments?: { requested?: boolean; [k: string]: unknown };
sepa_debit_payments?: { requested?: boolean; [k: string]: unknown };
sofort_payments?: { requested?: boolean; [k: string]: unknown };
swish_payments?: { requested?: boolean; [k: string]: unknown };
tax_reporting_us_1099_k?: { requested?: boolean; [k: string]: unknown };
tax_reporting_us_1099_misc?: {
requested?: boolean;
[k: string]: unknown;
};
transfers?: { requested?: boolean; [k: string]: unknown };
treasury?: { requested?: boolean; [k: string]: unknown };
us_bank_account_ach_payments?: {
requested?: boolean;
[k: string]: unknown;
};
zip_payments?: { requested?: boolean; [k: string]: unknown };
[k: string]: unknown;
};
company?: {
address?: {
city?: string;
country?: string;
line1?: string;
line2?: string;
postal_code?: string;
state?: string;
[k: string]: unknown;
};
address_kana?: {
city?: string;
country?: string;
line1?: string;
line2?: string;
postal_code?: string;
state?: string;
town?: string;
[k: string]: unknown;
};
address_kanji?: {
city?: string;
country?: string;
line1?: string;
line2?: string;
postal_code?: string;
state?: string;
town?: string;
[k: string]: unknown;
};
directors_provided?: boolean;
executives_provided?: boolean;
export_license_id?: string;
export_purpose_code?: string;
name?: string;
name_kana?: string;
name_kanji?: string;
owners_provided?: boolean;
ownership_declaration?: {
date?: number;
ip?: string;
user_agent?: string;
[k: string]: unknown;
};
phone?: string;
registration_number?: string;
structure?:
| ""
| "free_zone_establishment"
| "free_zone_llc"
| "government_instrumentality"
| "governmental_unit"
| "incorporated_non_profit"
| "incorporated_partnership"
| "limited_liability_partnership"
| "llc"
| "multi_member_llc"
| "private_company"
| "private_corporation"
| "private_partnership"
| "public_company"
| "public_corporation"
| "public_partnership"
| "registered_charity"
| "single_member_llc"
| "sole_establishment"
| "sole_proprietorship"
| "tax_exempt_government_instrumentality"
| "unincorporated_association"
| "unincorporated_non_profit"
| "unincorporated_partnership";
tax_id?: string;
tax_id_registrar?: string;
vat_id?: string;
verification?: {
document?: { back?: string; front?: string; [k: string]: unknown };
[k: string]: unknown;
};
[k: string]: unknown;
};
default_currency?: string;
documents?: {
bank_account_ownership_verification?: {
files?: string[];
[k: string]: unknown;
};
company_license?: { files?: string[]; [k: string]: unknown };
company_memorandum_of_association?: {
files?: string[];
[k: string]: unknown;
};
company_ministerial_decree?: { files?: string[]; [k: string]: unknown };
company_registration_verification?: {
files?: string[];
[k: string]: unknown;
};
company_tax_id_verification?: { files?: string[]; [k: string]: unknown };
proof_of_registration?: { files?: string[]; [k: string]: unknown };
[k: string]: unknown;
};
email?: string;
expand?: string[];
external_account?: string;
individual?: {
address?: {
city?: string;
country?: string;
line1?: string;
line2?: string;
postal_code?: string;
state?: string;
[k: string]: unknown;
};
address_kana?: {
city?: string;
country?: string;
line1?: string;
line2?: string;
postal_code?: string;
state?: string;
town?: string;
[k: string]: unknown;
};
address_kanji?: {
city?: string;
country?: string;
line1?: string;
line2?: string;
postal_code?: string;
state?: string;
town?: string;
[k: string]: unknown;
};
dob?:
| { day: number; month: number; year: number; [k: string]: unknown }
| "";
email?: string;
first_name?: string;
first_name_kana?: string;
first_name_kanji?: string;
full_name_aliases?: string[] | "";
gender?: string;
id_number?: string;
id_number_secondary?: string;
last_name?: string;
last_name_kana?: string;
last_name_kanji?: string;
maiden_name?: string;
metadata?: { [k: string]: string } | "";
phone?: string;
political_exposure?: "existing" | "none";
registered_address?: {
city?: string;
country?: string;
line1?: string;
line2?: string;
postal_code?: string;
state?: string;
[k: string]: unknown;
};
relationship?: {
director?: boolean;
executive?: boolean;
owner?: boolean;
percent_ownership?: number | "";
title?: string;
[k: string]: unknown;
};
ssn_last_4?: string;
verification?: {
additional_document?: {
back?: string;
front?: string;
[k: string]: unknown;
};
document?: { back?: string; front?: string; [k: string]: unknown };
[k: string]: unknown;
};
[k: string]: unknown;
};
metadata?: { [k: string]: string } | "";
settings?: {
bacs_debit_payments?: { display_name?: string; [k: string]: unknown };
branding?: {
icon?: string;
logo?: string;
primary_color?: string;
secondary_color?: string;
[k: string]: unknown;
};
card_issuing?: {
tos_acceptance?: {
date?: number;
ip?: string;
user_agent?: string | "";
[k: string]: unknown;
};
[k: string]: unknown;
};
card_payments?: {
decline_on?: {
avs_failure?: boolean;
cvc_failure?: boolean;
[k: string]: unknown;
};
statement_descriptor_prefix?: string;
statement_descriptor_prefix_kana?: string | "";
statement_descriptor_prefix_kanji?: string | "";
[k: string]: unknown;
};
invoices?: {
default_account_tax_ids?: string[] | "";
[k: string]: unknown;
};
payments?: {
statement_descriptor?: string;
statement_descriptor_kana?: string;
statement_descriptor_kanji?: string;
[k: string]: unknown;
};
payouts?: {
debit_negative_balances?: boolean;
schedule?: {
delay_days?: "minimum" | number;
interval?: "daily" | "manual" | "monthly" | "weekly";
monthly_anchor?: number;
weekly_anchor?:
| "friday"
| "monday"
| "saturday"
| "sunday"
| "thursday"
| "tuesday"
| "wednesday";
[k: string]: unknown;
};
statement_descriptor?: string;
[k: string]: unknown;
};
treasury?: {
tos_acceptance?: {
date?: number;
ip?: string;
user_agent?: string | "";
[k: string]: unknown;
};
[k: string]: unknown;
};
[k: string]: unknown;
};
tos_acceptance?: {
date?: number;
ip?: string;
service_agreement?: string;
user_agent?: string;
[k: string]: unknown;
};
}
) {
const url = new URL(`https://api.stripe.com/v1/accounts/${account}`);
const response = await fetch(url, {
method: "POST",
headers: {
"Content-Type": "application/x-www-form-urlencoded",
Authorization: "Bearer " + auth.token,
},
body: encodeParams(body),
});
if (!response.ok) {
const text = await response.text();
throw new Error(`${response.status} ${text}`);
}
return await response.json();
}
function encodeParams(o: any) {
function iter(o: any, path: string) {
if (Array.isArray(o)) {
o.forEach(function (a) {
iter(a, path + "[]");
});
return;
}
if (o !== null && typeof o === "object") {
Object.keys(o).forEach(function (k) {
iter(o[k], path + "[" + k + "]");
});
return;
}
data.push(path + "=" + o);
}
const data: string[] = [];
Object.keys(o).forEach(function (k) {
if (o[k] !== undefined) {
iter(o[k], k);
}
});
return new URLSearchParams(data.join("&"));
}
Submitted by hugo697 795 days ago
type Stripe = {
token: string;
};
/**
* Post accounts account
* <p>Updates a <a href="/docs/connect/accounts">connected account</a> by setting the values of the parameters passed.
*/
export async function main(
auth: Stripe,
account: string,
body: {
account_token?: string;
business_profile?: {
mcc?: string;
monthly_estimated_revenue?: {
amount: number;
currency: string;
[k: string]: unknown;
};
name?: string;
product_description?: string;
support_address?: {
city?: string;
country?: string;
line1?: string;
line2?: string;
postal_code?: string;
state?: string;
[k: string]: unknown;
};
support_email?: string;
support_phone?: string;
support_url?: string | "";
url?: string;
[k: string]: unknown;
};
business_type?:
| "company"
| "government_entity"
| "individual"
| "non_profit";
capabilities?: {
acss_debit_payments?: { requested?: boolean; [k: string]: unknown };
affirm_payments?: { requested?: boolean; [k: string]: unknown };
afterpay_clearpay_payments?: {
requested?: boolean;
[k: string]: unknown;
};
au_becs_debit_payments?: { requested?: boolean; [k: string]: unknown };
bacs_debit_payments?: { requested?: boolean; [k: string]: unknown };
bancontact_payments?: { requested?: boolean; [k: string]: unknown };
bank_transfer_payments?: { requested?: boolean; [k: string]: unknown };
blik_payments?: { requested?: boolean; [k: string]: unknown };
boleto_payments?: { requested?: boolean; [k: string]: unknown };
card_issuing?: { requested?: boolean; [k: string]: unknown };
card_payments?: { requested?: boolean; [k: string]: unknown };
cartes_bancaires_payments?: { requested?: boolean; [k: string]: unknown };
cashapp_payments?: { requested?: boolean; [k: string]: unknown };
eps_payments?: { requested?: boolean; [k: string]: unknown };
fpx_payments?: { requested?: boolean; [k: string]: unknown };
giropay_payments?: { requested?: boolean; [k: string]: unknown };
grabpay_payments?: { requested?: boolean; [k: string]: unknown };
ideal_payments?: { requested?: boolean; [k: string]: unknown };
india_international_payments?: {
requested?: boolean;
[k: string]: unknown;
};
jcb_payments?: { requested?: boolean; [k: string]: unknown };
klarna_payments?: { requested?: boolean; [k: string]: unknown };
konbini_payments?: { requested?: boolean; [k: string]: unknown };
legacy_payments?: { requested?: boolean; [k: string]: unknown };
link_payments?: { requested?: boolean; [k: string]: unknown };
oxxo_payments?: { requested?: boolean; [k: string]: unknown };
p24_payments?: { requested?: boolean; [k: string]: unknown };
paynow_payments?: { requested?: boolean; [k: string]: unknown };
promptpay_payments?: { requested?: boolean; [k: string]: unknown };
sepa_debit_payments?: { requested?: boolean; [k: string]: unknown };
sofort_payments?: { requested?: boolean; [k: string]: unknown };
tax_reporting_us_1099_k?: { requested?: boolean; [k: string]: unknown };
tax_reporting_us_1099_misc?: {
requested?: boolean;
[k: string]: unknown;
};
transfers?: { requested?: boolean; [k: string]: unknown };
treasury?: { requested?: boolean; [k: string]: unknown };
us_bank_account_ach_payments?: {
requested?: boolean;
[k: string]: unknown;
};
zip_payments?: { requested?: boolean; [k: string]: unknown };
[k: string]: unknown;
};
company?: {
address?: {
city?: string;
country?: string;
line1?: string;
line2?: string;
postal_code?: string;
state?: string;
[k: string]: unknown;
};
address_kana?: {
city?: string;
country?: string;
line1?: string;
line2?: string;
postal_code?: string;
state?: string;
town?: string;
[k: string]: unknown;
};
address_kanji?: {
city?: string;
country?: string;
line1?: string;
line2?: string;
postal_code?: string;
state?: string;
town?: string;
[k: string]: unknown;
};
directors_provided?: boolean;
executives_provided?: boolean;
export_license_id?: string;
export_purpose_code?: string;
name?: string;
name_kana?: string;
name_kanji?: string;
owners_provided?: boolean;
ownership_declaration?: {
date?: number;
ip?: string;
user_agent?: string;
[k: string]: unknown;
};
phone?: string;
registration_number?: string;
structure?:
| ""
| "free_zone_establishment"
| "free_zone_llc"
| "government_instrumentality"
| "governmental_unit"
| "incorporated_non_profit"
| "incorporated_partnership"
| "limited_liability_partnership"
| "llc"
| "multi_member_llc"
| "private_company"
| "private_corporation"
| "private_partnership"
| "public_company"
| "public_corporation"
| "public_partnership"
| "single_member_llc"
| "sole_establishment"
| "sole_proprietorship"
| "tax_exempt_government_instrumentality"
| "unincorporated_association"
| "unincorporated_non_profit"
| "unincorporated_partnership";
tax_id?: string;
tax_id_registrar?: string;
vat_id?: string;
verification?: {
document?: { back?: string; front?: string; [k: string]: unknown };
[k: string]: unknown;
};
[k: string]: unknown;
};
default_currency?: string;
documents?: {
bank_account_ownership_verification?: {
files?: string[];
[k: string]: unknown;
};
company_license?: { files?: string[]; [k: string]: unknown };
company_memorandum_of_association?: {
files?: string[];
[k: string]: unknown;
};
company_ministerial_decree?: { files?: string[]; [k: string]: unknown };
company_registration_verification?: {
files?: string[];
[k: string]: unknown;
};
company_tax_id_verification?: { files?: string[]; [k: string]: unknown };
proof_of_registration?: { files?: string[]; [k: string]: unknown };
[k: string]: unknown;
};
email?: string;
expand?: string[];
external_account?: string;
individual?: {
address?: {
city?: string;
country?: string;
line1?: string;
line2?: string;
postal_code?: string;
state?: string;
[k: string]: unknown;
};
address_kana?: {
city?: string;
country?: string;
line1?: string;
line2?: string;
postal_code?: string;
state?: string;
town?: string;
[k: string]: unknown;
};
address_kanji?: {
city?: string;
country?: string;
line1?: string;
line2?: string;
postal_code?: string;
state?: string;
town?: string;
[k: string]: unknown;
};
dob?:
| { day: number; month: number; year: number; [k: string]: unknown }
| "";
email?: string;
first_name?: string;
first_name_kana?: string;
first_name_kanji?: string;
full_name_aliases?: string[] | "";
gender?: string;
id_number?: string;
id_number_secondary?: string;
last_name?: string;
last_name_kana?: string;
last_name_kanji?: string;
maiden_name?: string;
metadata?: { [k: string]: string } | "";
phone?: string;
political_exposure?: "existing" | "none";
registered_address?: {
city?: string;
country?: string;
line1?: string;
line2?: string;
postal_code?: string;
state?: string;
[k: string]: unknown;
};
ssn_last_4?: string;
verification?: {
additional_document?: {
back?: string;
front?: string;
[k: string]: unknown;
};
document?: { back?: string; front?: string; [k: string]: unknown };
[k: string]: unknown;
};
[k: string]: unknown;
};
metadata?: { [k: string]: string } | "";
settings?: {
branding?: {
icon?: string;
logo?: string;
primary_color?: string;
secondary_color?: string;
[k: string]: unknown;
};
card_issuing?: {
tos_acceptance?: {
date?: number;
ip?: string;
user_agent?: string | "";
[k: string]: unknown;
};
[k: string]: unknown;
};
card_payments?: {
decline_on?: {
avs_failure?: boolean;
cvc_failure?: boolean;
[k: string]: unknown;
};
statement_descriptor_prefix?: string;
statement_descriptor_prefix_kana?: string | "";
statement_descriptor_prefix_kanji?: string | "";
[k: string]: unknown;
};
payments?: {
statement_descriptor?: string;
statement_descriptor_kana?: string;
statement_descriptor_kanji?: string;
[k: string]: unknown;
};
payouts?: {
debit_negative_balances?: boolean;
schedule?: {
delay_days?: "minimum" | number;
interval?: "daily" | "manual" | "monthly" | "weekly";
monthly_anchor?: number;
weekly_anchor?:
| "friday"
| "monday"
| "saturday"
| "sunday"
| "thursday"
| "tuesday"
| "wednesday";
[k: string]: unknown;
};
statement_descriptor?: string;
[k: string]: unknown;
};
treasury?: {
tos_acceptance?: {
date?: number;
ip?: string;
user_agent?: string | "";
[k: string]: unknown;
};
[k: string]: unknown;
};
[k: string]: unknown;
};
tos_acceptance?: {
date?: number;
ip?: string;
service_agreement?: string;
user_agent?: string;
[k: string]: unknown;
};
}
) {
const url = new URL(`https://api.stripe.com/v1/accounts/${account}`);
const response = await fetch(url, {
method: "POST",
headers: {
"Content-Type": "application/x-www-form-urlencoded",
Authorization: "Bearer " + auth.token,
},
body: encodeParams(body),
});
if (!response.ok) {
const text = await response.text();
throw new Error(`${response.status} ${text}`);
}
return await response.json();
}
function encodeParams(o: any) {
function iter(o: any, path: string) {
if (Array.isArray(o)) {
o.forEach(function (a) {
iter(a, path + "[]");
});
return;
}
if (o !== null && typeof o === "object") {
Object.keys(o).forEach(function (k) {
iter(o[k], path + "[" + k + "]");
});
return;
}
data.push(path + "=" + o);
}
const data: string[] = [];
Object.keys(o).forEach(function (k) {
if (o[k] !== undefined) {
iter(o[k], k);
}
});
return new URLSearchParams(data.join("&"));
}
Submitted by hugo697 922 days ago