import * as z from "zod"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; import { Allocation, Allocation$Outbound } from "./allocation.js"; import { Currency } from "./currency.js"; import { CustomField, CustomField$Outbound } from "./customfield.js"; import { CustomMappings, CustomMappings$Outbound } from "./custommappings.js"; import { DeprecatedLinkedSupplier, DeprecatedLinkedSupplier$Outbound } from "./deprecatedlinkedsupplier.js"; import { LinkedCustomer, LinkedCustomer$Outbound } from "./linkedcustomer.js"; import { LinkedLedgerAccount, LinkedLedgerAccount$Outbound } from "./linkedledgeraccount.js"; import { LinkedTrackingCategory, LinkedTrackingCategory$Outbound } from "./linkedtrackingcategory.js"; import { PassThroughBody, PassThroughBody$Outbound } from "./passthroughbody.js"; import { PaymentStatus } from "./paymentstatus.js"; import { PaymentType } from "./paymenttype.js"; export type Payment = { /** * A unique identifier for an object. */ id: string; /** * The third-party API ID of original entity */ downstreamId?: string | null | undefined; /** * Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). */ currency?: Currency | null | undefined; /** * Currency Exchange Rate at the time entity was recorded/generated. */ currencyRate?: number | null | undefined; /** * The total amount of the transaction */ totalAmount: number | null; /** * Optional transaction reference message ie: Debit remittance detail. */ reference?: string | null | undefined; /** * Payment method used for the transaction, such as cash, credit card, bank transfer, or check */ paymentMethod?: string | null | undefined; /** * Optional reference message returned by payment method on processing */ paymentMethodReference?: string | null | undefined; /** * A unique identifier for an object. */ paymentMethodId?: string | null | undefined; /** * Type of accounts receivable account. * * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible. */ accountsReceivableAccountType?: string | null | undefined; /** * Unique identifier for the account to allocate payment to. * * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible. */ accountsReceivableAccountId?: string | null | undefined; account?: LinkedLedgerAccount | null | undefined; /** * The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD */ transactionDate: Date | null; /** * The customer this entity is linked to. */ customer?: LinkedCustomer | null | undefined; /** * The supplier this entity is linked to. * * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible. */ supplier?: DeprecatedLinkedSupplier | null | undefined; /** * The company or subsidiary id the transaction belongs to */ companyId?: string | null | undefined; /** * Indicates if the transaction has been reconciled. */ reconciled?: boolean | null | undefined; /** * Status of payment */ status?: PaymentStatus | undefined; /** * Type of payment */ type?: PaymentType | undefined; allocations?: Array | undefined; /** * Note associated with the transaction */ note?: string | null | undefined; /** * Number associated with the transaction */ number?: string | null | undefined; /** * A list of linked tracking categories. */ trackingCategories?: Array | null | undefined; customFields?: Array | undefined; /** * A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. */ rowVersion?: string | null | undefined; /** * Id to be displayed. */ displayId?: string | null | undefined; /** * When custom mappings are configured on the resource, the result is included here. */ customMappings?: CustomMappings | null | undefined; /** * The user who last updated the object. */ updatedBy?: string | null | undefined; /** * The user who created the object. */ createdBy?: string | null | undefined; /** * The date and time when the object was created. */ createdAt?: Date | null | undefined; /** * The date and time when the object was last updated. */ updatedAt?: Date | null | undefined; /** * The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. */ passThrough?: Array | undefined; }; /** @internal */ export declare const Payment$inboundSchema: z.ZodType; /** @internal */ export type Payment$Outbound = { id: string; downstream_id?: string | null | undefined; currency?: string | null | undefined; currency_rate?: number | null | undefined; total_amount: number | null; reference?: string | null | undefined; payment_method?: string | null | undefined; payment_method_reference?: string | null | undefined; payment_method_id?: string | null | undefined; accounts_receivable_account_type?: string | null | undefined; accounts_receivable_account_id?: string | null | undefined; account?: LinkedLedgerAccount$Outbound | null | undefined; transaction_date: string | null; customer?: LinkedCustomer$Outbound | null | undefined; supplier?: DeprecatedLinkedSupplier$Outbound | null | undefined; company_id?: string | null | undefined; reconciled?: boolean | null | undefined; status?: string | undefined; type?: string | undefined; allocations?: Array | undefined; note?: string | null | undefined; number?: string | null | undefined; tracking_categories?: Array | null | undefined; custom_fields?: Array | undefined; row_version?: string | null | undefined; display_id?: string | null | undefined; custom_mappings?: CustomMappings$Outbound | null | undefined; updated_by?: string | null | undefined; created_by?: string | null | undefined; created_at?: string | null | undefined; updated_at?: string | null | undefined; pass_through?: Array | undefined; }; /** @internal */ export declare const Payment$outboundSchema: z.ZodType; /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export declare namespace Payment$ { /** @deprecated use `Payment$inboundSchema` instead. */ const inboundSchema: z.ZodType; /** @deprecated use `Payment$outboundSchema` instead. */ const outboundSchema: z.ZodType; /** @deprecated use `Payment$Outbound` instead. */ type Outbound = Payment$Outbound; } export declare function paymentToJSON(payment: Payment): string; export declare function paymentFromJSON(jsonString: string): SafeParseResult; //# sourceMappingURL=payment.d.ts.map