@accurateitsolutionorg/verifone-zvt-client
v0.2.0
Published
TypeScript ZVT client for Verifone terminals (AccurateItSolution)
Maintainers
Readme
@accurateitsolutionorg/verifone-zvt-client
TypeScript ZVT client for Verifone terminals.
Install
npm install @accurateitsolutionorg/verifone-zvt-clientImportant Inputs
This package supports explicit terminal password and order/reference number.
password: exactly 6 digits (for REGISTER), e.g.000000orderNo/reference: 1 to 12 digits
Validation rules:
- Password must match
^\\d{6}$ - Reference must be 1..12 digits
1234is encoded as000000001234123456is encoded as000000123456123456789012stays as-is- More than 12 digits throws
BAD_REFERENCE reference/orderNois applied in legacy AUTH payload mode (useStandardAuthorizePayload: false)
Quick Start
import { ZvtClient } from "@accurateitsolutionorg/verifone-zvt-client";
const client = new ZvtClient(
{
host: "192.168.178.132",
port: 20007,
password: "000000", // required 6 digits
orderNo: "1234", // optional default reference
},
(entry) => console.log("[ZVT]", entry),
);
const auth = await client.authorize(1, {
// optional per-call override:
reference: "4567",
// optional per-call password override:
registerPassword: "000000",
useStandardAuthorizePayload: false,
useAuthSessionListener: true,
quickProbeAfterAuth: true,
useDualStatusProbe: true,
});
if (String(auth?.outcome || "") === "pending") {
const followup = await client.reconcileLast({
attempts: 4,
intervalMs: 1000,
statusTimeoutMs: 7000,
skipCooldown: true,
registerBeforeStatus: true,
useDualStatusProbe: true,
});
console.log(followup);
}API
new ZvtClient(
ip: {
host: string;
port: number;
password?: string; // 6 digits
orderNo?: string | number; // 1..12 digits
},
forwardLog?: (entry) => void,
)Methods:
register(opts?)status(opts?)authorize(amountCents, opts?)cancel()raw(hex)reconcileLast(opts?)clearCooldown()
Build
npm run buildPublish
npm login
npm publish --access public