stripe
Version:
Stripe API wrapper
128 lines (127 loc) • 6.56 kB
TypeScript
import { StripeResource } from '../StripeResource.js';
import { FileLink } from './FileLinks.js';
import { Emptyable, MetadataParam, PaginationParams, RangeQueryParam } from '../shared.js';
import { RequestOptions, ApiListPromise, Response, ApiList, FileData } from '../lib.js';
export declare class FileResource extends StripeResource {
/**
* Returns a list of the files that your account has access to. Stripe sorts and returns the files by their creation dates, placing the most recently created files at the top.
*/
list(params?: FileListParams, options?: RequestOptions): ApiListPromise<File>;
/**
* To upload a file to Stripe, you need to send a request of type multipart/form-data. Include the file you want to upload in the request, and the parameters for creating a file.
*
* All of Stripe's officially supported Client libraries support sending multipart/form-data.
*/
create(params: FileCreateParams, options?: RequestOptions): Promise<Response<File>>;
/**
* Retrieves the details of an existing file object. After you supply a unique file ID, Stripe returns the corresponding file object. Learn how to [access file contents](https://docs.stripe.com/docs/file-upload#download-file-contents).
*/
retrieve(id: string, params?: FileRetrieveParams, options?: RequestOptions): Promise<Response<File>>;
}
export interface File {
/**
* Unique identifier for the object.
*/
id: string;
/**
* String representing the object's type. Objects of the same type share the same value.
*/
object: 'file';
/**
* Time at which the object was created. Measured in seconds since the Unix epoch.
*/
created: number;
/**
* The file expires and isn't available at this time in epoch seconds.
*/
expires_at: number | null;
/**
* The suitable name for saving the file to a filesystem.
*/
filename: string | null;
/**
* A list of [file links](https://api.stripe.com#file_links) that point at this file.
*/
links?: ApiList<FileLink> | null;
/**
* The [purpose](https://docs.stripe.com/file-upload#uploading-a-file) of the uploaded file.
*/
purpose: File.Purpose;
/**
* The size of the file object in bytes.
*/
size: number;
/**
* A suitable title for the document.
*/
title: string | null;
/**
* The returned file type (for example, `csv`, `pdf`, `jpg`, or `png`).
*/
type: string | null;
/**
* Use your live secret API key to download the file from this URL.
*/
url: string | null;
}
export declare namespace File {
type Purpose = 'account_requirement' | 'additional_verification' | 'business_icon' | 'business_logo' | 'customer_signature' | 'dispute_evidence' | 'document_provider_identity_document' | 'finance_report_run' | 'financial_account_statement' | 'identity_document' | 'identity_document_downloadable' | 'issuing_regulatory_reporting' | 'pci_document' | 'platform_terms_of_service' | 'selfie' | 'sigma_scheduled_query' | 'tax_document_user_upload' | 'terminal_android_apk' | 'terminal_reader_splashscreen' | 'terminal_wifi_certificate' | 'terminal_wifi_private_key';
}
export interface FileCreateParams {
/**
* A file to upload. Make sure that the specifications follow RFC 2388, which defines file transfers for the `multipart/form-data` protocol.
*/
file: FileData;
/**
* The [purpose](https://docs.stripe.com/file-upload#uploading-a-file) of the uploaded file.
*/
purpose: FileCreateParams.Purpose;
/**
* Specifies which fields in the response should be expanded.
*/
expand?: Array<string>;
/**
* Optional parameters that automatically create a [file link](https://api.stripe.com#file_links) for the newly created file.
*/
file_link_data?: FileCreateParams.FileLinkData;
}
export declare namespace FileCreateParams {
type Purpose = 'account_requirement' | 'additional_verification' | 'business_icon' | 'business_logo' | 'customer_signature' | 'dispute_evidence' | 'identity_document' | 'issuing_regulatory_reporting' | 'pci_document' | 'platform_terms_of_service' | 'tax_document_user_upload' | 'terminal_android_apk' | 'terminal_reader_splashscreen' | 'terminal_wifi_certificate' | 'terminal_wifi_private_key';
interface FileLinkData {
/**
* Set this to `true` to create a file link for the newly created file. Creating a link is only possible when the file's `purpose` is one of the following: `business_icon`, `business_logo`, `customer_signature`, `dispute_evidence`, `issuing_regulatory_reporting`, `pci_document`, `tax_document_user_upload`, `terminal_android_apk`, or `terminal_reader_splashscreen`.
*/
create: boolean;
/**
* The link isn't available after this future timestamp.
*/
expires_at?: number;
/**
* Set of [key-value pairs](https://docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
*/
metadata?: Emptyable<MetadataParam>;
}
}
export interface FileRetrieveParams {
/**
* Specifies which fields in the response should be expanded.
*/
expand?: Array<string>;
}
export interface FileListParams extends PaginationParams {
/**
* Only return files that were created during the given date interval.
*/
created?: RangeQueryParam | number;
/**
* Specifies which fields in the response should be expanded.
*/
expand?: Array<string>;
/**
* Filter queries by the file purpose. If you don't provide a purpose, the queries return unfiltered files.
*/
purpose?: FileListParams.Purpose;
}
export declare namespace FileListParams {
type Purpose = 'account_requirement' | 'additional_verification' | 'business_icon' | 'business_logo' | 'customer_signature' | 'dispute_evidence' | 'document_provider_identity_document' | 'finance_report_run' | 'financial_account_statement' | 'identity_document' | 'identity_document_downloadable' | 'issuing_regulatory_reporting' | 'pci_document' | 'platform_terms_of_service' | 'selfie' | 'sigma_scheduled_query' | 'tax_document_user_upload' | 'terminal_android_apk' | 'terminal_reader_splashscreen' | 'terminal_wifi_certificate' | 'terminal_wifi_private_key';
}