@fabrix/spool-cart
Version:
Spool - eCommerce Spool for Fabrix
209 lines (208 loc) • 5.73 kB
TypeScript
import { FabrixModel as Model } from '@fabrix/fabrix/dist/common';
import { SequelizeResolver } from '@fabrix/spool-sequelize';
export declare class TransactionResolver extends SequelizeResolver {
batch(options: any, batch: any): any;
resolveByInstance(transaction: any, options?: {
[key: string]: any;
}): Promise<any>;
resolveById(transaction: any, options?: {
[key: string]: any;
}): any;
resolveByToken(transaction: any, options?: {
[key: string]: any;
}): any;
resolveByNumber(transaction: any, options?: {
[key: string]: any;
}): any;
resolveByString(transaction: any, options?: {
[key: string]: any;
}): any;
resolve(transaction: any, options?: {
[key: string]: any;
}): any;
}
export declare class Transaction extends Model {
static readonly resolver: typeof TransactionResolver;
static config(app: any, Sequelize: any): {
options: {
underscored: boolean;
enums: {
TRANSACTION_ERRORS: {
INCORRECT_NUMBER: string;
INVALID_NUMBER: string;
INVALID_EXPIRY_DATE: string;
INVALID_CVC: string;
EXPIRED_CARD: string;
INCORRECT_CVC: string;
INCORRECT_ZIP: string;
INCORRECT_ADDRESS: string;
CARD_DECLINED: string;
PROCESSING_ERROR: string;
CALL_ISSUER: string;
PICK_UP_CARD: string;
};
TRANSACTION_STATUS: {
PENDING: string;
FAILURE: string;
SUCCESS: string;
ERROR: string;
CANCELLED: string;
};
TRANSACTION_KIND: {
AUTHORIZE: string;
CAPTURE: string;
SALE: string;
VOID: string;
REFUND: string;
};
TRANSACTION_DEFAULTS: {
CURRENCY: string;
SOURCE_NAME: string;
};
};
description: string;
scopes: {
live: {
where: {
live_mode: boolean;
};
};
authorized: {
where: {
kind: string;
status: string;
};
};
captured: {
where: {
kind: string[];
status: string;
};
};
voided: {
where: {
kind: string;
status: string;
};
};
refunded: {
where: {
kind: string;
status: string;
};
};
};
hooks: {
beforeCreate: (transaction: any, options: any) => void;
afterCreate: (transaction: any, options: any) => any;
afterUpdate: (transaction: any, options: any) => any;
};
};
};
static schema(app: any, Sequelize: any): {
token: {
type: any;
unique: boolean;
};
customer_id: {
type: any;
allowNull: boolean;
};
order_id: {
type: any;
allowNull: boolean;
};
source_id: {
type: any;
allowNull: boolean;
};
account_id: {
type: any;
allowNull: boolean;
};
foreign_key: {
type: any;
};
foreign_id: {
type: any;
};
amount: {
type: any;
defaultValue: number;
};
amount_refunded: {
type: any;
defaultValue: number;
};
authorization: {
type: any;
};
authorization_exp: {
type: any;
defaultValue: string;
};
device_id: {
type: any;
};
gateway: {
type: any;
};
source_name: {
type: any;
defaultValue: string;
};
payment_details: {
type: any;
defaultValue: {};
};
kind: {
type: any;
values: string[];
allowNull: boolean;
};
receipt: {
type: any;
defaultValue: {};
};
error_code: {
type: any;
values: string[];
};
status: {
type: any;
values: string[];
defaultValue: string;
};
currency: {
type: any;
defaultValue: any;
};
description: {
type: any;
};
retry_at: {
type: any;
};
total_retry_attempts: {
type: any;
defaultValue: number;
};
shop_id: {
type: any;
};
cancelled_at: {
type: any;
};
live_mode: {
type: any;
defaultValue: any;
};
};
static associate(models: any): void;
}
export interface Transaction {
retry(): any;
cancel(): any;
resolveOrder(options: any): any;
reconcileOrderFinancialStatus(options: any): any;
}