import { Amount } from '../../../commonStateTypes/amount'; import { ID } from '../../../commonStateTypes/common'; import { ZeniDate } from '../../../zeniDayJS'; import { InvoicingTransactionStatus, InvoicingTransactionType } from './invoicingTransactionTypes'; export interface InvoicingLinkedInvoiceRef { appliedAmount: Amount; invoiceID: ID; invoiceNumber: string; invoiceStatus?: string; } export interface InvoicingLinkedRefund { txnAmount: Amount; txnID: ID; txnStatus: string; } export interface InvoicingLinkedCreditNoteRef { appliedAmount: Amount; cnID: ID; } export interface InvoicingTransaction { amount: Amount; id: ID; amountCapturable?: Amount; amountUnused?: Amount; currencyCode?: string; customer?: string; customerID?: ID; customerName?: string; date?: ZeniDate; errorCode?: string; errorText?: string; fraudFlag?: string; fraudReason?: string; gateway?: string; gatewayAccountID?: string; idAtGateway?: string; invoiceID?: ID; linkedCreditNotes?: InvoicingLinkedCreditNoteRef[]; linkedInvoices?: InvoicingLinkedInvoiceRef[]; linkedRefunds?: InvoicingLinkedRefund[]; maskedCardNumber?: string; paymentMethod?: string; paymentSourceID?: string; referenceNumber?: string; refundedTxnID?: ID; settledAt?: ZeniDate; status?: InvoicingTransactionStatus; subscriptionID?: ID; threeDSecure?: boolean; type?: InvoicingTransactionType; } export interface InvoicingTransactionState { invoicingTransactionByID: Record; }