pnz-apicentre-sandbox-sdk
Version:
The sandbox, powered by Middleware New Zealand, is a dedicated environment that mimics an API Provider, as defined in the [Payments NZ API Centre standards](https://paymentsnz.atlassian.net/wiki/spaces/PaymentsNZAPIStandards/overview). This SDK is generat
84 lines (80 loc) • 3.06 kB
text/typescript
/**
* Account information PNZ-API-CentreLib
*
* This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
*/
import { array, lazy, object, optional, Schema, string } from '../schema';
import { Amount, amountSchema } from './amount';
import { Balance1, balance1Schema } from './balance1';
import {
BankTransactionCode,
bankTransactionCodeSchema,
} from './bankTransactionCode';
import { CardInstrument, cardInstrumentSchema } from './cardInstrument';
import { CreditorAccount1, creditorAccount1Schema } from './creditorAccount1';
import { CreditorAgent1, creditorAgent1Schema } from './creditorAgent1';
import { DebtorAccount, debtorAccountSchema } from './debtorAccount';
import { DebtorAgent, debtorAgentSchema } from './debtorAgent';
import { MerchantDetails, merchantDetailsSchema } from './merchantDetails';
import {
ProprietaryBankTransactionCode,
proprietaryBankTransactionCodeSchema,
} from './proprietaryBankTransactionCode';
import {
TransactionReference,
transactionReferenceSchema,
} from './transactionReference';
export interface Transaction {
accountId: string;
amount: Amount;
creditDebitIndicator: string;
bookingDateTime: string;
status: string;
statementReference: string[];
transactionReference: TransactionReference;
transactionId: string;
bankTransactionCode: BankTransactionCode;
proprietaryBankTransactionCode: ProprietaryBankTransactionCode;
valueDateTime: string;
transactionInformation: string;
balance: Balance1;
merchantDetails: MerchantDetails;
creditorAgent: CreditorAgent1;
creditorAccount: CreditorAccount1;
debtorAgent: DebtorAgent;
debtorAccount: DebtorAccount;
cardInstrument?: CardInstrument;
}
export const transactionSchema: Schema<Transaction> = object({
accountId: ['AccountId', string()],
amount: ['Amount', lazy(() => amountSchema)],
creditDebitIndicator: ['CreditDebitIndicator', string()],
bookingDateTime: ['BookingDateTime', string()],
status: ['Status', string()],
statementReference: ['StatementReference', array(string())],
transactionReference: [
'TransactionReference',
lazy(() => transactionReferenceSchema),
],
transactionId: ['TransactionId', string()],
bankTransactionCode: [
'BankTransactionCode',
lazy(() => bankTransactionCodeSchema),
],
proprietaryBankTransactionCode: [
'ProprietaryBankTransactionCode',
lazy(() => proprietaryBankTransactionCodeSchema),
],
valueDateTime: ['ValueDateTime', string()],
transactionInformation: ['TransactionInformation', string()],
balance: ['Balance', lazy(() => balance1Schema)],
merchantDetails: ['MerchantDetails', lazy(() => merchantDetailsSchema)],
creditorAgent: ['CreditorAgent', lazy(() => creditorAgent1Schema)],
creditorAccount: ['CreditorAccount', lazy(() => creditorAccount1Schema)],
debtorAgent: ['DebtorAgent', lazy(() => debtorAgentSchema)],
debtorAccount: ['DebtorAccount', lazy(() => debtorAccountSchema)],
cardInstrument: [
'CardInstrument',
optional(lazy(() => cardInstrumentSchema)),
],
});