@vonpay/checkout-node 0.1.3 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/client.d.ts CHANGED
@@ -2,6 +2,16 @@ import type { VonPayCheckoutConfig, CreateSessionParams, CheckoutSession, Sessio
2
2
  export declare class VonPayCheckout {
3
3
  private readonly config;
4
4
  constructor(config: VonPayCheckoutConfig | string);
5
+ /**
6
+ * Invoke the configured errorReporter callback, swallowing any throw from
7
+ * the integrator's reporter so an observability bug never breaks an SDK
8
+ * call. When no reporter is configured, falls back to a structured
9
+ * `console.warn` line so integrators get minimum-viable visibility for
10
+ * free (set `VONPAY_QUIET=1` to silence; auto-skipped under NODE_ENV=test).
11
+ */
12
+ private reportError;
13
+ /** Strip query string from a URL for safe inclusion in error context (no PII via search params). */
14
+ private static safeUrl;
5
15
  private request;
6
16
  /** Retry delay: uses Retry-After on 429 (capped at 60s), otherwise exponential backoff (1s, 5s) with jitter */
7
17
  private getRetryDelay;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,cAAc,EAGd,YAAY,EACb,MAAM,YAAY,CAAC;AAgHpB,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;gBAE5B,MAAM,EAAE,oBAAoB,GAAG,MAAM;YAenC,OAAO;IAgHrB,+GAA+G;IAC/G,OAAO,CAAC,aAAa;IASrB,QAAQ;yBAEI,mBAAmB,YACjB,cAAc,KACvB,OAAO,CAAC,eAAe,CAAC;QAY3B,iIAAiI;yBAC1G,MAAM,KAAG,OAAO,CAAC,aAAa,CAAC;2BAQ7B,mBAAmB,KAAG,OAAO,CAAC,YAAY,CAAC;MAWpE;IAEF,QAAQ;QACN;;;;;;;WAOG;mCAEQ,MAAM,GAAG,MAAM,aACb,MAAM,UACT,MAAM,KACb,OAAO;QAWV;;;;;;;;WAQG;kCAEQ,MAAM,GAAG,MAAM,aACb,MAAM,UACT,MAAM,aACH,MAAM,KAChB,YAAY;QA+Bf;;;;;;;;;;;;;;;;;;;WAmBG;oCAEQ,MAAM,GAAG,MAAM,mBACP,MAAM,UACf,MAAM,KACb,YAAY;MAgDf;IAEI,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC;IAarC;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,qBAAqB,CAC1B,MAAM,EAAE,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7C,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QACR,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAClC,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,GACA,OAAO;IA2BV,OAAO,CAAC,MAAM,CAAC,uBAAuB;CAkEvC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,cAAc,EAGd,YAAY,EAGb,MAAM,YAAY,CAAC;AAkHpB,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;gBAE5B,MAAM,EAAE,oBAAoB,GAAG,MAAM;IAejD;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IA6CnB,oGAAoG;IACpG,OAAO,CAAC,MAAM,CAAC,OAAO;YAKR,OAAO;IAsIrB,+GAA+G;IAC/G,OAAO,CAAC,aAAa;IASrB,QAAQ;yBAEI,mBAAmB,YACjB,cAAc,KACvB,OAAO,CAAC,eAAe,CAAC;QAa3B,iIAAiI;yBAC1G,MAAM,KAAG,OAAO,CAAC,aAAa,CAAC;2BAS7B,mBAAmB,KAAG,OAAO,CAAC,YAAY,CAAC;MAYpE;IAEF,QAAQ;QACN;;;;;;;WAOG;mCAEQ,MAAM,GAAG,MAAM,aACb,MAAM,UACT,MAAM,KACb,OAAO;QAWV;;;;;;;;WAQG;kCAEQ,MAAM,GAAG,MAAM,aACb,MAAM,UACT,MAAM,aACH,MAAM,KAChB,YAAY;QA2Cf;;;;;;;;;;;;;;;;;;;WAmBG;oCAEQ,MAAM,GAAG,MAAM,mBACP,MAAM,UACf,MAAM,KACb,YAAY;MAkEf;IAEI,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC;IAarC;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,qBAAqB,CAC1B,MAAM,EAAE,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7C,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QACR,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAClC,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,GACA,OAAO;IA2BV,OAAO,CAAC,MAAM,CAAC,uBAAuB;CAkEvC"}
package/dist/client.js CHANGED
@@ -34,6 +34,7 @@ function resolveConfig(config) {
34
34
  baseUrl: config.baseUrl?.replace(/\/+$/, "") ?? DEFAULT_BASE_URL,
35
35
  maxRetries: config.maxRetries ?? DEFAULT_MAX_RETRIES,
36
36
  timeout: config.timeout ?? DEFAULT_TIMEOUT,
37
+ errorReporter: config.errorReporter,
37
38
  };
38
39
  }
39
40
  function sleep(ms) {
@@ -108,6 +109,61 @@ export class VonPayCheckout {
108
109
  VALID_KEY_PREFIXES.join(", "));
109
110
  }
110
111
  }
112
+ /**
113
+ * Invoke the configured errorReporter callback, swallowing any throw from
114
+ * the integrator's reporter so an observability bug never breaks an SDK
115
+ * call. When no reporter is configured, falls back to a structured
116
+ * `console.warn` line so integrators get minimum-viable visibility for
117
+ * free (set `VONPAY_QUIET=1` to silence; auto-skipped under NODE_ENV=test).
118
+ */
119
+ reportError(err, partial) {
120
+ const reporter = this.config.errorReporter;
121
+ const ctx = { ...partial, sdkVersion: SDK_VERSION };
122
+ if (reporter) {
123
+ try {
124
+ reporter(err, ctx);
125
+ }
126
+ catch (reporterErr) {
127
+ if (typeof console !== "undefined" && typeof console.warn === "function") {
128
+ console.warn("[vonpay] errorReporter threw; suppressing:", reporterErr instanceof Error ? reporterErr.message : String(reporterErr));
129
+ }
130
+ }
131
+ return;
132
+ }
133
+ // Default reporter — log a structured line to stderr so any log aggregator
134
+ // captures it without explicit wiring. Skip in test envs (test runners
135
+ // already surface errors) and when the integrator opts out via env.
136
+ if (process.env.NODE_ENV === "test" ||
137
+ process.env.VONPAY_QUIET === "1") {
138
+ return;
139
+ }
140
+ if (typeof console !== "undefined" && typeof console.warn === "function") {
141
+ const summary = {
142
+ method: ctx.method,
143
+ sdkVersion: ctx.sdkVersion,
144
+ };
145
+ if (ctx.url)
146
+ summary.url = ctx.url;
147
+ if (ctx.status !== undefined)
148
+ summary.status = ctx.status;
149
+ if (ctx.requestId)
150
+ summary.requestId = ctx.requestId;
151
+ if (ctx.code)
152
+ summary.code = ctx.code;
153
+ if (ctx.attempt !== undefined)
154
+ summary.attempt = ctx.attempt;
155
+ if (err instanceof VonPayError) {
156
+ summary.retryable = err.retryable;
157
+ summary.nextAction = err.nextAction;
158
+ }
159
+ console.warn(`[vonpay] ${err.message} ${JSON.stringify(summary)}`);
160
+ }
161
+ }
162
+ /** Strip query string from a URL for safe inclusion in error context (no PII via search params). */
163
+ static safeUrl(url) {
164
+ const q = url.indexOf("?");
165
+ return q === -1 ? url : url.slice(0, q);
166
+ }
111
167
  async request(method, path, options) {
112
168
  let url = `${this.config.baseUrl}${path}`;
113
169
  if (options?.query) {
@@ -164,10 +220,26 @@ export class VonPayCheckout {
164
220
  lastError = new VonPayError(response.status, errorData, requestId, rateLimit);
165
221
  // Only retry on retryable status codes
166
222
  if (!RETRYABLE_STATUS_CODES.has(response.status)) {
223
+ this.reportError(lastError, {
224
+ method: options?.reporterMethod ?? `${method} ${path}`,
225
+ url: VonPayCheckout.safeUrl(url),
226
+ status: response.status,
227
+ requestId,
228
+ code: errorData.code,
229
+ attempt,
230
+ });
167
231
  throw lastError;
168
232
  }
169
233
  // Don't retry if we've exhausted attempts
170
234
  if (attempt === this.config.maxRetries) {
235
+ this.reportError(lastError, {
236
+ method: options?.reporterMethod ?? `${method} ${path}`,
237
+ url: VonPayCheckout.safeUrl(url),
238
+ status: response.status,
239
+ requestId,
240
+ code: errorData.code,
241
+ attempt,
242
+ });
171
243
  throw lastError;
172
244
  }
173
245
  }
@@ -180,6 +252,11 @@ export class VonPayCheckout {
180
252
  lastError =
181
253
  err instanceof Error ? err : new Error("Unknown fetch error");
182
254
  if (attempt === this.config.maxRetries) {
255
+ this.reportError(lastError, {
256
+ method: options?.reporterMethod ?? `${method} ${path}`,
257
+ url: VonPayCheckout.safeUrl(url),
258
+ attempt,
259
+ });
183
260
  throw lastError;
184
261
  }
185
262
  }
@@ -201,18 +278,20 @@ export class VonPayCheckout {
201
278
  const { data } = await this.request("POST", "/v1/sessions", {
202
279
  body: params,
203
280
  idempotencyKey: options?.idempotencyKey,
281
+ reporterMethod: "sessions.create",
204
282
  });
205
283
  return data;
206
284
  },
207
285
  /** Retrieve the current state of a checkout session. Requires a secret key (vp_sk_*). Publishable keys are rejected with 403. */
208
286
  get: async (sessionId) => {
209
- const { data } = await this.request("GET", `/v1/sessions/${encodeURIComponent(sessionId)}`);
287
+ const { data } = await this.request("GET", `/v1/sessions/${encodeURIComponent(sessionId)}`, { reporterMethod: "sessions.get" });
210
288
  return data;
211
289
  },
212
290
  validate: async (params) => {
213
291
  const { data } = await this.request("POST", "/v1/sessions", {
214
292
  body: params,
215
293
  query: { dry_run: "true" },
294
+ reporterMethod: "sessions.validate",
216
295
  });
217
296
  return data;
218
297
  },
@@ -249,21 +328,33 @@ export class VonPayCheckout {
249
328
  const now = Date.now();
250
329
  if (isNaN(eventTime) ||
251
330
  Math.abs(now - eventTime) > WEBHOOK_TIMESTAMP_TOLERANCE_SECONDS * 1000) {
252
- throw new VonPayError(401, {
331
+ const err = new VonPayError(401, {
253
332
  error: "Webhook timestamp outside tolerance (±5 minutes)",
254
333
  code: "webhook_invalid_signature",
255
334
  fix: "Ensure server clock is synchronized and process webhooks promptly",
256
335
  docs: "https://docs.vonpay.com/reference/webhooks#signature-verification",
257
336
  });
337
+ this.reportError(err, {
338
+ method: "webhooks.constructEvent",
339
+ status: 401,
340
+ code: err.code,
341
+ });
342
+ throw err;
258
343
  }
259
344
  // Verify HMAC signature
260
345
  if (!this.webhooks.verifySignature(payload, signature, secret)) {
261
- throw new VonPayError(401, {
346
+ const err = new VonPayError(401, {
262
347
  error: "Webhook signature verification failed",
263
348
  code: "webhook_invalid_signature",
264
349
  fix: "Ensure you are using your merchant API key (vp_sk_*) as the secret",
265
350
  docs: "https://docs.vonpay.com/reference/webhooks#signature-verification",
266
351
  });
352
+ this.reportError(err, {
353
+ method: "webhooks.constructEvent",
354
+ status: 401,
355
+ code: err.code,
356
+ });
357
+ throw err;
267
358
  }
268
359
  const jsonText = typeof payload === "string" ? payload : payload.toString("utf8");
269
360
  return JSON.parse(jsonText);
@@ -291,22 +382,34 @@ export class VonPayCheckout {
291
382
  constructEventV2: (payload, signatureHeader, secret) => {
292
383
  const parsed = parseV2SignatureHeader(signatureHeader);
293
384
  if (!parsed) {
294
- throw new VonPayError(401, {
385
+ const err = new VonPayError(401, {
295
386
  error: "Webhook v2 signature header malformed — expected 't=<sec>,v2=<hex>'",
296
387
  code: "webhook_invalid_signature",
297
388
  fix: "Ensure the server is emitting v2 signatures and the X-VonPay-Signature header is forwarded intact",
298
389
  docs: "https://docs.vonpay.com/reference/webhooks#signature-verification",
299
390
  });
391
+ this.reportError(err, {
392
+ method: "webhooks.constructEventV2",
393
+ status: 401,
394
+ code: err.code,
395
+ });
396
+ throw err;
300
397
  }
301
398
  const { t, v2 } = parsed;
302
399
  const nowSec = Math.floor(Date.now() / 1000);
303
400
  if (Math.abs(nowSec - t) > WEBHOOK_TIMESTAMP_TOLERANCE_SECONDS) {
304
- throw new VonPayError(401, {
401
+ const err = new VonPayError(401, {
305
402
  error: "Webhook timestamp outside tolerance (±5 minutes)",
306
403
  code: "webhook_invalid_signature",
307
404
  fix: "Ensure server clock is synchronized and process webhooks promptly",
308
405
  docs: "https://docs.vonpay.com/reference/webhooks#signature-verification",
309
406
  });
407
+ this.reportError(err, {
408
+ method: "webhooks.constructEventV2",
409
+ status: 401,
410
+ code: err.code,
411
+ });
412
+ throw err;
310
413
  }
311
414
  const payloadBytes = typeof payload === "string" ? Buffer.from(payload, "utf8") : payload;
312
415
  const signed = Buffer.concat([
@@ -320,12 +423,18 @@ export class VonPayCheckout {
320
423
  const providedBuf = Buffer.from(v2, "hex");
321
424
  if (providedBuf.length !== expectedBuf.length ||
322
425
  !timingSafeEqual(providedBuf, expectedBuf)) {
323
- throw new VonPayError(401, {
426
+ const err = new VonPayError(401, {
324
427
  error: "Webhook v2 signature verification failed",
325
428
  code: "webhook_invalid_signature",
326
429
  fix: "Ensure you are using your merchant API key (vp_sk_*) as the secret",
327
430
  docs: "https://docs.vonpay.com/reference/webhooks#signature-verification",
328
431
  });
432
+ this.reportError(err, {
433
+ method: "webhooks.constructEventV2",
434
+ status: 401,
435
+ code: err.code,
436
+ });
437
+ throw err;
329
438
  }
330
439
  const jsonText = typeof payload === "string" ? payload : payload.toString("utf8");
331
440
  return JSON.parse(jsonText);
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { ErrorCode } from "./types.js";
2
+ export type NextAction = "fix_input" | "rotate_key" | "wait_and_retry" | "contact_support" | "ignore";
3
+ export interface ErrorHelp {
4
+ retryable: boolean;
5
+ nextAction: NextAction;
6
+ llmHint: string;
7
+ }
8
+ export declare const ERROR_HELP: Record<ErrorCode, ErrorHelp>;
9
+ /** Return the help entry for a given ErrorCode. Returns a fallback entry for unknown codes. */
10
+ export declare function helpFor(code: ErrorCode | string): ErrorHelp;
11
+ //# sourceMappingURL=error-help.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-help.d.ts","sourceRoot":"","sources":["../src/error-help.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,MAAM,UAAU,GAClB,WAAW,GACX,YAAY,GACZ,gBAAgB,GAChB,iBAAiB,GACjB,QAAQ,CAAC;AAEb,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,CAmKnD,CAAC;AAEF,+FAA+F;AAC/F,wBAAgB,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAQ3D"}
@@ -0,0 +1,165 @@
1
+ // Error-help mapping table — the single source of truth for programmatic
2
+ // recovery hints attached to VonPayError. Used by:
3
+ // - VonPayError constructor (synthesizes `retryable`, `nextAction`, `llmHint`)
4
+ // - The MCP `diagnose_error` tool (returns this entry verbatim)
5
+ // - The /troubleshooting docs page (renders this entry per code)
6
+ //
7
+ // `llmHint` is intentionally 1-3 sentences. It's structured for an LLM agent
8
+ // reading an error and deciding what to do next, NOT for a human reading a
9
+ // stack trace. The human-friendly string is `fix` on the error envelope.
10
+ //
11
+ // `nextAction` is the agent's branch table:
12
+ // - "fix_input" — the request was malformed; agent must change the request before retry
13
+ // - "rotate_key" — the key is bad; agent must surface to a human or use a refresh-key flow
14
+ // - "wait_and_retry" — transient; agent should backoff and retry
15
+ // - "contact_support" — server-side merchant config issue; agent must surface to a human
16
+ // - "ignore" — terminal but expected (card decline, session-already-completed, etc.)
17
+ export const ERROR_HELP = {
18
+ auth_missing_bearer: {
19
+ retryable: false,
20
+ nextAction: "fix_input",
21
+ llmHint: "The Authorization header is missing. The SDK adds it automatically when constructed with a valid key — this error implies the SDK was bypassed. Check the SDK was constructed and that the integrator isn't manually proxying requests without forwarding the Authorization header.",
22
+ },
23
+ auth_invalid_key: {
24
+ retryable: false,
25
+ nextAction: "rotate_key",
26
+ llmHint: "The API key is malformed or does not exist. Three common causes: (1) the env var that holds the key is unset or misnamed (check VON_PAY_SECRET_KEY), (2) the key has rotated past its 24h grace window (regenerate at /dashboard/developers/api-keys), (3) test/live mode mismatch (test keys cannot hit live endpoints and vice versa). Do NOT retry the same key; it will fail identically.",
27
+ },
28
+ auth_key_expired: {
29
+ retryable: false,
30
+ nextAction: "rotate_key",
31
+ llmHint: "The previous key has rotated past its 24h grace window. Surface a 'rotate your API key' action to the human; the previous key will not work again. New keys are generated at app.vonpay.com/dashboard/developers/api-keys. Retrying with the same key will fail identically.",
32
+ },
33
+ auth_key_type_forbidden: {
34
+ retryable: false,
35
+ nextAction: "fix_input",
36
+ llmHint: "A publishable key (vp_pk_*) was used on a server-only endpoint, OR a sandbox key was used against live and vice versa. Switch to the secret key (vp_sk_*) for server calls. Publishable keys are browser-safe but cannot retrieve session details or process refunds.",
37
+ },
38
+ auth_merchant_inactive: {
39
+ retryable: false,
40
+ nextAction: "contact_support",
41
+ llmHint: "The merchant account is disabled or suspended. The integrator must contact Von Payments support — this is not a code-fix issue. Do not retry; surface a clear support-contact message to the human.",
42
+ },
43
+ auth_service_unavailable: {
44
+ retryable: true,
45
+ nextAction: "wait_and_retry",
46
+ llmHint: "The authentication service is transiently unavailable. The SDK will already auto-retry on this; if you're seeing this exposed, retry has been exhausted. Wait 30-60 seconds and retry; if the failure persists for >5 min, escalate.",
47
+ },
48
+ session_not_found: {
49
+ retryable: false,
50
+ nextAction: "fix_input",
51
+ llmHint: "The session ID does not exist. Check that the ID is being passed correctly (no truncation, no URL-encoding double-trip) and that the key being used is for the same merchant that created the session. Session IDs are merchant-scoped.",
52
+ },
53
+ session_expired: {
54
+ retryable: false,
55
+ nextAction: "fix_input",
56
+ llmHint: "The session passed its 30-minute TTL. Create a new session with sessions.create() using the original parameters. Sessions cannot be extended; the merchant must call sessions.create() afresh.",
57
+ },
58
+ session_wrong_state: {
59
+ retryable: false,
60
+ nextAction: "ignore",
61
+ llmHint: "The session is in a state that disallows this operation (e.g., trying to retrieve a session that's already completed). Treat as terminal; surface the current session state to the user instead of retrying.",
62
+ },
63
+ session_integrity_error: {
64
+ retryable: false,
65
+ nextAction: "contact_support",
66
+ llmHint: "Internal session state is inconsistent — a 500-class server bug. Capture the requestId from the error and report to Von Payments support. Do not retry; the corrupt state will not self-heal.",
67
+ },
68
+ validation_error: {
69
+ retryable: false,
70
+ nextAction: "fix_input",
71
+ llmHint: "Request body failed schema validation. The error message will name the failing field. Fix the field shape (correct type, length, format) before retrying. Common: amount as string instead of integer; currency lowercase instead of ISO 4217 uppercase.",
72
+ },
73
+ validation_missing_field: {
74
+ retryable: false,
75
+ nextAction: "fix_input",
76
+ llmHint: "A required field is missing from the request body. The error message will name the missing field. Add it to the request and retry. Don't include null — omit or supply a real value.",
77
+ },
78
+ validation_invalid_amount: {
79
+ retryable: false,
80
+ nextAction: "fix_input",
81
+ llmHint: "Amount is not a positive integer or exceeds maximum. Two pitfalls: (1) sending in major units (e.g., 14.99 for $14.99 — must be 1499 in minor units), (2) sending negative or zero. The amount must be a positive integer in the smallest currency unit (cents for USD, pence for GBP, etc.).",
82
+ },
83
+ merchant_not_configured: {
84
+ retryable: false,
85
+ nextAction: "contact_support",
86
+ llmHint: "The merchant is missing required configuration (e.g., payment provider credentials are not bound). The integrator cannot fix this from the API; surface a 'contact your account manager' action. The fix is on the merchant-app side.",
87
+ },
88
+ merchant_not_onboarded: {
89
+ retryable: false,
90
+ nextAction: "contact_support",
91
+ llmHint: "The merchant application is pending_approval or denied — live-key creation is blocked. The merchant must complete KYC + contract review before live keys can be used. For sandbox/test mode, the merchant should already have access; if seeing this on a test key, escalate.",
92
+ },
93
+ rate_limit_exceeded: {
94
+ retryable: true,
95
+ nextAction: "wait_and_retry",
96
+ llmHint: "Per-IP rate limit exceeded (10 req/60s on POST /v1/sessions). Read the Retry-After header and back off accordingly. The SDK auto-retries with exponential backoff; if seeing this exposed, retries are exhausted. Wait the full Retry-After window, do NOT retry sooner.",
97
+ },
98
+ rate_limit_exceeded_per_key: {
99
+ retryable: true,
100
+ nextAction: "wait_and_retry",
101
+ llmHint: "Per-API-key rate limit (30 session-creates/min). For high-throughput integrators, contact support for a higher ceiling — DO NOT work around by rotating keys (that creates more problems). Wait the Retry-After window and retry.",
102
+ },
103
+ provider_unavailable: {
104
+ retryable: true,
105
+ nextAction: "wait_and_retry",
106
+ llmHint: "The upstream payment provider is not responding. The SDK auto-retries with backoff; if seeing this exposed, retries are exhausted. Wait 30-60 seconds. If the issue persists across multiple sessions, the underlying provider may be having an incident — check the Von Payments status page.",
107
+ },
108
+ provider_attestation_failed: {
109
+ retryable: false,
110
+ nextAction: "fix_input",
111
+ llmHint: "The payment provider rejected the browser-side token (Vora attestation handoff failed). This usually means the buyer's browser session expired or the token was tampered with. Have the buyer restart the checkout session; do not retry the same session.",
112
+ },
113
+ provider_charge_failed: {
114
+ retryable: false,
115
+ nextAction: "ignore",
116
+ llmHint: "The card was declined or the charge was rejected by the upstream provider. This is a buyer-side outcome (insufficient funds, card blocked, etc.), not an integration bug. Show the decline UI; do not retry the same payment.",
117
+ },
118
+ internal_error: {
119
+ retryable: true,
120
+ nextAction: "wait_and_retry",
121
+ llmHint: "Unexpected server error on Von Payments side. Capture the requestId and retry once with backoff; if persistent, report to support with the requestId.",
122
+ },
123
+ webhook_missing_signature: {
124
+ retryable: false,
125
+ nextAction: "fix_input",
126
+ llmHint: "The webhook request is missing the X-VonPay-Signature header. Real Von Payments webhooks always carry this header; if you're seeing this, either (1) a non-Vonpay caller is hitting your webhook URL, OR (2) a proxy/middleware is stripping the header. Check your reverse proxy config — Cloudflare and AWS API Gateway sometimes strip x-* headers without a config rule.",
127
+ },
128
+ webhook_invalid_signature: {
129
+ retryable: false,
130
+ nextAction: "fix_input",
131
+ llmHint: "Webhook HMAC verification failed. Three common causes ranked by frequency: (1) using the wrong secret — the SDK expects your API key (vp_sk_*) NOT a separate webhook secret, (2) the body was JSON-parsed before signature verification (must use the RAW body bytes, not re-stringified JSON), (3) the timestamp is outside the 5-minute replay window. Check the SDK call passes req.text() / request.body in raw form.",
132
+ },
133
+ webhook_not_configured: {
134
+ retryable: false,
135
+ nextAction: "contact_support",
136
+ llmHint: "Webhook verification secret is not configured on the server side — a Von Payments operational issue. Contact support with the requestId. Don't retry; the config has to be fixed before any webhook will verify.",
137
+ },
138
+ origin_forbidden: {
139
+ retryable: false,
140
+ nextAction: "fix_input",
141
+ llmHint: "The request origin is not in the merchant's allowed origins list. Add the calling origin (your app's URL) to the merchant's CORS allowlist at app.vonpay.com/dashboard/developers/origins. Do not bypass via server-side proxy as a fix; configure the origin properly.",
142
+ },
143
+ transaction_verification_failed: {
144
+ retryable: false,
145
+ nextAction: "contact_support",
146
+ llmHint: "The transaction could not be verified with the payment provider — usually a reconciliation failure between Von Payments and the upstream processor. Capture the requestId and contact support; this is not a retry-can-fix issue.",
147
+ },
148
+ unsupported_media_type: {
149
+ retryable: false,
150
+ nextAction: "fix_input",
151
+ llmHint: "Content-Type header is missing or not application/json. The SDK sets this automatically; if seeing this, an HTTP middleware is rewriting the header. Check your reverse proxy / API gateway is not stripping or transforming Content-Type.",
152
+ },
153
+ };
154
+ /** Return the help entry for a given ErrorCode. Returns a fallback entry for unknown codes. */
155
+ export function helpFor(code) {
156
+ const entry = ERROR_HELP[code];
157
+ if (entry)
158
+ return entry;
159
+ return {
160
+ retryable: false,
161
+ nextAction: "contact_support",
162
+ llmHint: `Unknown error code "${code}". This may indicate a newer server version than this SDK supports — upgrade @vonpay/checkout-node to the latest, or capture the full error response and contact support.`,
163
+ };
164
+ }
165
+ //# sourceMappingURL=error-help.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-help.js","sourceRoot":"","sources":["../src/error-help.ts"],"names":[],"mappings":"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"}
package/dist/errors.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import type { ErrorCode, VonPayErrorData, RateLimitInfo } from "./types.js";
2
+ import { type NextAction } from "./error-help.js";
2
3
  export declare class VonPayError extends Error {
3
4
  readonly status: number;
4
5
  readonly code: ErrorCode;
@@ -6,6 +7,19 @@ export declare class VonPayError extends Error {
6
7
  readonly docs: string;
7
8
  readonly requestId?: string;
8
9
  readonly rateLimit?: RateLimitInfo;
10
+ /** True when retrying the same call may succeed (network errors, 429, 5xx). False for input errors and terminal states. */
11
+ readonly retryable: boolean;
12
+ /**
13
+ * Programmatic decision-helper for agent / LLM consumers.
14
+ * - "fix_input" — request was malformed; change input before retry
15
+ * - "rotate_key" — surface to a human or use a refresh-key flow
16
+ * - "wait_and_retry" — transient; backoff and retry
17
+ * - "contact_support" — server-side merchant config; surface to a human
18
+ * - "ignore" — terminal but expected (card decline, etc.)
19
+ */
20
+ readonly nextAction: NextAction;
21
+ /** LLM-friendly 1-3 sentence diagnostic; complements the human-imperative `fix`. */
22
+ readonly llmHint: string;
9
23
  constructor(status: number, data: VonPayErrorData, requestId?: string, rateLimit?: RateLimitInfo);
10
24
  }
11
25
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE5E,qBAAa,WAAY,SAAQ,KAAK;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC;gBAGjC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,eAAe,EACrB,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,aAAa;CAW5B"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,EAAW,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE3D,qBAAa,WAAY,SAAQ,KAAK;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC;IACnC,2HAA2H;IAC3H,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,oFAAoF;IACpF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;gBAGvB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,eAAe,EACrB,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,aAAa;CAe5B"}
package/dist/errors.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { helpFor } from "./error-help.js";
1
2
  export class VonPayError extends Error {
2
3
  status;
3
4
  code;
@@ -5,6 +6,19 @@ export class VonPayError extends Error {
5
6
  docs;
6
7
  requestId;
7
8
  rateLimit;
9
+ /** True when retrying the same call may succeed (network errors, 429, 5xx). False for input errors and terminal states. */
10
+ retryable;
11
+ /**
12
+ * Programmatic decision-helper for agent / LLM consumers.
13
+ * - "fix_input" — request was malformed; change input before retry
14
+ * - "rotate_key" — surface to a human or use a refresh-key flow
15
+ * - "wait_and_retry" — transient; backoff and retry
16
+ * - "contact_support" — server-side merchant config; surface to a human
17
+ * - "ignore" — terminal but expected (card decline, etc.)
18
+ */
19
+ nextAction;
20
+ /** LLM-friendly 1-3 sentence diagnostic; complements the human-imperative `fix`. */
21
+ llmHint;
8
22
  constructor(status, data, requestId, rateLimit) {
9
23
  super(data.error);
10
24
  this.name = "VonPayError";
@@ -14,6 +28,10 @@ export class VonPayError extends Error {
14
28
  this.docs = data.docs;
15
29
  this.requestId = requestId;
16
30
  this.rateLimit = rateLimit;
31
+ const help = helpFor(data.code);
32
+ this.retryable = help.retryable;
33
+ this.nextAction = help.nextAction;
34
+ this.llmHint = help.llmHint;
17
35
  }
18
36
  }
19
37
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,WAAY,SAAQ,KAAK;IAC3B,MAAM,CAAS;IACf,IAAI,CAAY;IAChB,GAAG,CAAS;IACZ,IAAI,CAAS;IACb,SAAS,CAAU;IACnB,SAAS,CAAiB;IAEnC,YACE,MAAc,EACd,IAAqB,EACrB,SAAkB,EAClB,SAAyB;QAEzB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAmB,MAAM,iBAAiB,CAAC;AAE3D,MAAM,OAAO,WAAY,SAAQ,KAAK;IAC3B,MAAM,CAAS;IACf,IAAI,CAAY;IAChB,GAAG,CAAS;IACZ,IAAI,CAAS;IACb,SAAS,CAAU;IACnB,SAAS,CAAiB;IACnC,2HAA2H;IAClH,SAAS,CAAU;IAC5B;;;;;;;OAOG;IACM,UAAU,CAAa;IAChC,oFAAoF;IAC3E,OAAO,CAAS;IAEzB,YACE,MAAc,EACd,IAAqB,EACrB,SAAkB,EAClB,SAAyB;QAEzB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC9B,CAAC;CACF"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,6 @@
1
1
  export { VonPayCheckout } from "./client.js";
2
- export type { VonPayCheckoutConfig, CreateSessionParams, LineItem, CheckoutSession, SessionState, SessionStatus, ShippingAddress, DryRunResult, WebhookEvent, WebhookSessionSucceeded, WebhookSessionFailed, WebhookSessionExpired, WebhookRefundCreated, HealthStatus, ErrorCode, VonPayErrorData, RequestOptions, RateLimitInfo, ReturnParams, } from "./types.js";
2
+ export type { VonPayCheckoutConfig, CreateSessionParams, LineItem, CheckoutSession, SessionState, SessionStatus, ShippingAddress, DryRunResult, WebhookEvent, WebhookSessionSucceeded, WebhookSessionFailed, WebhookSessionExpired, WebhookRefundCreated, HealthStatus, ErrorCode, VonPayErrorData, RequestOptions, RateLimitInfo, ReturnParams, ErrorReporter, ErrorReporterContext, } from "./types.js";
3
3
  export { VonPayError } from "./errors.js";
4
+ export { ERROR_HELP, helpFor } from "./error-help.js";
5
+ export type { ErrorHelp, NextAction } from "./error-help.js";
4
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,YAAY,EACV,oBAAoB,EACpB,mBAAmB,EACnB,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,aAAa,EACb,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,SAAS,EACT,eAAe,EACf,cAAc,EACd,aAAa,EACb,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,YAAY,EACV,oBAAoB,EACpB,mBAAmB,EACnB,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,aAAa,EACb,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,SAAS,EACT,eAAe,EACf,cAAc,EACd,aAAa,EACb,YAAY,EACZ,aAAa,EACb,oBAAoB,GACrB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACtD,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC"}
package/dist/index.js CHANGED
@@ -1,3 +1,4 @@
1
1
  export { VonPayCheckout } from "./client.js";
2
2
  export { VonPayError } from "./errors.js";
3
+ export { ERROR_HELP, helpFor } from "./error-help.js";
3
4
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAsB7C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAwB7C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC"}
package/dist/types.d.ts CHANGED
@@ -4,6 +4,40 @@ export interface VonPayCheckoutConfig {
4
4
  baseUrl?: string;
5
5
  maxRetries?: number;
6
6
  timeout?: number;
7
+ /**
8
+ * Optional callback invoked when the SDK throws or catches an error. Lets
9
+ * integrators wire the SDK's failure surface into their own observability
10
+ * stack (Sentry, Datadog, etc.) without the SDK ever phoning home.
11
+ *
12
+ * Fires synchronously, fire-and-forget. If the callback throws, the SDK
13
+ * swallows the error (with a console.warn) and continues — an observability
14
+ * bug must not break the SDK call.
15
+ *
16
+ * The callback is NOT a hot path for `verifySignature` or
17
+ * `verifyReturnSignature` (they return boolean, never throw). It IS invoked
18
+ * on `sessions.*` API failures, `constructEvent` / `constructEventV2`
19
+ * verification failures, and final-retry network/timeout exhaustion.
20
+ */
21
+ errorReporter?: ErrorReporter;
22
+ }
23
+ /** Signature for the optional error-reporting callback. */
24
+ export type ErrorReporter = (error: Error, context: ErrorReporterContext) => void;
25
+ /** Diagnostic context passed to `errorReporter`. */
26
+ export interface ErrorReporterContext {
27
+ /** SDK method that produced the error (e.g. `"sessions.create"`, `"webhooks.constructEvent"`). */
28
+ method: string;
29
+ /** SDK package version. */
30
+ sdkVersion: string;
31
+ /** Origin + path of the request that failed (no query string, no PII). */
32
+ url?: string;
33
+ /** HTTP status code, when the error originated from an API response. */
34
+ status?: number;
35
+ /** Server-assigned request id (`X-Request-Id` header) for correlation. */
36
+ requestId?: string;
37
+ /** Server error code, when from an API response (`auth_invalid_key`, `validation_error`, etc.). */
38
+ code?: string;
39
+ /** Retry attempt number (0-indexed; 0 = first try). Only set on `request()` failures. */
40
+ attempt?: number;
7
41
  }
8
42
  export interface CreateSessionParams {
9
43
  amount: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vonpay/checkout-node",
3
- "version": "0.1.3",
3
+ "version": "0.3.0",
4
4
  "description": "Von Payments Checkout SDK for Node.js",
5
5
  "license": "MIT",
6
6
  "type": "module",