MDB: events
Complete reference. The signature is a listener argument tuple, not a wrapper object.
mdbCardHolder:wrong-cmd
The device rejected a command format; opcodeName identifies the command.
type Arguments = [
data: {
opcodeName: string;
opcode: number;
params: string[];
}
];jsd.on('mdbCardHolder:wrong-cmd', payload => console.log(payload));mdbCardHolder:jsd-license-error
A licensing or price-control restriction rejected the operation.
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
MDB connection and card-holder operating state.
type Arguments = [
data: {
deviceNumber: DEVICE_NUMBER;
connectionStatus: MdbConnectionStatus;
cardHolderStatus: MdbCardHolderStatus;
}
];jsd.on('mdbCardHolder:condition-status', payload => console.log(payload));mdbCardHolder:identification
Device identification fields returned by this application.
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
Currency code and supported card-holder capabilities.
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
Availability and enabled state of always-idle and remote-vend features.
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
MDB authorization result and optional failure reason.
type Arguments = [
data: {
deviceNumber: DEVICE_NUMBER;
success: boolean;
reason: string | null;
}
];jsd.on('mdbCardHolder:authorization', payload => console.log(payload));mdbCardHolder:balance-statement
Customer balance, recharge ceiling, payment method, and card group.
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
Sale approval or denial; optional charged amount and current state.
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
Sale cancellation result.
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
Result of confirming a successful vend to the card holder.
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
Result of reporting a failed vend and its refund.
type Arguments = [
data: {
deviceNumber: DEVICE_NUMBER;
status: MdbCardSaleFailureStatus;
currentCardHolderStatus?: MdbCardHolderStatus | null;
}
];jsd.on('mdbCardHolder:sale-failure-confirmation', payload => console.log(payload));mdbCardHolder:end-session
MDB session termination response.
type Arguments = [
data: {
deviceNumber: DEVICE_NUMBER;
status: MdbCardEndSession;
currentCardHolderStatus?: MdbCardHolderStatus | null;
}
];jsd.on('mdbCardHolder:end-session', payload => console.log(payload));mdbCardHolder:selection-request
Customer/product selection request, balance, and product options.
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
Card balance reload approval or denial.
type Arguments = [
data: {
deviceNumber: DEVICE_NUMBER;
status: MdbCardRevalueStatus;
currentCardHolderStatus?: MdbCardHolderStatus | null;
}
];jsd.on('mdbCardHolder:revalue', payload => console.log(payload));mdbCardHolder:display-message
Two-line display message and requested display duration.
type Arguments = [
data: {
deviceNumber: DEVICE_NUMBER;
displayTimeSeconds: number;
message: {
line1: string;
line2: string;
};
}
];jsd.on('mdbCardHolder:display-message', payload => console.log(payload));Aliases used in these signatures are defined in reference types.