@voyant-travel/plugin-netopia 0.104.19

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.
Files changed (42) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +80 -0
  3. package/dist/checkout.d.ts +4 -0
  4. package/dist/checkout.d.ts.map +1 -0
  5. package/dist/checkout.js +20 -0
  6. package/dist/client.d.ts +29 -0
  7. package/dist/client.d.ts.map +1 -0
  8. package/dist/client.js +221 -0
  9. package/dist/index.d.ts +9 -0
  10. package/dist/index.d.ts.map +1 -0
  11. package/dist/index.js +6 -0
  12. package/dist/ipn.d.ts +42 -0
  13. package/dist/ipn.d.ts.map +1 -0
  14. package/dist/ipn.js +188 -0
  15. package/dist/notification-runtime.d.ts +13 -0
  16. package/dist/notification-runtime.d.ts.map +1 -0
  17. package/dist/notification-runtime.js +22 -0
  18. package/dist/plugin.d.ts +736 -0
  19. package/dist/plugin.d.ts.map +1 -0
  20. package/dist/plugin.js +231 -0
  21. package/dist/service-callback.d.ts +8 -0
  22. package/dist/service-callback.d.ts.map +1 -0
  23. package/dist/service-callback.js +200 -0
  24. package/dist/service-collect.d.ts +9 -0
  25. package/dist/service-collect.d.ts.map +1 -0
  26. package/dist/service-collect.js +70 -0
  27. package/dist/service-shared.d.ts +63 -0
  28. package/dist/service-shared.d.ts.map +1 -0
  29. package/dist/service-shared.js +40 -0
  30. package/dist/service-start.d.ts +6 -0
  31. package/dist/service-start.d.ts.map +1 -0
  32. package/dist/service-start.js +82 -0
  33. package/dist/service.d.ts +13 -0
  34. package/dist/service.d.ts.map +1 -0
  35. package/dist/service.js +12 -0
  36. package/dist/types.d.ts +259 -0
  37. package/dist/types.d.ts.map +1 -0
  38. package/dist/types.js +1 -0
  39. package/dist/validation.d.ts +666 -0
  40. package/dist/validation.d.ts.map +1 -0
  41. package/dist/validation.js +139 -0
  42. package/package.json +73 -0
@@ -0,0 +1,82 @@
1
+ import { createNetopiaClient, resolveNetopiaRuntimeOptions, } from "./client.js";
2
+ import { buildDefaultProducts, centsToAmount, deriveNetopiaOrderId, financeService, mergeRecord, normalizeCurrency, } from "./service-shared.js";
3
+ export async function startPaymentSession(db, sessionId, input, runtimeOptions = {}, clientOverride, bindings) {
4
+ const session = await financeService.getPaymentSessionById(db, sessionId);
5
+ if (!session) {
6
+ throw new Error("Payment session not found");
7
+ }
8
+ if (session.provider && session.provider !== "netopia") {
9
+ throw new Error(`Payment session ${sessionId} is already assigned to provider "${session.provider}"`);
10
+ }
11
+ if (["paid", "authorized", "cancelled", "expired"].includes(session.status)) {
12
+ throw new Error(`Payment session ${sessionId} is not startable from status "${session.status}"`);
13
+ }
14
+ const runtime = resolveNetopiaRuntimeOptions(bindings, runtimeOptions);
15
+ const client = clientOverride ??
16
+ createNetopiaClient({
17
+ apiUrl: runtime.apiUrl,
18
+ apiKey: runtime.apiKey,
19
+ fetch: runtime.fetch,
20
+ resilience: runtime.resilience,
21
+ });
22
+ const description = input.description ?? session.notes ?? `Payment ${session.id}`;
23
+ const orderId = deriveNetopiaOrderId(session);
24
+ const request = {
25
+ config: {
26
+ emailTemplate: input.emailTemplate ?? runtime.emailTemplate,
27
+ notifyUrl: input.notifyUrl ?? runtime.notifyUrl,
28
+ redirectUrl: input.returnUrl ?? runtime.redirectUrl,
29
+ language: input.language ?? runtime.language,
30
+ },
31
+ payment: {
32
+ options: input.options ?? { installments: 1 },
33
+ instrument: input.instrument,
34
+ data: input.browserData,
35
+ },
36
+ order: {
37
+ ntpID: "",
38
+ posSignature: runtime.posSignature,
39
+ dateTime: new Date().toISOString(),
40
+ description,
41
+ orderID: orderId,
42
+ amount: centsToAmount(session.amountCents),
43
+ currency: normalizeCurrency(session.currency),
44
+ billing: input.billing,
45
+ shipping: input.shipping ?? input.billing,
46
+ products: input.products && input.products.length > 0
47
+ ? input.products
48
+ : buildDefaultProducts(session, description),
49
+ installments: input.installments ?? { selected: 1, available: [0] },
50
+ data: input.orderData,
51
+ },
52
+ };
53
+ const providerResponse = await client.startCardPayment(request);
54
+ const payment = providerResponse.payment;
55
+ if (!payment?.paymentURL) {
56
+ throw new Error("Netopia start payment succeeded without paymentURL");
57
+ }
58
+ const updated = await financeService.markPaymentSessionRequiresRedirect(db, session.id, {
59
+ provider: "netopia",
60
+ providerSessionId: payment.ntpID ?? null,
61
+ providerPaymentId: payment.ntpID ?? null,
62
+ externalReference: orderId,
63
+ redirectUrl: payment.paymentURL,
64
+ returnUrl: input.returnUrl ?? runtime.redirectUrl,
65
+ cancelUrl: input.cancelUrl ?? null,
66
+ callbackUrl: input.callbackUrl ?? input.notifyUrl ?? runtime.notifyUrl,
67
+ providerPayload: mergeRecord(session.providerPayload, {
68
+ netopiaStartRequest: request,
69
+ netopiaStartResponse: providerResponse,
70
+ }),
71
+ metadata: input.metadata ?? undefined,
72
+ notes: input.notes ?? session.notes ?? undefined,
73
+ });
74
+ if (!updated) {
75
+ throw new Error("Payment session disappeared while saving Netopia redirect state");
76
+ }
77
+ return {
78
+ session: updated,
79
+ providerResponse,
80
+ orderId,
81
+ };
82
+ }
@@ -0,0 +1,13 @@
1
+ import { handleCallback } from "./service-callback.js";
2
+ import { collectBookingGuarantee, collectBookingSchedule, collectInvoice } from "./service-collect.js";
3
+ import { deriveNetopiaOrderId, mapNetopiaPaymentStatus, type NetopiaCallbackResult, type NetopiaCollectPaymentResult, type NetopiaStartPaymentResult } from "./service-shared.js";
4
+ import { startPaymentSession } from "./service-start.js";
5
+ export { deriveNetopiaOrderId, mapNetopiaPaymentStatus, type NetopiaCallbackResult, type NetopiaCollectPaymentResult, type NetopiaStartPaymentResult, };
6
+ export declare const netopiaService: {
7
+ startPaymentSession: typeof startPaymentSession;
8
+ collectBookingSchedule: typeof collectBookingSchedule;
9
+ collectBookingGuarantee: typeof collectBookingGuarantee;
10
+ collectInvoice: typeof collectInvoice;
11
+ handleCallback: typeof handleCallback;
12
+ };
13
+ //# sourceMappingURL=service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,cAAc,EACf,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,2BAA2B,EAChC,KAAK,yBAAyB,EAC/B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAExD,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,2BAA2B,EAChC,KAAK,yBAAyB,GAC/B,CAAA;AAED,eAAO,MAAM,cAAc;;;;;;CAM1B,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { handleCallback } from "./service-callback.js";
2
+ import { collectBookingGuarantee, collectBookingSchedule, collectInvoice, } from "./service-collect.js";
3
+ import { deriveNetopiaOrderId, mapNetopiaPaymentStatus, } from "./service-shared.js";
4
+ import { startPaymentSession } from "./service-start.js";
5
+ export { deriveNetopiaOrderId, mapNetopiaPaymentStatus, };
6
+ export const netopiaService = {
7
+ startPaymentSession,
8
+ collectBookingSchedule,
9
+ collectBookingGuarantee,
10
+ collectInvoice,
11
+ handleCallback,
12
+ };
@@ -0,0 +1,259 @@
1
+ import type { NotificationProvider } from "@voyant-travel/notifications";
2
+ import type { CircuitBreaker } from "@voyant-travel/utils/resilience";
3
+ export type NetopiaFetch = (input: string, init: {
4
+ method: string;
5
+ headers: Record<string, string>;
6
+ body?: string;
7
+ }) => Promise<{
8
+ ok: boolean;
9
+ status: number;
10
+ json: () => Promise<unknown>;
11
+ text: () => Promise<string>;
12
+ }>;
13
+ export interface NetopiaBillingAddress {
14
+ email: string;
15
+ phone: string;
16
+ firstName: string;
17
+ lastName: string;
18
+ city: string;
19
+ country: number;
20
+ state: string;
21
+ postalCode: string;
22
+ details: string;
23
+ }
24
+ export interface NetopiaProductLine {
25
+ name?: string;
26
+ code?: string;
27
+ category?: string;
28
+ price?: number;
29
+ vat?: number;
30
+ }
31
+ export interface NetopiaInstallments {
32
+ selected: number;
33
+ available: number[];
34
+ }
35
+ export interface NetopiaPaymentOptions {
36
+ installments: number;
37
+ bonus?: number;
38
+ }
39
+ export interface NetopiaPaymentInstrument {
40
+ type: string;
41
+ account: string;
42
+ expMonth: number;
43
+ expYear: number;
44
+ secretCode: string;
45
+ token?: string;
46
+ }
47
+ export interface NetopiaBrowserData {
48
+ [key: string]: string | undefined;
49
+ }
50
+ export interface NetopiaStartPaymentRequest {
51
+ config: {
52
+ emailTemplate: string;
53
+ notifyUrl: string;
54
+ redirectUrl: string;
55
+ language: string;
56
+ };
57
+ payment: {
58
+ options: NetopiaPaymentOptions;
59
+ instrument?: NetopiaPaymentInstrument;
60
+ data?: NetopiaBrowserData;
61
+ };
62
+ order: {
63
+ ntpID?: string;
64
+ posSignature: string;
65
+ dateTime: string;
66
+ description: string;
67
+ orderID: string;
68
+ amount: number;
69
+ currency: string;
70
+ billing: NetopiaBillingAddress;
71
+ shipping: NetopiaBillingAddress;
72
+ products: NetopiaProductLine[];
73
+ installments: NetopiaInstallments;
74
+ data?: Record<string, string>;
75
+ };
76
+ }
77
+ /**
78
+ * Request body for Netopia v2 `POST /operation/status` — the authoritative,
79
+ * merchant-authenticated payment status lookup. Field names mirror the
80
+ * official SDKs (e.g. github.com/netopiapayments/go-sdk `requests.StatusRequest`).
81
+ */
82
+ export interface NetopiaStatusRequest {
83
+ /** The merchant POS signature (same value as the start payload's `posSignature`). */
84
+ posID: string;
85
+ /** The Netopia transaction id. */
86
+ ntpID: string;
87
+ /** The merchant order id submitted at payment start. */
88
+ orderID: string;
89
+ }
90
+ /**
91
+ * Response of Netopia v2 `POST /operation/status`. `order` echoes the order
92
+ * we submitted at start (amount/currency exactly as we sent them); `payment`
93
+ * carries the processed transaction (which may be RON-converted for non-RON
94
+ * orders).
95
+ */
96
+ export interface NetopiaStatusResponse {
97
+ code?: string;
98
+ message?: string;
99
+ error?: {
100
+ code?: string | number;
101
+ message?: string;
102
+ };
103
+ order?: {
104
+ ntpID?: string;
105
+ orderID?: string;
106
+ amount?: number;
107
+ currency?: string;
108
+ description?: string;
109
+ [key: string]: unknown;
110
+ };
111
+ payment?: {
112
+ ntpID?: string;
113
+ status?: number;
114
+ amount?: number;
115
+ currency?: string;
116
+ rrn?: string;
117
+ token?: string;
118
+ operationDate?: string;
119
+ data?: Record<string, unknown>;
120
+ [key: string]: unknown;
121
+ };
122
+ [key: string]: unknown;
123
+ }
124
+ export interface NetopiaStartPaymentResponse {
125
+ code?: string;
126
+ message?: string;
127
+ error?: {
128
+ code?: string | number;
129
+ message?: string;
130
+ };
131
+ payment?: {
132
+ paymentURL?: string;
133
+ ntpID?: string;
134
+ status?: number;
135
+ amount?: number;
136
+ currency?: string;
137
+ };
138
+ }
139
+ export interface NetopiaWebhookPayload {
140
+ order: {
141
+ orderID: string;
142
+ };
143
+ payment: {
144
+ amount: number;
145
+ currency: string;
146
+ ntpID: string;
147
+ status: number;
148
+ code?: string;
149
+ message?: string;
150
+ data?: {
151
+ AuthCode?: string;
152
+ RRN?: string;
153
+ [key: string]: unknown;
154
+ };
155
+ instrument?: {
156
+ country?: number;
157
+ panMasked?: string;
158
+ [key: string]: unknown;
159
+ };
160
+ [key: string]: unknown;
161
+ };
162
+ [key: string]: unknown;
163
+ }
164
+ export interface NetopiaStartPaymentInput {
165
+ description?: string;
166
+ notifyUrl?: string;
167
+ returnUrl?: string;
168
+ cancelUrl?: string;
169
+ callbackUrl?: string;
170
+ emailTemplate?: string;
171
+ language?: string;
172
+ options?: NetopiaPaymentOptions;
173
+ instrument?: NetopiaPaymentInstrument;
174
+ browserData?: NetopiaBrowserData;
175
+ billing: NetopiaBillingAddress;
176
+ shipping?: NetopiaBillingAddress;
177
+ products?: NetopiaProductLine[];
178
+ installments?: NetopiaInstallments;
179
+ orderData?: Record<string, string>;
180
+ metadata?: Record<string, unknown>;
181
+ notes?: string | null;
182
+ }
183
+ export type NetopiaMode = "sandbox" | "live";
184
+ /**
185
+ * Outbound-HTTP resilience knobs for the Netopia client. Payment initiation
186
+ * is money movement, so it is NEVER auto-retried — these only tune the
187
+ * per-attempt timeout and the circuit breaker that fails fast when Netopia
188
+ * is down instead of burning the request's CPU/subrequest budget.
189
+ */
190
+ export interface NetopiaResilienceOptions {
191
+ /**
192
+ * Per-attempt timeout. Defaults to 15s — payment initiation gets a longer
193
+ * ceiling than the 10s used for non-payment upstreams.
194
+ */
195
+ timeoutMs?: number;
196
+ /**
197
+ * Override/share the circuit breaker. Defaults to one module-level
198
+ * breaker per Netopia base URL (clients are created per request, so the
199
+ * breaker must outlive them).
200
+ */
201
+ breaker?: CircuitBreaker;
202
+ }
203
+ export interface NetopiaRuntimeOptions {
204
+ /**
205
+ * Selects the Netopia environment. Resolves to a known base URL via
206
+ * `NETOPIA_API_BASES`. Pass `apiUrl` to override (e.g. for tests or a
207
+ * private staging proxy). Defaults to `"sandbox"` when neither `mode`
208
+ * nor `apiUrl` is set, so a misconfigured production deploy fails into
209
+ * the safer mode rather than charging real cards.
210
+ */
211
+ mode?: NetopiaMode;
212
+ apiUrl?: string;
213
+ apiKey?: string;
214
+ posSignature?: string;
215
+ notifyUrl?: string;
216
+ redirectUrl?: string;
217
+ emailTemplate?: string;
218
+ language?: string;
219
+ successStatuses?: number[];
220
+ processingStatuses?: number[];
221
+ /**
222
+ * PEM of the NETOPIA platform certificate (or its public key) used to
223
+ * verify the `Verification-token` JWT that Netopia v2 attaches to every
224
+ * IPN callback. When set, callbacks with a missing/invalid token are
225
+ * rejected before any verification or state transition. Env:
226
+ * `NETOPIA_IPN_PUBLIC_KEY` (literal `\n` sequences are unescaped).
227
+ */
228
+ ipnPublicKey?: string;
229
+ /**
230
+ * DANGEROUS — local sandbox/dev escape hatch only. When `true`, the
231
+ * callback handler trusts the inbound `payment.status` without the
232
+ * server-side `/operation/status` verification. Defaults to `false`.
233
+ * Env: `NETOPIA_TRUST_UNVERIFIED_CALLBACKS=1`.
234
+ */
235
+ trustUnverifiedCallbacks?: boolean;
236
+ fetch?: NetopiaFetch;
237
+ /** Timeout/circuit-breaker tuning. See {@link NetopiaResilienceOptions}. */
238
+ resilience?: NetopiaResilienceOptions;
239
+ resolveNotificationProviders?: (bindings: Record<string, unknown>) => ReadonlyArray<NotificationProvider>;
240
+ }
241
+ export interface ResolvedNetopiaRuntimeOptions {
242
+ apiUrl: string;
243
+ apiKey: string;
244
+ posSignature: string;
245
+ notifyUrl: string;
246
+ redirectUrl: string;
247
+ emailTemplate: string;
248
+ language: string;
249
+ successStatuses: number[];
250
+ processingStatuses: number[];
251
+ /** See {@link NetopiaRuntimeOptions.ipnPublicKey}. */
252
+ ipnPublicKey?: string;
253
+ /** See {@link NetopiaRuntimeOptions.trustUnverifiedCallbacks}. */
254
+ trustUnverifiedCallbacks: boolean;
255
+ fetch?: NetopiaFetch;
256
+ /** Timeout/circuit-breaker tuning. See {@link NetopiaResilienceOptions}. */
257
+ resilience?: NetopiaResilienceOptions;
258
+ }
259
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1 @@
1
+ export {};