MDB: eventos
Referencia completa. La firma muestra una tupla de argumentos del listener, no un objeto envolvente.
mdbCardHolder:wrong-cmd
El equipo rechazó el formato; opcodeName identifica el comando.
type Arguments = [
data: {
opcodeName: string;
opcode: number;
params: string[];
}
];jsd.on('mdbCardHolder:wrong-cmd', payload => console.log(payload));mdbCardHolder:jsd-license-error
Una restricción de licencia o de control de precios rechazó la operación.
type Arguments = [
data: {
type: 'unknown' | 'expired-license' | 'app-number-not-licensed' | 'price-control-active-direct-dispense-not-allowed';
opcode: number;
actionName: string;
params: string[];
}
];jsd.on('mdbCardHolder:jsd-license-error', payload => console.log(payload));mdbCardHolder:condition-status
Conexión MDB y estado operativo del lector.
type Arguments = [
data: {
deviceNumber: DEVICE_NUMBER;
connectionStatus: MdbConnectionStatus;
cardHolderStatus: MdbCardHolderStatus;
}
];jsd.on('mdbCardHolder:condition-status', payload => console.log(payload));mdbCardHolder:identification
Campos de identificación devueltos por esta aplicación.
type Arguments = [
data: {
deviceNumber: DEVICE_NUMBER;
manufacturerCode: string;
serialNumber: string;
model: string;
softwareVersion: string;
}
];jsd.on('mdbCardHolder:identification', payload => console.log(payload));mdbCardHolder:configuration-data
Código monetario y capacidades del lector.
type Arguments = [
data: {
deviceNumber: DEVICE_NUMBER;
countryCurrencyCode: string;
canReloadFunds: boolean;
canRestoreFunds: boolean;
canMakeMultipleSales: boolean;
hasDisplay: boolean;
canRecorCashSales: boolean;
}
];jsd.on('mdbCardHolder:configuration-data', payload => console.log(payload));mdbCardHolder:feature-configuration
Disponibilidad y habilitación de always-idle y remote-vend.
type Arguments = [
data: {
deviceNumber: DEVICE_NUMBER;
alwaysIdle: {
available: boolean;
enabled: boolean;
};
remoteVend: {
available: boolean;
enabled: boolean;
};
}
];jsd.on('mdbCardHolder:feature-configuration', payload => console.log(payload));mdbCardHolder:authorization
Resultado de autorización MDB y motivo de fallo opcional.
type Arguments = [
data: {
deviceNumber: DEVICE_NUMBER;
success: boolean;
reason: string | null;
}
];jsd.on('mdbCardHolder:authorization', payload => console.log(payload));mdbCardHolder:balance-statement
Saldo, máximo de recarga, método de pago y grupo de tarjeta.
type Arguments = [
data: {
deviceNumber: DEVICE_NUMBER;
tokenBalanceStatus: 'idle' | 'active';
customerBalance: number;
maxCardRecharge: number;
paymentMethod: {
isKnown: boolean;
id: string | null;
};
groupWhichCardBelongs: string;
}
];jsd.on('mdbCardHolder:balance-statement', payload => console.log(payload));mdbCardHolder:sale-approval
Aprobación o rechazo de venta, con importe y estado opcionales.
type Arguments = [
data: {
deviceNumber: DEVICE_NUMBER;
status: MdbCardSaleApprovalStatus;
currentCardHolderStatus?: MdbCardHolderStatus | null;
amountCharged?: number;
}
];jsd.on('mdbCardHolder:sale-approval', payload => console.log(payload));mdbCardHolder:sale-cancellation
Resultado de cancelación de venta.
type Arguments = [
data: {
deviceNumber: DEVICE_NUMBER;
status: 'success' | 'failure';
currentCardHolderStatus?: MdbCardHolderStatus | null;
}
];jsd.on('mdbCardHolder:sale-cancellation', payload => console.log(payload));mdbCardHolder:sale-success-confirmation
Resultado de confirmar una entrega exitosa al lector.
type Arguments = [
data: {
deviceNumber: DEVICE_NUMBER;
status: MdbCardSaleSuccessStatus;
currentCardHolderStatus?: MdbCardHolderStatus | null;
}
];jsd.on('mdbCardHolder:sale-success-confirmation', payload => console.log(payload));mdbCardHolder:sale-failure-confirmation
Resultado de notificar una entrega fallida y su devolución.
type Arguments = [
data: {
deviceNumber: DEVICE_NUMBER;
status: MdbCardSaleFailureStatus;
currentCardHolderStatus?: MdbCardHolderStatus | null;
}
];jsd.on('mdbCardHolder:sale-failure-confirmation', payload => console.log(payload));mdbCardHolder:end-session
Respuesta de cierre de sesión MDB.
type Arguments = [
data: {
deviceNumber: DEVICE_NUMBER;
status: MdbCardEndSession;
currentCardHolderStatus?: MdbCardHolderStatus | null;
}
];jsd.on('mdbCardHolder:end-session', payload => console.log(payload));mdbCardHolder:selection-request
Solicitud de selección con saldo y opciones del producto.
type Arguments = [
data: {
deviceNumber: DEVICE_NUMBER;
tokenBalanceStatus: 'idle' | 'active';
customerBalance: number;
paymentMethod: {
isKnown: boolean;
id: string | null;
};
product: {
id: number | null;
withLid: boolean;
sugarLevel: MdbCardProductOptions;
};
}
];jsd.on('mdbCardHolder:selection-request', payload => console.log(payload));mdbCardHolder:revalue
Aprobación o rechazo de recarga de saldo.
type Arguments = [
data: {
deviceNumber: DEVICE_NUMBER;
status: MdbCardRevalueStatus;
currentCardHolderStatus?: MdbCardHolderStatus | null;
}
];jsd.on('mdbCardHolder:revalue', payload => console.log(payload));mdbCardHolder:display-message
Mensaje de dos líneas y duración solicitada.
type Arguments = [
data: {
deviceNumber: DEVICE_NUMBER;
displayTimeSeconds: number;
message: {
line1: string;
line2: string;
};
}
];jsd.on('mdbCardHolder:display-message', payload => console.log(payload));Los alias usados en estas firmas se definen en tipos de referencia.