mpp-sdk
Version:
SDK to talk to the Memento Payments Platform
95 lines (94 loc) • 2.54 kB
TypeScript
import { Coordinates, FundingSource, Image, Team } from ".";
import { Category } from "./categories";
import { DateFilter, Filter, StringFilter } from "./filters";
export interface TransactionLocation {
city: string;
country: string;
coordinates?: Coordinates;
}
export interface TransactionMerchant {
mcc: string;
mcc_description: string;
name: string;
location?: TransactionLocation;
}
export interface TransactionAttributeInfo {
key: string;
field: string;
value: string;
}
export interface TransactionAttributes {
info: TransactionAttributeInfo[];
}
export declare type TransactionFilter = Filter<{
transaction_date: DateFilter;
}>;
export interface Transaction {
id: string;
description: string;
billing_amount: string;
billing_currency: string;
transaction_amount: string;
transaction_currency: string;
merchant?: TransactionMerchant;
attributes: TransactionAttributes;
internal?: InternalTransaction;
created_at: string | Date;
updated_at: string | Date;
}
export interface InternalTransaction {
id: string;
category?: Category;
description: string;
funding_source_id: string;
card?: FundingSource;
user_id: string;
external_id: string;
transaction_amount: string;
transaction_currency: string;
transaction_date: string | Date;
original_amount: string;
original_currency: string;
created_at: string | Date;
updated_at: string | Date;
booked_date: string | Date;
comments: string;
images: Image[];
status?: InternalTransactionStatus;
receipt_id?: string;
rule_violations: RuleViolation[];
receipts: TransactionReceipt[];
sub_categories: {
category_group_id: string;
category: Category;
}[];
team?: Team;
team_category?: Category;
}
export declare type InternalTransactionStatus = "missing_data" | "awaiting_approval";
export interface TransactionInput {
comments?: string;
category_id?: string;
subcategory_ids?: string[];
}
export declare type InternalTransactionFilter = Filter<{
funding_source_id?: StringFilter;
}>;
export interface RuleViolation {
rule_id: number;
message: string;
}
export interface TransactionReceipt {
id: string;
transaction_id: string;
user_id: string;
url: string;
file_name: string;
file_type: string;
file_size: number;
created_at: string | Date;
updated_at: string | Date;
}
export interface ReceiptUploadMethods {
file: Blob;
}