130 lines
6.5 KiB
TypeScript
130 lines
6.5 KiB
TypeScript
import { multipartRequestDataProcessor } from '../multipart.js';
|
|
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 {
|
|
requestDataProcessor: typeof multipartRequestDataProcessor;
|
|
/**
|
|
* 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';
|
|
}
|