@mj-biz-apps/orders-server 5.19.0 → 5.21.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/BillComWebhookExtension.d.ts +46 -0
- package/dist/BillComWebhookExtension.d.ts.map +1 -0
- package/dist/BillComWebhookExtension.js +220 -0
- package/dist/BillComWebhookExtension.js.map +1 -0
- package/dist/CheckoutServerExtension.d.ts +13 -1
- package/dist/CheckoutServerExtension.d.ts.map +1 -1
- package/dist/CheckoutServerExtension.js +56 -4
- package/dist/CheckoutServerExtension.js.map +1 -1
- package/dist/__tests__/BillComWebhookExtension.test.d.ts +2 -0
- package/dist/__tests__/BillComWebhookExtension.test.d.ts.map +1 -0
- package/dist/__tests__/BillComWebhookExtension.test.js +166 -0
- package/dist/__tests__/BillComWebhookExtension.test.js.map +1 -0
- package/dist/__tests__/CheckoutServerExtension.test.js +104 -1
- package/dist/__tests__/CheckoutServerExtension.test.js.map +1 -1
- package/dist/__tests__/billcom-actions.test.d.ts +2 -0
- package/dist/__tests__/billcom-actions.test.d.ts.map +1 -0
- package/dist/__tests__/billcom-actions.test.js +89 -0
- package/dist/__tests__/billcom-actions.test.js.map +1 -0
- package/dist/__tests__/server-extensions-manifest.test.js +6 -0
- package/dist/__tests__/server-extensions-manifest.test.js.map +1 -1
- package/dist/custom/action-params.d.ts +31 -0
- package/dist/custom/action-params.d.ts.map +1 -0
- package/dist/custom/action-params.js +69 -0
- package/dist/custom/action-params.js.map +1 -0
- package/dist/custom/apply-access-override-decision.action.d.ts +22 -0
- package/dist/custom/apply-access-override-decision.action.d.ts.map +1 -0
- package/dist/custom/apply-access-override-decision.action.js +53 -0
- package/dist/custom/apply-access-override-decision.action.js.map +1 -0
- package/dist/custom/poll-external-payments.action.d.ts +25 -0
- package/dist/custom/poll-external-payments.action.d.ts.map +1 -0
- package/dist/custom/poll-external-payments.action.js +98 -0
- package/dist/custom/poll-external-payments.action.js.map +1 -0
- package/dist/custom/send-document.action.d.ts.map +1 -1
- package/dist/custom/send-document.action.js +3 -1
- package/dist/custom/send-document.action.js.map +1 -1
- package/dist/custom/send-external-invoices.action.d.ts +27 -0
- package/dist/custom/send-external-invoices.action.d.ts.map +1 -0
- package/dist/custom/send-external-invoices.action.js +92 -0
- package/dist/custom/send-external-invoices.action.js.map +1 -0
- package/dist/generated/graphql-schemas/__mj_BizAppsOrders.d.ts +714 -0
- package/dist/generated/graphql-schemas/__mj_BizAppsOrders.d.ts.map +1 -1
- package/dist/generated/graphql-schemas/__mj_BizAppsOrders.js +6963 -3214
- package/dist/generated/graphql-schemas/__mj_BizAppsOrders.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +23 -1
- package/dist/index.js.map +1 -1
- package/dist/server-extensions-manifest.d.ts.map +1 -1
- package/dist/server-extensions-manifest.js +6 -0
- package/dist/server-extensions-manifest.js.map +1 -1
- package/package.json +10 -4
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { Application } from 'express';
|
|
2
|
+
import { type IMetadataProvider, type UserInfo } from '@memberjunction/core';
|
|
3
|
+
import { BaseServerExtension, type ExtensionHealthResult, type ExtensionInitResult, type ServerExtensionConfig } from '@memberjunction/server-extensions-core';
|
|
4
|
+
export declare class BillComWebhookExtension extends BaseServerExtension {
|
|
5
|
+
Initialize(app: Application, config: ServerExtensionConfig): Promise<ExtensionInitResult>;
|
|
6
|
+
Shutdown(): Promise<void>;
|
|
7
|
+
HealthCheck(): Promise<ExtensionHealthResult>;
|
|
8
|
+
private resolveSystemUser;
|
|
9
|
+
}
|
|
10
|
+
export interface BillComWebhookRequest {
|
|
11
|
+
rawBody: string;
|
|
12
|
+
headers: Record<string, string | undefined>;
|
|
13
|
+
providerId: string;
|
|
14
|
+
}
|
|
15
|
+
/** Transport-agnostic so it can be tested without Express. Exported for that reason. */
|
|
16
|
+
export declare function HandleBillComWebhook(req: BillComWebhookRequest, res: {
|
|
17
|
+
status(code: number): {
|
|
18
|
+
json(body: unknown): unknown;
|
|
19
|
+
};
|
|
20
|
+
}, context: () => {
|
|
21
|
+
provider: IMetadataProvider | undefined;
|
|
22
|
+
user: UserInfo | undefined;
|
|
23
|
+
}, runPoll?: (providerId: string, provider: IMetadataProvider, user: UserInfo) => Promise<void>): Promise<void>;
|
|
24
|
+
/**
|
|
25
|
+
* A NOTIFICATION MUST NOT RECORD CASH THE SCHEDULED JOB IS NOT YET ALLOWED TO RECORD.
|
|
26
|
+
*
|
|
27
|
+
* This route used to call the poll with `Preview: false` outright. Both jobs ship Disabled and in
|
|
28
|
+
* Preview precisely so Finance reads one run before any money moves, and merging this branch is
|
|
29
|
+
* supposed to turn nothing on — but the route is enabled in the server config, so the day somebody
|
|
30
|
+
* registered the Bill.com subscription and set the secret, the first `invoice.updated` event would
|
|
31
|
+
* have captured a real payment and posted Dr Cash / Cr A/R before anyone had approved a preview.
|
|
32
|
+
*
|
|
33
|
+
* So the webhook now follows the job rather than overriding it: it polls only when the scheduled poll
|
|
34
|
+
* job is Active AND out of Preview. Anything else is logged and ignored, because a webhook-driven
|
|
35
|
+
* preview writes nothing and nobody reads its output — the scheduled run is where a preview belongs.
|
|
36
|
+
*/
|
|
37
|
+
export declare function PollJobIsLive(job: {
|
|
38
|
+
Status: string | null;
|
|
39
|
+
Configuration: string | null;
|
|
40
|
+
} | null | undefined): {
|
|
41
|
+
Live: boolean;
|
|
42
|
+
Why: string;
|
|
43
|
+
};
|
|
44
|
+
/** Tree-shaking anchor — call from the server bootstrap. */
|
|
45
|
+
export declare function LoadBillComWebhookExtension(): void;
|
|
46
|
+
//# sourceMappingURL=BillComWebhookExtension.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BillComWebhookExtension.d.ts","sourceRoot":"","sources":["../src/BillComWebhookExtension.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,WAAW,EAAqB,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAiC,KAAK,iBAAiB,EAAE,KAAK,QAAQ,EAAkC,MAAM,sBAAsB,CAAC;AAG5I,OAAO,EAAE,mBAAmB,EAAE,KAAK,qBAAqB,EAAE,KAAK,mBAAmB,EAAE,KAAK,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAO/J,qBACa,uBAAwB,SAAQ,mBAAmB;IAC/C,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAmBzF,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzB,WAAW,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAO1D,OAAO,CAAC,iBAAiB;CAO5B;AAED,MAAM,WAAW,qBAAqB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAC5C,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,wFAAwF;AACxF,wBAAsB,oBAAoB,CACtC,GAAG,EAAE,qBAAqB,EAC1B,GAAG,EAAE;IAAE,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAA;KAAE,CAAA;CAAE,EAC/D,OAAO,EAAE,MAAM;IAAE,QAAQ,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAA;CAAE,EACtF,OAAO,GAAE,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAkB,GAC7G,OAAO,CAAC,IAAI,CAAC,CAoCf;AAuCD;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE;IAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAK7I;AA0CD,4DAA4D;AAC5D,wBAAgB,2BAA2B,IAAI,IAAI,CAElD"}
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* @fileoverview `OrdersBillComWebhook` — POST /webhooks/billcom/:providerId, mounted before auth.
|
|
9
|
+
*
|
|
10
|
+
* WHAT A BILL.COM WEBHOOK CAN AND CANNOT DO FOR US. Bill.com publishes invoice events
|
|
11
|
+
* (created/updated/archived/restored) signed HMAC-SHA256 over the raw body, and NO payment-received
|
|
12
|
+
* event; an `invoice.updated` carries no receivable-payment id. So the poll (`Orders.PollExternalPayments`)
|
|
13
|
+
* stays the source of truth for cash, and this route does exactly one thing with a VERIFIED
|
|
14
|
+
* notification: run that poll for the provider named in the URL, now, instead of at the next tick.
|
|
15
|
+
* Unverified notifications do nothing — the only thing this endpoint can make us do is call Bill.com,
|
|
16
|
+
* and an unauthenticated way to make us do that is a way to exhaust our API budget.
|
|
17
|
+
*
|
|
18
|
+
* RAW BODY, LIKE THE PAYMENT WEBHOOK. A JSON parser upstream re-serialises the body and invalidates
|
|
19
|
+
* every signature, so this route parses nothing before verifying.
|
|
20
|
+
*
|
|
21
|
+
* RESPOND FIRST, POLL AFTER. Bill.com retries a non-200 with exponential backoff and disables a
|
|
22
|
+
* subscription that keeps failing. A poll can take longer than a webhook client waits, so the route
|
|
23
|
+
* returns 202 as soon as the signature verifies and runs the poll detached, logging its outcome.
|
|
24
|
+
*
|
|
25
|
+
* REGISTERING THE SUBSCRIPTION IS A SETUP STEP, NOT CODE: `POST /v3/subscriptions` in Bill.com with
|
|
26
|
+
* `notificationUrl = https://<host>/webhooks/billcom/<PaymentProviderID>` and `events` = the four
|
|
27
|
+
* invoice events, then put the returned `securityKey` where the provider's `CredentialsRef` points
|
|
28
|
+
* (`<REF>_WEBHOOK_SECRET`).
|
|
29
|
+
*
|
|
30
|
+
* @module @mj-biz-apps/orders-server
|
|
31
|
+
*/
|
|
32
|
+
import BodyParser from 'body-parser';
|
|
33
|
+
import { LogError, LogStatus, Metadata, RunView } from '@memberjunction/core';
|
|
34
|
+
import { UserCache } from '@memberjunction/generic-database-provider';
|
|
35
|
+
import { RegisterClass, UUIDsEqual } from '@memberjunction/global';
|
|
36
|
+
import { BaseServerExtension } from '@memberjunction/server-extensions-core';
|
|
37
|
+
import { OrdersPollExternalPaymentsOperation } from '@mj-biz-apps/orders-entities';
|
|
38
|
+
import { IsPaymentRelevant, ResolvePaymentProvider } from '@mj-biz-apps/orders-core-entities-server';
|
|
39
|
+
const MAX_BODY = '1mb';
|
|
40
|
+
const UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
41
|
+
let BillComWebhookExtension = class BillComWebhookExtension extends BaseServerExtension {
|
|
42
|
+
async Initialize(app, config) {
|
|
43
|
+
const route = `${config.RootPath.replace(/\/+$/, '')}/:providerId`;
|
|
44
|
+
app.post(route, BodyParser.raw({ type: '*/*', limit: MAX_BODY }), async (req, res) => {
|
|
45
|
+
await HandleBillComWebhook({
|
|
46
|
+
// Raw bytes under the raw parser, a string if something already decoded it — the same
|
|
47
|
+
// reading as PaymentWebhookHandler. Never re-serialised: that would break the signature.
|
|
48
|
+
rawBody: typeof req.body === 'string' ? req.body : String(req.body ?? ''),
|
|
49
|
+
headers: flattenHeaders(req.headers),
|
|
50
|
+
providerId: String(req.params?.providerId ?? ''),
|
|
51
|
+
}, res, () => ({ provider: Metadata.Provider, user: this.resolveSystemUser() }));
|
|
52
|
+
});
|
|
53
|
+
LogStatus(`[Orders] Bill.com webhook route registered at POST ${route}`);
|
|
54
|
+
return { Success: true, Message: 'Orders Bill.com webhook mounted (unauthenticated, raw body, signature-verified; a verified event triggers the payment poll).', RegisteredRoutes: [`POST ${route}`] };
|
|
55
|
+
}
|
|
56
|
+
async Shutdown() {
|
|
57
|
+
// Nothing held open.
|
|
58
|
+
}
|
|
59
|
+
async HealthCheck() {
|
|
60
|
+
const user = this.resolveSystemUser();
|
|
61
|
+
return user
|
|
62
|
+
? { Healthy: true, Name: 'OrdersBillComWebhook' }
|
|
63
|
+
: { Healthy: false, Name: 'OrdersBillComWebhook', Details: { Reason: "MJ's system user does not resolve, so every Bill.com notification will be refused." } };
|
|
64
|
+
}
|
|
65
|
+
resolveSystemUser() {
|
|
66
|
+
try {
|
|
67
|
+
return UserCache.Instance.GetSystemUser() ?? undefined;
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
return undefined;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
BillComWebhookExtension = __decorate([
|
|
75
|
+
RegisterClass(BaseServerExtension, 'OrdersBillComWebhook')
|
|
76
|
+
], BillComWebhookExtension);
|
|
77
|
+
export { BillComWebhookExtension };
|
|
78
|
+
/** Transport-agnostic so it can be tested without Express. Exported for that reason. */
|
|
79
|
+
export async function HandleBillComWebhook(req, res, context, runPoll = defaultRunPoll) {
|
|
80
|
+
if (!UUID.test(req.providerId)) {
|
|
81
|
+
res.status(404).json({ received: false, reason: 'unknown provider' });
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
const { provider, user } = context();
|
|
85
|
+
if (!provider || !user) {
|
|
86
|
+
// 500, not 4xx: the notification is real and we want it retried once startup is fixed.
|
|
87
|
+
LogError("A Bill.com webhook arrived but MJ's system user or provider could not be resolved; refusing so Bill.com retries.");
|
|
88
|
+
res.status(500).json({ received: false });
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
let driver;
|
|
92
|
+
try {
|
|
93
|
+
driver = await ResolvePaymentProvider(req.providerId, provider, user);
|
|
94
|
+
}
|
|
95
|
+
catch (err) {
|
|
96
|
+
LogError(`Bill.com webhook for provider ${req.providerId}: ${err instanceof Error ? err.message : String(err)}`);
|
|
97
|
+
res.status(404).json({ received: false, reason: 'provider not configured' });
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
if (driver.Config.TypeCode !== 'BillCom') {
|
|
101
|
+
res.status(404).json({ received: false, reason: 'not a Bill.com provider' });
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
const verdict = await driver.VerifyWebhook(req.rawBody, req.headers);
|
|
105
|
+
if (!verdict.Valid) {
|
|
106
|
+
LogError(`Bill.com webhook for provider ${req.providerId} refused: ${verdict.Reason ?? 'signature invalid'}`);
|
|
107
|
+
res.status(401).json({ received: false });
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
const event = driver.ParseWebhookEvent(req.rawBody);
|
|
111
|
+
const relevant = !event || IsPaymentRelevant(event.Kind);
|
|
112
|
+
// Acknowledge now; Bill.com's retry clock is short and a poll is not.
|
|
113
|
+
res.status(202).json({ received: true, polled: relevant, kind: event?.Kind ?? null });
|
|
114
|
+
if (!relevant)
|
|
115
|
+
return;
|
|
116
|
+
void runPoll(req.providerId, provider, user).catch((err) => LogError(`Bill.com webhook-triggered poll for ${req.providerId} failed: ${err instanceof Error ? err.message : String(err)}`));
|
|
117
|
+
}
|
|
118
|
+
/** The Action behind `Orders — Poll External Payments`, whose scheduled job governs this route. */
|
|
119
|
+
const POLL_ACTION_ID = 'B8C4D3E2-0A5F-4D72-9E3B-6F2A8C4D0B11';
|
|
120
|
+
/** That Action's `Preview` input param. Seeded by V202609272103; the job's Configuration names it. */
|
|
121
|
+
const POLL_PREVIEW_PARAM_ID = 'B8C4D3E2-0A5F-4D72-9E3B-6F2A8C4D0B13';
|
|
122
|
+
const SCHEDULED_JOB_ENTITY = 'MJ: Scheduled Jobs';
|
|
123
|
+
/**
|
|
124
|
+
* Is this job's `Preview` param set to something the action will read as true?
|
|
125
|
+
*
|
|
126
|
+
* MUST AGREE WITH `boolParam` (packages/Server/src/custom/action-params.ts), which is what actually
|
|
127
|
+
* decides whether the scheduled run previews. It accepts a real boolean as well as 'true', '1', 'yes'
|
|
128
|
+
* and 'y', and every one of those is a spelling a person can put in the Configuration JSON. This used
|
|
129
|
+
* to be a regex for `"Value": "true"` over the whole blob, which disagreed with `boolParam` on three
|
|
130
|
+
* of them — each disagreement a job that previews while this route records cash — and matched ANY
|
|
131
|
+
* param's value rather than Preview's, so a MaxCount of "true" would have blocked a live job.
|
|
132
|
+
*
|
|
133
|
+
* ABSENT MEANS NOT PREVIEWING, which is the action's own default (`preview = !!input?.Preview`);
|
|
134
|
+
* the two have to answer the same way or the gate is worse than no gate.
|
|
135
|
+
*/
|
|
136
|
+
function previewParamIsTrue(configuration) {
|
|
137
|
+
let parsed;
|
|
138
|
+
try {
|
|
139
|
+
parsed = JSON.parse(configuration ?? '');
|
|
140
|
+
}
|
|
141
|
+
catch {
|
|
142
|
+
// Unreadable configuration is not permission to record money.
|
|
143
|
+
return true;
|
|
144
|
+
}
|
|
145
|
+
const params = parsed?.Params;
|
|
146
|
+
if (!Array.isArray(params))
|
|
147
|
+
return false;
|
|
148
|
+
const preview = params.find((x) => typeof x?.ActionParamID === 'string' && UUIDsEqual(x.ActionParamID, POLL_PREVIEW_PARAM_ID));
|
|
149
|
+
if (!preview)
|
|
150
|
+
return false;
|
|
151
|
+
const raw = preview.Value;
|
|
152
|
+
if (raw == null || raw === '')
|
|
153
|
+
return false;
|
|
154
|
+
if (typeof raw === 'boolean')
|
|
155
|
+
return raw;
|
|
156
|
+
return ['true', '1', 'yes', 'y'].includes(String(raw).trim().toLowerCase());
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* A NOTIFICATION MUST NOT RECORD CASH THE SCHEDULED JOB IS NOT YET ALLOWED TO RECORD.
|
|
160
|
+
*
|
|
161
|
+
* This route used to call the poll with `Preview: false` outright. Both jobs ship Disabled and in
|
|
162
|
+
* Preview precisely so Finance reads one run before any money moves, and merging this branch is
|
|
163
|
+
* supposed to turn nothing on — but the route is enabled in the server config, so the day somebody
|
|
164
|
+
* registered the Bill.com subscription and set the secret, the first `invoice.updated` event would
|
|
165
|
+
* have captured a real payment and posted Dr Cash / Cr A/R before anyone had approved a preview.
|
|
166
|
+
*
|
|
167
|
+
* So the webhook now follows the job rather than overriding it: it polls only when the scheduled poll
|
|
168
|
+
* job is Active AND out of Preview. Anything else is logged and ignored, because a webhook-driven
|
|
169
|
+
* preview writes nothing and nobody reads its output — the scheduled run is where a preview belongs.
|
|
170
|
+
*/
|
|
171
|
+
export function PollJobIsLive(job) {
|
|
172
|
+
if (!job)
|
|
173
|
+
return { Live: false, Why: 'no scheduled poll job is installed' };
|
|
174
|
+
if ((job.Status ?? '').trim().toLowerCase() !== 'active')
|
|
175
|
+
return { Live: false, Why: `the scheduled poll job is ${job.Status?.trim() || 'not active'}` };
|
|
176
|
+
if (previewParamIsTrue(job.Configuration))
|
|
177
|
+
return { Live: false, Why: 'the scheduled poll job is still in Preview' };
|
|
178
|
+
return { Live: true, Why: 'the scheduled poll job is live' };
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* THE MOST RESTRICTIVE POLL JOB WINS, not whichever row the database happened to return first.
|
|
182
|
+
*
|
|
183
|
+
* One job covers every provider today (the shipped row names no `PaymentProviderID`), but the poll
|
|
184
|
+
* takes one and this route is per-provider, so a site that splits the job per provider is an ordinary
|
|
185
|
+
* configuration. Reading `Results[0]` of an unordered view then answered with an arbitrary job's
|
|
186
|
+
* state — provider A live would have let a notification for provider B record cash while B's own job
|
|
187
|
+
* was still in Preview. With no way to tell from here which job governs which provider, every
|
|
188
|
+
* installed poll job has to agree before this route writes anything.
|
|
189
|
+
*/
|
|
190
|
+
async function pollIsLive(provider, user) {
|
|
191
|
+
const rv = new RunView(provider);
|
|
192
|
+
const r = await rv.RunView({ EntityName: SCHEDULED_JOB_ENTITY, ExtraFilter: `Configuration LIKE '%${POLL_ACTION_ID}%'`, Fields: ['Status', 'Configuration'], OrderBy: 'Name', ResultType: 'simple' }, user);
|
|
193
|
+
const jobs = r.Results ?? [];
|
|
194
|
+
if (!jobs.length)
|
|
195
|
+
return PollJobIsLive(null);
|
|
196
|
+
const verdicts = jobs.map((j) => PollJobIsLive(j));
|
|
197
|
+
const blocked = verdicts.find((v) => !v.Live);
|
|
198
|
+
return blocked ?? verdicts[0];
|
|
199
|
+
}
|
|
200
|
+
async function defaultRunPoll(providerId, provider, user) {
|
|
201
|
+
const live = await pollIsLive(provider, user);
|
|
202
|
+
if (!live.Live) {
|
|
203
|
+
LogStatus(`[Orders] Bill.com notification for ${providerId} acknowledged but NOT polled: ${live.Why}. Nothing was recorded.`);
|
|
204
|
+
return;
|
|
205
|
+
}
|
|
206
|
+
const result = await new OrdersPollExternalPaymentsOperation().Execute({ PaymentProviderID: providerId, Preview: false }, { provider, user });
|
|
207
|
+
const out = result.Output;
|
|
208
|
+
LogStatus(`[Orders] Bill.com webhook-triggered poll for ${providerId}: ${out?.Message ?? result.ErrorMessage ?? 'no result'}`);
|
|
209
|
+
}
|
|
210
|
+
function flattenHeaders(headers) {
|
|
211
|
+
const flat = {};
|
|
212
|
+
for (const [key, value] of Object.entries(headers))
|
|
213
|
+
flat[key.toLowerCase()] = Array.isArray(value) ? value.join(',') : value;
|
|
214
|
+
return flat;
|
|
215
|
+
}
|
|
216
|
+
/** Tree-shaking anchor — call from the server bootstrap. */
|
|
217
|
+
export function LoadBillComWebhookExtension() {
|
|
218
|
+
void BillComWebhookExtension;
|
|
219
|
+
}
|
|
220
|
+
//# sourceMappingURL=BillComWebhookExtension.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BillComWebhookExtension.js","sourceRoot":"","sources":["../src/BillComWebhookExtension.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,13 @@
|
|
|
1
|
-
import type { Application } from 'express';
|
|
1
|
+
import type { Application, Response } from 'express';
|
|
2
2
|
import { BaseServerExtension, type ExtensionHealthResult, type ExtensionInitResult, type ServerExtensionConfig } from '@memberjunction/server-extensions-core';
|
|
3
|
+
/**
|
|
4
|
+
* Hosts load the element from their own origin with `<script type="module">`, and a
|
|
5
|
+
* cross-origin module script is refused by the browser without `Access-Control-Allow-Origin`.
|
|
6
|
+
* The bundle is public, static and carries no credentials, so any origin may read it. This is
|
|
7
|
+
* deliberately not the widget's `allowedOrigins`: the script is fetched before the page names
|
|
8
|
+
* a widget, and the POST routes still apply each widget's origin policy.
|
|
9
|
+
*/
|
|
10
|
+
export declare function setElementAssetCorsHeaders(res: Pick<Response, 'setHeader'>): void;
|
|
3
11
|
interface CheckoutEdgeSettings {
|
|
4
12
|
/** Email of the named checkout service principal; falls back to the system user. */
|
|
5
13
|
ServiceUserEmail?: string;
|
|
@@ -76,6 +84,10 @@ export declare class CheckoutServerExtension extends BaseServerExtension {
|
|
|
76
84
|
private handleDraft;
|
|
77
85
|
private handlePaymentIntent;
|
|
78
86
|
private handleComplete;
|
|
87
|
+
/** The account step's outcome for a completed checkout, asking the host again only after a failure. */
|
|
88
|
+
private handleAccount;
|
|
89
|
+
/** Sets the password of the account this checkout created. The password is passed on, never logged. */
|
|
90
|
+
private handleAccountPassword;
|
|
79
91
|
/** Fixed-window limiter over a bounded, insertion-ordered map. */
|
|
80
92
|
private rateLimitExceeded;
|
|
81
93
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckoutServerExtension.d.ts","sourceRoot":"","sources":["../src/CheckoutServerExtension.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CheckoutServerExtension.d.ts","sourceRoot":"","sources":["../src/CheckoutServerExtension.ts"],"names":[],"mappings":"AAqDA,OAAO,KAAK,EAAE,WAAW,EAAyB,QAAQ,EAAE,MAAM,SAAS,CAAC;AAI5E,OAAO,EACH,mBAAmB,EACnB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC7B,MAAM,wCAAwC,CAAC;AAsDhD;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAI,CAGjF;AAWD,UAAU,oBAAoB;IAC1B,oFAAoF;IACpF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mEAAmE;IACnE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,+CAA+C;IAC/C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2DAA2D;IAC3D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,0FAA0F;AAC1F,wBAAgB,mCAAmC,CAC/C,QAAQ,EAAE,IAAI,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,EAC7D,GAAG,GAAE,MAAM,CAAC,UAAwB,GACrC,OAAO,CAQT;AAOD,qBACa,uBAAwB,SAAQ,mBAAmB;IAC5D,OAAO,CAAC,QAAQ,CAA4B;IAC5C,OAAO,CAAC,WAAW,CAA6D;IAChF,OAAO,CAAC,wBAAwB,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,UAAU,CAAK;IAEV,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAmDzF,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzB,WAAW,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAa1D,+FAA+F;YACjF,WAAW;IAyCzB,8EAA8E;YAChE,eAAe;IAe7B;;;;;OAKG;YACW,iBAAiB;IAsD/B,gFAAgF;IAChF,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,cAAc;IAQtB,mFAAmF;IACnF,OAAO,CAAC,oBAAoB;IAI5B;;;;OAIG;YACW,eAAe;IA6B7B;;;;OAIG;YACW,aAAa;IA4C3B,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,wBAAwB;IAMhC,OAAO,CAAC,wBAAwB;IAWhC,OAAO,CAAC,WAAW;YAOL,wBAAwB;YAaxB,gBAAgB;YAahB,WAAW;YAmBX,mBAAmB;YAYnB,cAAc;IAkB5B,uGAAuG;YACzF,aAAa;IAY3B,uGAAuG;YACzF,qBAAqB;IAcnC,kEAAkE;IAClE,OAAO,CAAC,iBAAiB;IAkBzB;;;OAGG;IACH,OAAO,CAAC,QAAQ;IAIhB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;CAkB5B;AAED,0FAA0F;AAC1F,wBAAgB,2BAA2B,IAAI,IAAI,CAElD"}
|
|
@@ -32,6 +32,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
32
32
|
* `allowedOrigins`, a browser request from any other origin is refused AND receives no
|
|
33
33
|
* CORS grant (so the browser blocks the response either way). With no allowlist
|
|
34
34
|
* configured, any origin is allowed — the distribution slug remains the access control.
|
|
35
|
+
* The element bundle (`GET {RootPath}/element/main.js`) is the exception: it is public
|
|
36
|
+
* static code, served to every origin (`setElementAssetCorsHeaders`).
|
|
35
37
|
* 4. TURNSTILE — when the widget sets `requireTurnstile`, session initialization and
|
|
36
38
|
* completion demand a Cloudflare Turnstile token, verified server-side against the secret
|
|
37
39
|
* named by `Settings.TurnstileSecretEnvVar`. Required-but-unconfigured verifies as a 503,
|
|
@@ -59,7 +61,7 @@ import { LogError, LogStatus, RunView } from '@memberjunction/core';
|
|
|
59
61
|
import { UserCache } from '@memberjunction/generic-database-provider';
|
|
60
62
|
import { RegisterClass } from '@memberjunction/global';
|
|
61
63
|
import { BaseServerExtension, } from '@memberjunction/server-extensions-core';
|
|
62
|
-
import { CheckoutSessionService, EscapeText } from '@mj-biz-apps/orders-core-entities-server';
|
|
64
|
+
import { CheckoutSessionService, EnsureCheckoutAccount, EscapeText, HasCheckoutAccountStep, SetCheckoutAccountPassword, } from '@mj-biz-apps/orders-core-entities-server';
|
|
63
65
|
import { randomBytes } from 'node:crypto';
|
|
64
66
|
import { existsSync } from 'node:fs';
|
|
65
67
|
import { createRequire } from 'node:module';
|
|
@@ -101,6 +103,17 @@ function resolveCheckoutElementDir() {
|
|
|
101
103
|
}
|
|
102
104
|
return null;
|
|
103
105
|
}
|
|
106
|
+
/**
|
|
107
|
+
* Hosts load the element from their own origin with `<script type="module">`, and a
|
|
108
|
+
* cross-origin module script is refused by the browser without `Access-Control-Allow-Origin`.
|
|
109
|
+
* The bundle is public, static and carries no credentials, so any origin may read it. This is
|
|
110
|
+
* deliberately not the widget's `allowedOrigins`: the script is fetched before the page names
|
|
111
|
+
* a widget, and the POST routes still apply each widget's origin policy.
|
|
112
|
+
*/
|
|
113
|
+
export function setElementAssetCorsHeaders(res) {
|
|
114
|
+
res.setHeader('Access-Control-Allow-Origin', '*');
|
|
115
|
+
res.setHeader('Cross-Origin-Resource-Policy', 'cross-origin');
|
|
116
|
+
}
|
|
104
117
|
/** Bounded size of the rate-limit map — oldest windows evict first. */
|
|
105
118
|
const RATE_CACHE_MAX = 50_000;
|
|
106
119
|
const CHECKOUT_SESSION_ENTITY = 'MJ_BizApps_Orders: Checkout Sessions';
|
|
@@ -134,10 +147,12 @@ let CheckoutServerExtension = class CheckoutServerExtension extends BaseServerEx
|
|
|
134
147
|
const elementDir = resolveCheckoutElementDir();
|
|
135
148
|
if (elementDir) {
|
|
136
149
|
app.get(`${root}/element/main.js`, (_req, res) => {
|
|
150
|
+
setElementAssetCorsHeaders(res);
|
|
137
151
|
res.type('application/javascript').sendFile(path.join(elementDir, 'main.js'));
|
|
138
152
|
});
|
|
139
153
|
if (shouldServeCheckoutElementSourceMap(this.settings)) {
|
|
140
154
|
app.get(`${root}/element/main.js.map`, (_req, res) => {
|
|
155
|
+
setElementAssetCorsHeaders(res);
|
|
141
156
|
res.type('application/json').sendFile(path.join(elementDir, 'main.js.map'));
|
|
142
157
|
});
|
|
143
158
|
}
|
|
@@ -148,6 +163,8 @@ let CheckoutServerExtension = class CheckoutServerExtension extends BaseServerEx
|
|
|
148
163
|
[`${root}/draft`, (req, res) => this.handleDraft(req, res)],
|
|
149
164
|
[`${root}/payment-intent`, (req, res) => this.handlePaymentIntent(req, res)],
|
|
150
165
|
[`${root}/complete`, (req, res) => this.handleComplete(req, res)],
|
|
166
|
+
[`${root}/account`, (req, res) => this.handleAccount(req, res)],
|
|
167
|
+
[`${root}/account/password`, (req, res) => this.handleAccountPassword(req, res)],
|
|
151
168
|
];
|
|
152
169
|
for (const [path, handler] of routes) {
|
|
153
170
|
// CORS preflight: answered per-widget after the origin gate resolves the policy.
|
|
@@ -160,7 +177,7 @@ let CheckoutServerExtension = class CheckoutServerExtension extends BaseServerEx
|
|
|
160
177
|
}
|
|
161
178
|
const hostPath = `${root}/:slug`;
|
|
162
179
|
app.get(hostPath, (req, res) => this.handleGetHost(req, res));
|
|
163
|
-
LogStatus(`[Orders] Checkout edge registered at GET ${hostPath} and POST ${root}/{initialize,draft,payment-intent,complete}`);
|
|
180
|
+
LogStatus(`[Orders] Checkout edge registered at GET ${hostPath} and POST ${root}/{initialize,draft,payment-intent,complete,account,account/password}`);
|
|
164
181
|
return {
|
|
165
182
|
Success: true,
|
|
166
183
|
Message: 'Orders anonymous checkout edge mounted (public GET host, rate-limited POSTs, origin-gated, optional Turnstile).',
|
|
@@ -466,7 +483,12 @@ let CheckoutServerExtension = class CheckoutServerExtension extends BaseServerEx
|
|
|
466
483
|
const clientSessionKey = typeof req.body?.clientSessionKey === 'string' ? req.body.clientSessionKey : '';
|
|
467
484
|
const email = typeof req.body?.email === 'string' ? req.body.email : '';
|
|
468
485
|
const lines = Array.isArray(req.body?.lines) ? req.body.lines : [];
|
|
469
|
-
|
|
486
|
+
// Passed through unchecked: UpdateDraft keeps the attribution only when it reads as one, and
|
|
487
|
+
// judges the answers against the widget's own questions.
|
|
488
|
+
const result = await CheckoutSessionService.UpdateDraft(sessionId, clientSessionKey, email, lines, user, {
|
|
489
|
+
Attribution: req.body?.attribution,
|
|
490
|
+
Answers: req.body?.answers,
|
|
491
|
+
});
|
|
470
492
|
res.status(result.Success ? 200 : 400).json(result);
|
|
471
493
|
}
|
|
472
494
|
async handlePaymentIntent(req, res) {
|
|
@@ -489,7 +511,37 @@ let CheckoutServerExtension = class CheckoutServerExtension extends BaseServerEx
|
|
|
489
511
|
const sessionId = typeof req.body?.sessionId === 'string' ? req.body.sessionId : '';
|
|
490
512
|
const clientSessionKey = typeof req.body?.clientSessionKey === 'string' ? req.body.clientSessionKey : '';
|
|
491
513
|
const result = await CheckoutSessionService.CompleteCheckout(sessionId, clientSessionKey, user);
|
|
492
|
-
|
|
514
|
+
if (!result.Success) {
|
|
515
|
+
res.status(409).json(result);
|
|
516
|
+
return;
|
|
517
|
+
}
|
|
518
|
+
// The confirmation is answered without waiting on the host's identity provider. When a host
|
|
519
|
+
// registered an account step, the widget asks for it next through /checkout/account.
|
|
520
|
+
res.status(200).json(HasCheckoutAccountStep() ? { ...result, AccountStep: true } : result);
|
|
521
|
+
}
|
|
522
|
+
/** The account step's outcome for a completed checkout, asking the host again only after a failure. */
|
|
523
|
+
async handleAccount(req, res) {
|
|
524
|
+
const user = this.resolveActingUser();
|
|
525
|
+
if (!user) {
|
|
526
|
+
res.status(500).json({ Success: false, ErrorMessage: 'Checkout is not ready — the service principal is unavailable.' });
|
|
527
|
+
return;
|
|
528
|
+
}
|
|
529
|
+
const sessionId = typeof req.body?.sessionId === 'string' ? req.body.sessionId : '';
|
|
530
|
+
const clientSessionKey = typeof req.body?.clientSessionKey === 'string' ? req.body.clientSessionKey : '';
|
|
531
|
+
const result = await EnsureCheckoutAccount(sessionId, clientSessionKey, user);
|
|
532
|
+
res.status(result.Success ? 200 : 400).json(result);
|
|
533
|
+
}
|
|
534
|
+
/** Sets the password of the account this checkout created. The password is passed on, never logged. */
|
|
535
|
+
async handleAccountPassword(req, res) {
|
|
536
|
+
const user = this.resolveActingUser();
|
|
537
|
+
if (!user) {
|
|
538
|
+
res.status(500).json({ Success: false, ErrorMessage: 'Checkout is not ready — the service principal is unavailable.' });
|
|
539
|
+
return;
|
|
540
|
+
}
|
|
541
|
+
const sessionId = typeof req.body?.sessionId === 'string' ? req.body.sessionId : '';
|
|
542
|
+
const clientSessionKey = typeof req.body?.clientSessionKey === 'string' ? req.body.clientSessionKey : '';
|
|
543
|
+
const result = await SetCheckoutAccountPassword(sessionId, clientSessionKey, req.body?.password, user);
|
|
544
|
+
res.status(result.Success ? 200 : 400).json(result);
|
|
493
545
|
}
|
|
494
546
|
// ─── Infrastructure ──────────────────────────────────────────────────────
|
|
495
547
|
/** Fixed-window limiter over a bounded, insertion-ordered map. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckoutServerExtension.js","sourceRoot":"","sources":["../src/CheckoutServerExtension.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CheckoutServerExtension.js","sourceRoot":"","sources":["../src/CheckoutServerExtension.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BillComWebhookExtension.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/BillComWebhookExtension.test.ts"],"names":[],"mappings":""}
|