@vonpay/checkout-node 0.2.0 → 0.4.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 +3 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +99 -8
- package/dist/client.js.map +1 -1
- package/dist/error-help.d.ts +11 -0
- package/dist/error-help.d.ts.map +1 -0
- package/dist/error-help.js +165 -0
- package/dist/error-help.js.map +1 -0
- package/dist/errors.d.ts +14 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +18 -0
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/telemetry.d.ts +53 -0
- package/dist/telemetry.d.ts.map +1 -0
- package/dist/telemetry.js +268 -0
- package/dist/telemetry.js.map +1 -0
- package/dist/types.d.ts +21 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/client.d.ts
CHANGED
|
@@ -5,7 +5,9 @@ export declare class VonPayCheckout {
|
|
|
5
5
|
/**
|
|
6
6
|
* Invoke the configured errorReporter callback, swallowing any throw from
|
|
7
7
|
* the integrator's reporter so an observability bug never breaks an SDK
|
|
8
|
-
* call.
|
|
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).
|
|
9
11
|
*/
|
|
10
12
|
private reportError;
|
|
11
13
|
/** Strip query string from a URL for safe inclusion in error context (no PII via search params). */
|
package/dist/client.d.ts.map
CHANGED
|
@@ -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,EAGb,MAAM,YAAY,CAAC;
|
|
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;AAuJpB,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;gBAE5B,MAAM,EAAE,oBAAoB,GAAG,MAAM;IAwCjD;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IAwDnB,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
|
@@ -3,6 +3,7 @@ import { readFileSync } from "node:fs";
|
|
|
3
3
|
import { fileURLToPath } from "node:url";
|
|
4
4
|
import { dirname, join } from "node:path";
|
|
5
5
|
import { VonPayError } from "./errors.js";
|
|
6
|
+
import { Telemetry } from "./telemetry.js";
|
|
6
7
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
7
8
|
const pkg = JSON.parse(readFileSync(join(__dirname, "..", "package.json"), "utf-8"));
|
|
8
9
|
const SDK_VERSION = pkg.version;
|
|
@@ -18,6 +19,12 @@ const VALID_KEY_PREFIXES = [
|
|
|
18
19
|
"vp_pk_test_",
|
|
19
20
|
"vp_pk_live_",
|
|
20
21
|
];
|
|
22
|
+
const DEFAULT_TELEMETRY_BASE_URL = "https://checkout.vonpay.com";
|
|
23
|
+
// Module-level WeakSet so multi-instance integrators each get their notice.
|
|
24
|
+
// Per-instance scope is correct here — we want each VonPayCheckout that's
|
|
25
|
+
// constructed with telemetry: { enabled: true } to surface the disclosure
|
|
26
|
+
// at least once.
|
|
27
|
+
const telemetryNoticedInstances = new WeakSet();
|
|
21
28
|
function resolveConfig(config) {
|
|
22
29
|
if (typeof config === "string") {
|
|
23
30
|
return {
|
|
@@ -28,6 +35,27 @@ function resolveConfig(config) {
|
|
|
28
35
|
timeout: DEFAULT_TIMEOUT,
|
|
29
36
|
};
|
|
30
37
|
}
|
|
38
|
+
// Phase 3 telemetry — strict boolean equality. Non-boolean values throw
|
|
39
|
+
// TypeError to prevent silent activation via type coercion (devsec H-1).
|
|
40
|
+
let telemetry;
|
|
41
|
+
if (config.telemetry?.enabled !== undefined) {
|
|
42
|
+
if (typeof config.telemetry.enabled !== "boolean") {
|
|
43
|
+
throw new TypeError("telemetry.enabled must be a boolean. Pass `true` to opt in or omit to disable.");
|
|
44
|
+
}
|
|
45
|
+
if (config.telemetry.enabled === true) {
|
|
46
|
+
// Telemetry always goes to the canonical base URL unless explicitly
|
|
47
|
+
// overridden via telemetry.baseUrl. We do NOT inherit config.baseUrl
|
|
48
|
+
// (which may be a localhost proxy or staging override for the
|
|
49
|
+
// integrator's main API calls).
|
|
50
|
+
const telemetryBaseUrl = config.telemetry.baseUrl?.replace(/\/+$/, "") ??
|
|
51
|
+
DEFAULT_TELEMETRY_BASE_URL;
|
|
52
|
+
telemetry = new Telemetry({
|
|
53
|
+
apiKey: config.apiKey,
|
|
54
|
+
baseUrl: telemetryBaseUrl,
|
|
55
|
+
sdkVersion: SDK_VERSION,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
}
|
|
31
59
|
return {
|
|
32
60
|
apiKey: config.apiKey,
|
|
33
61
|
apiVersion: config.apiVersion ?? DEFAULT_API_VERSION,
|
|
@@ -35,6 +63,7 @@ function resolveConfig(config) {
|
|
|
35
63
|
maxRetries: config.maxRetries ?? DEFAULT_MAX_RETRIES,
|
|
36
64
|
timeout: config.timeout ?? DEFAULT_TIMEOUT,
|
|
37
65
|
errorReporter: config.errorReporter,
|
|
66
|
+
telemetry,
|
|
38
67
|
};
|
|
39
68
|
}
|
|
40
69
|
function sleep(ms) {
|
|
@@ -108,24 +137,86 @@ export class VonPayCheckout {
|
|
|
108
137
|
throw new Error("Invalid API key format. Keys must start with one of: " +
|
|
109
138
|
VALID_KEY_PREFIXES.join(", "));
|
|
110
139
|
}
|
|
140
|
+
// Phase 3 telemetry one-time activation notice. Per-instance — different
|
|
141
|
+
// keys/configs each warrant their own disclosure.
|
|
142
|
+
if (this.config.telemetry && !telemetryNoticedInstances.has(this)) {
|
|
143
|
+
telemetryNoticedInstances.add(this);
|
|
144
|
+
if (typeof console !== "undefined" && typeof console.warn === "function") {
|
|
145
|
+
console.warn("[vonpay] Telemetry enabled. Anonymized error metadata sent to vonpay.\n" +
|
|
146
|
+
" Disable: telemetry: { enabled: false }\n" +
|
|
147
|
+
" What we send: https://docs.vonpay.com/sdk-telemetry");
|
|
148
|
+
// Serverless cold-start warn — opted-in integrators on Vercel/Lambda
|
|
149
|
+
// should know POSTs may drop on freeze (infra H-1).
|
|
150
|
+
if (process.env.VERCEL !== undefined ||
|
|
151
|
+
process.env.AWS_LAMBDA_FUNCTION_NAME !== undefined) {
|
|
152
|
+
console.warn("[vonpay] Telemetry detected serverless runtime (VERCEL / AWS_LAMBDA).\n" +
|
|
153
|
+
" Fire-and-forget POSTs may drop on function freeze.\n" +
|
|
154
|
+
" See https://docs.vonpay.com/sdk-telemetry#serverless");
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
111
158
|
}
|
|
112
159
|
/**
|
|
113
160
|
* Invoke the configured errorReporter callback, swallowing any throw from
|
|
114
161
|
* the integrator's reporter so an observability bug never breaks an SDK
|
|
115
|
-
* call.
|
|
162
|
+
* call. When no reporter is configured, falls back to a structured
|
|
163
|
+
* `console.warn` line so integrators get minimum-viable visibility for
|
|
164
|
+
* free (set `VONPAY_QUIET=1` to silence; auto-skipped under NODE_ENV=test).
|
|
116
165
|
*/
|
|
117
166
|
reportError(err, partial) {
|
|
118
167
|
const reporter = this.config.errorReporter;
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
168
|
+
const ctx = { ...partial, sdkVersion: SDK_VERSION };
|
|
169
|
+
if (reporter) {
|
|
170
|
+
try {
|
|
171
|
+
reporter(err, ctx);
|
|
172
|
+
}
|
|
173
|
+
catch (reporterErr) {
|
|
174
|
+
if (typeof console !== "undefined" && typeof console.warn === "function") {
|
|
175
|
+
console.warn("[vonpay] errorReporter threw; suppressing:", reporterErr instanceof Error ? reporterErr.message : String(reporterErr));
|
|
176
|
+
}
|
|
177
|
+
}
|
|
123
178
|
}
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
179
|
+
else if (process.env.NODE_ENV !== "test" &&
|
|
180
|
+
process.env.VONPAY_QUIET !== "1" &&
|
|
181
|
+
typeof console !== "undefined" &&
|
|
182
|
+
typeof console.warn === "function") {
|
|
183
|
+
// Default reporter — log a structured line to stderr so any log
|
|
184
|
+
// aggregator captures it without explicit wiring. Skip in test envs
|
|
185
|
+
// (test runners already surface errors) and when the integrator opts
|
|
186
|
+
// out via env.
|
|
187
|
+
const summary = {
|
|
188
|
+
method: ctx.method,
|
|
189
|
+
sdkVersion: ctx.sdkVersion,
|
|
190
|
+
};
|
|
191
|
+
if (ctx.url)
|
|
192
|
+
summary.url = ctx.url;
|
|
193
|
+
if (ctx.status !== undefined)
|
|
194
|
+
summary.status = ctx.status;
|
|
195
|
+
if (ctx.requestId)
|
|
196
|
+
summary.requestId = ctx.requestId;
|
|
197
|
+
if (ctx.code)
|
|
198
|
+
summary.code = ctx.code;
|
|
199
|
+
if (ctx.attempt !== undefined)
|
|
200
|
+
summary.attempt = ctx.attempt;
|
|
201
|
+
if (err instanceof VonPayError) {
|
|
202
|
+
summary.retryable = err.retryable;
|
|
203
|
+
summary.nextAction = err.nextAction;
|
|
127
204
|
}
|
|
205
|
+
console.warn(`[vonpay] ${err.message} ${JSON.stringify(summary)}`);
|
|
128
206
|
}
|
|
207
|
+
// Phase 3 telemetry fires AFTER the integrator's reporter (or the default
|
|
208
|
+
// warn) — unconditionally, regardless of which reporter branch ran.
|
|
209
|
+
// Spec §7: order is integrator first, telemetry second; integrator's
|
|
210
|
+
// logic shouldn't be slowed by our telemetry, and if our telemetry has
|
|
211
|
+
// a bug the integrator's reporter has already run. Errors inside
|
|
212
|
+
// record() are swallowed in its async IIFE and never surface to the
|
|
213
|
+
// caller.
|
|
214
|
+
//
|
|
215
|
+
// Telemetry fires per-attempt of a failed call (matches the `attempt`
|
|
216
|
+
// field in ctx). For a 3-retry-exhausted call, 3 telemetry events fire
|
|
217
|
+
// with retry_count: 0, 1, 2 — the retry_count distribution is itself a
|
|
218
|
+
// useful signal for SDK quality engineering analytics.
|
|
219
|
+
this.config.telemetry?.record(err, ctx);
|
|
129
220
|
}
|
|
130
221
|
/** Strip query string from a URL for safe inclusion in error context (no PII via search params). */
|
|
131
222
|
static safeUrl(url) {
|
package/dist/client.js.map
CHANGED
|
@@ -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
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"
|
|
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,7 @@
|
|
|
1
1
|
export { VonPayCheckout } from "./client.js";
|
|
2
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";
|
|
6
|
+
export { Telemetry, mapOperation, containsSensitive } from "./telemetry.js";
|
|
4
7
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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,EACZ,aAAa,EACb,oBAAoB,GACrB,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;AAC7D,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/index.js
CHANGED
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;AAwB7C,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;AAEtD,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { ErrorReporterContext } from "./types.js";
|
|
2
|
+
type ServerOp = "sessions.create" | "sessions.retrieve" | "webhooks.constructEvent" | "webhooks.verifySignature";
|
|
3
|
+
/**
|
|
4
|
+
* Map an SDK-internal method name to the server's closed operation enum.
|
|
5
|
+
* Returns null when the operation is outside the server's enum (silently skip).
|
|
6
|
+
*/
|
|
7
|
+
export declare function mapOperation(method: string): ServerOp | null;
|
|
8
|
+
/** True if the string contains any sensitive-shape token. */
|
|
9
|
+
export declare function containsSensitive(s: string): boolean;
|
|
10
|
+
interface TelemetryDeps {
|
|
11
|
+
apiKey: string;
|
|
12
|
+
baseUrl: string;
|
|
13
|
+
sdkVersion: string;
|
|
14
|
+
/** Override the global fetch (testing only). */
|
|
15
|
+
fetchImpl?: typeof fetch;
|
|
16
|
+
/** Override Date.now (testing only — concurrency / pause-expiry). */
|
|
17
|
+
nowImpl?: () => number;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Telemetry instance — owned by VonPayCheckout when `telemetry: { enabled: true }`
|
|
21
|
+
* is passed. Otherwise this module is never instantiated.
|
|
22
|
+
*/
|
|
23
|
+
export declare class Telemetry {
|
|
24
|
+
private readonly apiKey;
|
|
25
|
+
private readonly baseUrl;
|
|
26
|
+
private readonly sdkVersion;
|
|
27
|
+
private readonly runtime;
|
|
28
|
+
private readonly fetchImpl;
|
|
29
|
+
private readonly nowImpl;
|
|
30
|
+
/**
|
|
31
|
+
* `false` if construction-time validation failed. `record()` short-circuits
|
|
32
|
+
* when false. This is distinct from the integrator's `enabled` opt-in
|
|
33
|
+
* (which gates whether we construct Telemetry at all).
|
|
34
|
+
*/
|
|
35
|
+
private enabled;
|
|
36
|
+
/** Per-instance state — see PHASE_3_SDK_DESIGN.md v2 §2. */
|
|
37
|
+
private pausedUntil;
|
|
38
|
+
private dropCount;
|
|
39
|
+
private loggedStatusCodes;
|
|
40
|
+
private warnedServerError;
|
|
41
|
+
private warnedNetworkError;
|
|
42
|
+
private warnedSensitiveScrub;
|
|
43
|
+
constructor(deps: TelemetryDeps);
|
|
44
|
+
/**
|
|
45
|
+
* Record an error event. Fire-and-forget — never throws to caller, never
|
|
46
|
+
* blocks. Sync from caller view; internal async POST is wrapped in an IIFE
|
|
47
|
+
* with a top-level try/catch that handles non-Error rejections.
|
|
48
|
+
*/
|
|
49
|
+
record(err: Error, ctx: ErrorReporterContext): void;
|
|
50
|
+
private send;
|
|
51
|
+
}
|
|
52
|
+
export {};
|
|
53
|
+
//# sourceMappingURL=telemetry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAwCvD,KAAK,QAAQ,GACT,iBAAiB,GACjB,mBAAmB,GACnB,yBAAyB,GACzB,0BAA0B,CAAC;AAE/B;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAwB5D;AAED,6DAA6D;AAC7D,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED,UAAU,aAAa;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,MAAM,CAAC;CACxB;AAgBD;;;GAGG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IAEvC;;;;OAIG;IACH,OAAO,CAAC,OAAO,CAAkB;IAEjC,4DAA4D;IAC5D,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,iBAAiB,CAA0B;IACnD,OAAO,CAAC,iBAAiB,CAAkB;IAC3C,OAAO,CAAC,kBAAkB,CAAkB;IAC5C,OAAO,CAAC,oBAAoB,CAAkB;gBAElC,IAAI,EAAE,aAAa;IA6B/B;;;;OAIG;IACH,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,oBAAoB,GAAG,IAAI;YA4ErC,IAAI;CAiEnB"}
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
// Phase 3 SDK telemetry — opt-in anonymized error reporting to Vonpay's
|
|
2
|
+
// /v1/sdk-telemetry endpoint. Default OFF; integrators must explicitly pass
|
|
3
|
+
// `telemetry: { enabled: true }` to activate.
|
|
4
|
+
//
|
|
5
|
+
// Implements PHASE_3_SDK_DESIGN.md v2 (in this package). The server contract
|
|
6
|
+
// is at vonpay-checkout/docs/_design/phase-3-sdk-telemetry.md v2.
|
|
7
|
+
//
|
|
8
|
+
// Privacy hard-lines:
|
|
9
|
+
// - enabled === true literal boolean required (TypeError on non-boolean)
|
|
10
|
+
// - No env-var override; no constructor heuristic
|
|
11
|
+
// - Local scrub before send; drop-not-redact on sensitive match
|
|
12
|
+
// - Module never reads request body / response body of original API calls
|
|
13
|
+
// - Module never throws to caller; fire-and-forget POST is fully isolated
|
|
14
|
+
// - Module's own response handling uses bare console.warn — NEVER calls
|
|
15
|
+
// reportError() (would create recursion: telemetry-on-telemetry-failures)
|
|
16
|
+
import { createHash } from "node:crypto";
|
|
17
|
+
import { VonPayError } from "./errors.js";
|
|
18
|
+
// Server contract regexes — must match
|
|
19
|
+
// vonpay-checkout/src/lib/validation.ts byte-for-byte.
|
|
20
|
+
const SDK_VERSION_REGEX = /^[0-9]+\.[0-9]+\.[0-9]+(-[a-z0-9.]+)?$/;
|
|
21
|
+
// RUNTIME_REGEX guard: cannot trip on any Node version from official npm
|
|
22
|
+
// distribution — `node-${process.versions.node}` is always 13+ ASCII chars.
|
|
23
|
+
// Retained as belt-and-suspenders against theoretical `process.versions`
|
|
24
|
+
// tampering. Do NOT delete as "unused" without understanding the defensive
|
|
25
|
+
// intent. (v2 re-review LOW)
|
|
26
|
+
const RUNTIME_REGEX = /^[a-z][a-z0-9._+-]{0,62}$/i;
|
|
27
|
+
// Local scrub blocklist — must match
|
|
28
|
+
// vonpay-checkout/src/lib/validation.ts SECRETS_OR_PII_BLOCKLIST byte-for-byte.
|
|
29
|
+
// validation.ts is the BINDING regex source for telemetry input rejection.
|
|
30
|
+
// scrub.ts is server-side runtime scrub for Sentry/structured-log — different scope.
|
|
31
|
+
//
|
|
32
|
+
// Character classes are ASCII-only (`[a-z0-9]+/i`). Unicode characters in
|
|
33
|
+
// keys would fall outside the class, so a key with a ZWJ U+200D inserted
|
|
34
|
+
// would partially match — the partial match is sufficient for `.test()` to
|
|
35
|
+
// return true, which causes the SAFE outcome (drop). The ASCII boundary is
|
|
36
|
+
// the security boundary; do not widen the character class without re-
|
|
37
|
+
// auditing.
|
|
38
|
+
const BLOCKLIST = [
|
|
39
|
+
/vp_(sk|pk)_(live|test)_[a-z0-9]+/i, // Vonpay API keys
|
|
40
|
+
/ss_(live|test)_[a-z0-9]+/i, // Vonpay session signing secrets
|
|
41
|
+
/whsec_[a-z0-9]+/i, // Stripe webhook secrets
|
|
42
|
+
/sk_(live|test)_[a-z0-9]+/i, // Stripe API keys
|
|
43
|
+
/pk_(live|test)_[a-z0-9]+/i, // Stripe publishable keys
|
|
44
|
+
/[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}/i, // emails
|
|
45
|
+
];
|
|
46
|
+
const BODY_CAP_BYTES = 2048;
|
|
47
|
+
const PAUSE_DURATION_MS = 60_000;
|
|
48
|
+
const PAUSE_DROP_COUNT = 30;
|
|
49
|
+
const TELEMETRY_TIMEOUT_MS = 5_000;
|
|
50
|
+
const SDK_NAME = "checkout-node";
|
|
51
|
+
/**
|
|
52
|
+
* Map an SDK-internal method name to the server's closed operation enum.
|
|
53
|
+
* Returns null when the operation is outside the server's enum (silently skip).
|
|
54
|
+
*/
|
|
55
|
+
export function mapOperation(method) {
|
|
56
|
+
switch (method) {
|
|
57
|
+
case "sessions.create":
|
|
58
|
+
return "sessions.create";
|
|
59
|
+
case "sessions.get":
|
|
60
|
+
// alias: server enum uses "sessions.retrieve"
|
|
61
|
+
return "sessions.retrieve";
|
|
62
|
+
case "webhooks.constructEvent":
|
|
63
|
+
return "webhooks.constructEvent";
|
|
64
|
+
case "webhooks.constructEventV2":
|
|
65
|
+
// V2 alias: server's closed enum has no constructEventV2 slot, so V2
|
|
66
|
+
// failures arrive labeled as constructEvent. Cross-doc note filed via
|
|
67
|
+
// bridge HEADS-UP 2026-04-25 22:26Z.
|
|
68
|
+
return "webhooks.constructEvent";
|
|
69
|
+
case "webhooks.verifySignature":
|
|
70
|
+
// RESERVED-NO-OP: server's closed enum lists this, but verifySignature
|
|
71
|
+
// returns boolean (no throw → no error_reporter call → no telemetry path).
|
|
72
|
+
// DO NOT add a code path that fires telemetry on verifySignature
|
|
73
|
+
// returning false; that would burn integrator quota for every
|
|
74
|
+
// misconfigured webhook.
|
|
75
|
+
return null;
|
|
76
|
+
default:
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/** True if the string contains any sensitive-shape token. */
|
|
81
|
+
export function containsSensitive(s) {
|
|
82
|
+
return BLOCKLIST.some((re) => re.test(s));
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Telemetry instance — owned by VonPayCheckout when `telemetry: { enabled: true }`
|
|
86
|
+
* is passed. Otherwise this module is never instantiated.
|
|
87
|
+
*/
|
|
88
|
+
export class Telemetry {
|
|
89
|
+
apiKey;
|
|
90
|
+
baseUrl;
|
|
91
|
+
sdkVersion;
|
|
92
|
+
runtime;
|
|
93
|
+
fetchImpl;
|
|
94
|
+
nowImpl;
|
|
95
|
+
/**
|
|
96
|
+
* `false` if construction-time validation failed. `record()` short-circuits
|
|
97
|
+
* when false. This is distinct from the integrator's `enabled` opt-in
|
|
98
|
+
* (which gates whether we construct Telemetry at all).
|
|
99
|
+
*/
|
|
100
|
+
enabled = false;
|
|
101
|
+
/** Per-instance state — see PHASE_3_SDK_DESIGN.md v2 §2. */
|
|
102
|
+
pausedUntil = null;
|
|
103
|
+
dropCount = 0;
|
|
104
|
+
loggedStatusCodes = new Set(); // 400, 401
|
|
105
|
+
warnedServerError = false; // 5xx
|
|
106
|
+
warnedNetworkError = false; // network / timeout / abort
|
|
107
|
+
warnedSensitiveScrub = false;
|
|
108
|
+
constructor(deps) {
|
|
109
|
+
this.apiKey = deps.apiKey;
|
|
110
|
+
this.baseUrl = deps.baseUrl;
|
|
111
|
+
this.sdkVersion = deps.sdkVersion;
|
|
112
|
+
this.runtime = `node-${process.versions.node}`;
|
|
113
|
+
// Bind to globalThis at capture so calling this.fetchImpl() preserves
|
|
114
|
+
// the `this` binding that Node's undici-backed fetch expects. Without
|
|
115
|
+
// bind(), `this.fetchImpl(...)` calls fetch with `this === Telemetry`,
|
|
116
|
+
// which throws a silent TypeError that gets swallowed by our network-
|
|
117
|
+
// error branch — leaving no telemetry POSTs visible in tests or prod.
|
|
118
|
+
this.fetchImpl = deps.fetchImpl ?? globalThis.fetch.bind(globalThis);
|
|
119
|
+
this.nowImpl = deps.nowImpl ?? Date.now;
|
|
120
|
+
if (!SDK_VERSION_REGEX.test(this.sdkVersion)) {
|
|
121
|
+
console.warn(`[vonpay] telemetry: SDK version "${this.sdkVersion}" does not match server semver regex. ` +
|
|
122
|
+
`Telemetry disabled on this instance. Report to vonpay support if this version is from npm.`);
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
if (!RUNTIME_REGEX.test(this.runtime)) {
|
|
126
|
+
console.warn(`[vonpay] telemetry: runtime string "${this.runtime}" would fail server regex; disabled.`);
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
this.enabled = true;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Record an error event. Fire-and-forget — never throws to caller, never
|
|
133
|
+
* blocks. Sync from caller view; internal async POST is wrapped in an IIFE
|
|
134
|
+
* with a top-level try/catch that handles non-Error rejections.
|
|
135
|
+
*/
|
|
136
|
+
record(err, ctx) {
|
|
137
|
+
if (!this.enabled)
|
|
138
|
+
return;
|
|
139
|
+
// Atomic pause-expiry check + dual reset (locks the v1 "additive 90s
|
|
140
|
+
// blackout" bug — pause window and drop counter clear together).
|
|
141
|
+
const now = this.nowImpl();
|
|
142
|
+
if (this.pausedUntil !== null && now >= this.pausedUntil) {
|
|
143
|
+
this.pausedUntil = null;
|
|
144
|
+
this.dropCount = 0;
|
|
145
|
+
}
|
|
146
|
+
if (this.pausedUntil !== null)
|
|
147
|
+
return; // still paused → drop
|
|
148
|
+
if (this.dropCount > 0) {
|
|
149
|
+
// Defensive: legacy from incomplete pause. In normal operation
|
|
150
|
+
// unreachable because pause + drop counter clear together. Retained
|
|
151
|
+
// against a future refactor that clears pausedUntil without dropCount.
|
|
152
|
+
this.dropCount--;
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
// Map operation; skip silently if outside closed enum
|
|
156
|
+
const operation = mapOperation(ctx.method);
|
|
157
|
+
if (operation === null)
|
|
158
|
+
return;
|
|
159
|
+
// Resolve error_code; non-VonPayError throws don't have a catalog code
|
|
160
|
+
if (!(err instanceof VonPayError))
|
|
161
|
+
return;
|
|
162
|
+
const errorCode = err.code;
|
|
163
|
+
// Build body
|
|
164
|
+
const body = {
|
|
165
|
+
sdk_name: SDK_NAME,
|
|
166
|
+
sdk_version: this.sdkVersion,
|
|
167
|
+
runtime: this.runtime,
|
|
168
|
+
error_code: errorCode,
|
|
169
|
+
operation,
|
|
170
|
+
occurred_at: new Date(now).toISOString(),
|
|
171
|
+
};
|
|
172
|
+
if (err.requestId) {
|
|
173
|
+
body.request_id_hash = createHash("sha256")
|
|
174
|
+
.update(err.requestId)
|
|
175
|
+
.digest("hex");
|
|
176
|
+
}
|
|
177
|
+
if (ctx.attempt !== undefined || ctx.status !== undefined) {
|
|
178
|
+
body.context = {};
|
|
179
|
+
if (ctx.attempt !== undefined)
|
|
180
|
+
body.context.retry_count = ctx.attempt;
|
|
181
|
+
if (ctx.status !== undefined)
|
|
182
|
+
body.context.http_status = ctx.status;
|
|
183
|
+
}
|
|
184
|
+
// Local scrub — drop entire event silently if any string matches
|
|
185
|
+
const stringFields = [
|
|
186
|
+
body.sdk_name,
|
|
187
|
+
body.sdk_version,
|
|
188
|
+
body.runtime,
|
|
189
|
+
body.error_code,
|
|
190
|
+
body.operation,
|
|
191
|
+
];
|
|
192
|
+
for (const field of stringFields) {
|
|
193
|
+
if (containsSensitive(field)) {
|
|
194
|
+
if (!this.warnedSensitiveScrub) {
|
|
195
|
+
this.warnedSensitiveScrub = true;
|
|
196
|
+
console.warn(`[vonpay] telemetry: dropped event due to sensitive-shape match. ` +
|
|
197
|
+
`This indicates an SDK bug — please report to support@vonpay.com.`);
|
|
198
|
+
}
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
// Body cap
|
|
203
|
+
const bodyJson = JSON.stringify(body);
|
|
204
|
+
if (Buffer.byteLength(bodyJson, "utf8") > BODY_CAP_BYTES)
|
|
205
|
+
return;
|
|
206
|
+
// Fire-and-forget POST
|
|
207
|
+
void this.send(bodyJson);
|
|
208
|
+
}
|
|
209
|
+
async send(bodyJson) {
|
|
210
|
+
let response;
|
|
211
|
+
try {
|
|
212
|
+
response = await this.fetchImpl(`${this.baseUrl}/v1/sdk-telemetry`, {
|
|
213
|
+
method: "POST",
|
|
214
|
+
headers: {
|
|
215
|
+
Authorization: `Bearer ${this.apiKey}`,
|
|
216
|
+
"Von-Pay-Version": "2026-04-14",
|
|
217
|
+
"Content-Type": "application/json",
|
|
218
|
+
"User-Agent": `${SDK_NAME}/${this.sdkVersion}`,
|
|
219
|
+
},
|
|
220
|
+
body: bodyJson,
|
|
221
|
+
signal: AbortSignal.timeout(TELEMETRY_TIMEOUT_MS),
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
catch (e) {
|
|
225
|
+
// Non-Error rejections (string, null, undefined) won't have .message;
|
|
226
|
+
// catch-everything prevents surface to caller.
|
|
227
|
+
if (!this.warnedNetworkError) {
|
|
228
|
+
this.warnedNetworkError = true;
|
|
229
|
+
console.warn(`[vonpay] telemetry: network/timeout. If you're behind a corporate firewall, ` +
|
|
230
|
+
`allowlist checkout.vonpay.com:443. See https://docs.vonpay.com/sdk-telemetry#firewall`);
|
|
231
|
+
}
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
234
|
+
if (response.status === 204)
|
|
235
|
+
return; // success
|
|
236
|
+
if (response.status === 400) {
|
|
237
|
+
if (!this.loggedStatusCodes.has(400)) {
|
|
238
|
+
this.loggedStatusCodes.add(400);
|
|
239
|
+
console.warn(`[vonpay] telemetry: 400 from server. Likely SDK schema drift OR clock skew ` +
|
|
240
|
+
`(server requires occurred_at ±5min of UTC; check NTP). ` +
|
|
241
|
+
`Disable telemetry: { enabled: false } if persistent.`);
|
|
242
|
+
}
|
|
243
|
+
return;
|
|
244
|
+
}
|
|
245
|
+
if (response.status === 401) {
|
|
246
|
+
if (!this.loggedStatusCodes.has(401)) {
|
|
247
|
+
this.loggedStatusCodes.add(401);
|
|
248
|
+
console.warn(`[vonpay] telemetry: 401 unauthorized. Check API key matches the merchant's account.`);
|
|
249
|
+
}
|
|
250
|
+
return;
|
|
251
|
+
}
|
|
252
|
+
if (response.status === 429) {
|
|
253
|
+
this.pausedUntil = this.nowImpl() + PAUSE_DURATION_MS;
|
|
254
|
+
this.dropCount = PAUSE_DROP_COUNT;
|
|
255
|
+
return; // no log; would spam under sustained load
|
|
256
|
+
}
|
|
257
|
+
if (response.status >= 500) {
|
|
258
|
+
if (!this.warnedServerError) {
|
|
259
|
+
this.warnedServerError = true;
|
|
260
|
+
console.warn(`[vonpay] telemetry: server unavailable; events dropping silently. ` +
|
|
261
|
+
`Set telemetry.enabled=false to stop attempts if persistent.`);
|
|
262
|
+
}
|
|
263
|
+
return;
|
|
264
|
+
}
|
|
265
|
+
// Any other status — silent drop
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
//# sourceMappingURL=telemetry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -19,6 +19,27 @@ export interface VonPayCheckoutConfig {
|
|
|
19
19
|
* verification failures, and final-retry network/timeout exhaustion.
|
|
20
20
|
*/
|
|
21
21
|
errorReporter?: ErrorReporter;
|
|
22
|
+
/**
|
|
23
|
+
* Phase 3 SDK telemetry — opt-in anonymized error reporting to vonpay.
|
|
24
|
+
*
|
|
25
|
+
* **Default OFF.** Set `{ enabled: true }` (literal boolean) to activate.
|
|
26
|
+
* Non-boolean values throw `TypeError`. No env-var override exists.
|
|
27
|
+
*
|
|
28
|
+
* When enabled, the SDK fires a fire-and-forget POST to
|
|
29
|
+
* `/v1/sdk-telemetry` on every `VonPayError` thrown from a vonpay API
|
|
30
|
+
* call (sessions.create / sessions.get / webhooks.constructEvent /
|
|
31
|
+
* constructEventV2). The body is a fixed schema: sdk_name, sdk_version,
|
|
32
|
+
* runtime, error_code, operation, request_id_hash (SHA-256 of the
|
|
33
|
+
* X-Request-Id), occurred_at, optional retry_count + http_status.
|
|
34
|
+
* Never includes the API key, request body, or response body.
|
|
35
|
+
*
|
|
36
|
+
* See https://docs.vonpay.com/sdk-telemetry for the full disclosure.
|
|
37
|
+
*/
|
|
38
|
+
telemetry?: {
|
|
39
|
+
enabled?: boolean;
|
|
40
|
+
/** Override the telemetry endpoint base URL (testing only). */
|
|
41
|
+
baseUrl?: string;
|
|
42
|
+
};
|
|
22
43
|
}
|
|
23
44
|
/** Signature for the optional error-reporting callback. */
|
|
24
45
|
export type ErrorReporter = (error: Error, context: ErrorReporterContext) => void;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;;;;;;;OAaG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|