OptionalonCheck whether orderId has already been processed.
For multi-instance deployments, MUST implement check-and-mark as a
single atomic operation (Redis SETNX, database
INSERT … ON CONFLICT DO NOTHING). The handler's own in-flight
lock only serialises within a single Node.js process.
Default (single-process only): in-memory Set.
OptionalonMark orderId as processed.
Called after confirm() returns a non-pending response. Pending
orders are deliberately not marked so subsequent callbacks can
re-check as the order advances to a terminal state.
OptionalmaxMax admitted callbacks per sliding window. Default 100.
OptionalrateSliding window duration in ms. Default 60 000.
OptionalsuppressSuppress the construction-time console.warn that fires when the
in-memory duplicate fallback is in use. Set to true only after
confirming single-process deployment.
Resolve the expected major-unit amount for an orderId. Typically a database lookup keyed by the orderId your application stored at registration time.
Return
undefined/nullto reject the callback as referencing an unknown order —verify()will returnnullwithout calling the gateway.