@logismix/mydata-client
Version:
Greek myDATA (AADE) API client library
50 lines (49 loc) • 1.88 kB
TypeScript
import { AmountType, PaymentMethod } from './simple-types.model';
import { ProviderSignatureType, ECRTokenType } from './invoice.model';
/**
* Root element for submitting payment methods.
* Μέθοδοι Πληρωμής
*/
export interface PaymentMethodsDoc {
/**
* Array of payment method information per invoice.
* NOTE: XSD uses <paymentMethods> element with type PaymentMethodType,
* but ERP doc diagram (4.2.4) shows <payment> element. Using 'payment' based on diagram.
*/
payment: PaymentMethodType[];
}
/**
* Represents payment method information associated with a single invoice.
*/
export interface PaymentMethodType {
/** Unique Invoice Registration Number (MARK) */
invoiceMark: number;
/** Unique Payment Method Registration Number. Filled by the service. */
paymentMethodMark?: number;
/** VAT Number of the entity the payment refers to (used by providers/representatives). */
entityVatNumber?: string;
/** List of payment method details for the invoice. */
paymentMethodDetails: PaymentMethodDetailType[];
}
/**
* Detailed information about a single payment method used for an invoice.
* This type is defined here as it's the core element of this specific schema.
*/
export interface PaymentMethodDetailType {
/** Payment Type */
type: PaymentMethod;
/** Payment Amount */
amount: AmountType;
/** Additional information (e.g., Bank Account No.) */
paymentMethodInfo?: string;
/** Tip amount */
tipAmount?: AmountType;
/** Transaction Identifier (e.g., POS transaction ID) */
transactionId?: string;
/** POS Terminal Identifier (tid) */
tid?: string;
/** Provider Payment Signature (for provider channel) */
ProvidersSignature?: ProviderSignatureType;
/** Fiscal Device Payment Signature (for ERP channel) */
ECRToken?: ECRTokenType;
}