@xapps-platform/backend-kit 0.1.1
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/README.md +196 -0
- package/dist/backend/modes/gateway-managed/payment.d.ts +23 -0
- package/dist/backend/modes/gateway-managed/payment.d.ts.map +1 -0
- package/dist/backend/modes/gateway-managed/payment.js +49 -0
- package/dist/backend/modes/gateway-managed/payment.js.map +7 -0
- package/dist/backend/modes/gateway-managed/paymentSession.d.ts +4 -0
- package/dist/backend/modes/gateway-managed/paymentSession.d.ts.map +1 -0
- package/dist/backend/modes/gateway-managed/paymentSession.js +16 -0
- package/dist/backend/modes/gateway-managed/paymentSession.js.map +7 -0
- package/dist/backend/modes/gateway-managed/policy.d.ts +68 -0
- package/dist/backend/modes/gateway-managed/policy.d.ts.map +1 -0
- package/dist/backend/modes/gateway-managed/policy.js +53 -0
- package/dist/backend/modes/gateway-managed/policy.js.map +7 -0
- package/dist/backend/modes/gateway-managed/policyContext.d.ts +5 -0
- package/dist/backend/modes/gateway-managed/policyContext.d.ts.map +1 -0
- package/dist/backend/modes/gateway-managed/policyContext.js +22 -0
- package/dist/backend/modes/gateway-managed/policyContext.js.map +7 -0
- package/dist/backend/modes/index.d.ts +72 -0
- package/dist/backend/modes/index.d.ts.map +1 -0
- package/dist/backend/modes/index.js +159 -0
- package/dist/backend/modes/index.js.map +7 -0
- package/dist/backend/modes/owner-managed/payment.d.ts +34 -0
- package/dist/backend/modes/owner-managed/payment.d.ts.map +1 -0
- package/dist/backend/modes/owner-managed/payment.js +75 -0
- package/dist/backend/modes/owner-managed/payment.js.map +7 -0
- package/dist/backend/modes/owner-managed/paymentAssets.d.ts +4 -0
- package/dist/backend/modes/owner-managed/paymentAssets.d.ts.map +1 -0
- package/dist/backend/modes/owner-managed/paymentAssets.js +11 -0
- package/dist/backend/modes/owner-managed/paymentAssets.js.map +7 -0
- package/dist/backend/modes/owner-managed/paymentPageApi.d.ts +4 -0
- package/dist/backend/modes/owner-managed/paymentPageApi.d.ts.map +1 -0
- package/dist/backend/modes/owner-managed/paymentPageApi.js +11 -0
- package/dist/backend/modes/owner-managed/paymentPageApi.js.map +7 -0
- package/dist/backend/modes/owner-managed/paymentSession.d.ts +4 -0
- package/dist/backend/modes/owner-managed/paymentSession.d.ts.map +1 -0
- package/dist/backend/modes/owner-managed/paymentSession.js +18 -0
- package/dist/backend/modes/owner-managed/paymentSession.js.map +7 -0
- package/dist/backend/modes/owner-managed/policy.d.ts +68 -0
- package/dist/backend/modes/owner-managed/policy.d.ts.map +1 -0
- package/dist/backend/modes/owner-managed/policy.js +53 -0
- package/dist/backend/modes/owner-managed/policy.js.map +7 -0
- package/dist/backend/modes/owner-managed/policyContext.d.ts +5 -0
- package/dist/backend/modes/owner-managed/policyContext.d.ts.map +1 -0
- package/dist/backend/modes/owner-managed/policyContext.js +26 -0
- package/dist/backend/modes/owner-managed/policyContext.js.map +7 -0
- package/dist/backend/modes/publisher-delegated/payment.d.ts +23 -0
- package/dist/backend/modes/publisher-delegated/payment.d.ts.map +1 -0
- package/dist/backend/modes/publisher-delegated/payment.js +50 -0
- package/dist/backend/modes/publisher-delegated/payment.js.map +7 -0
- package/dist/backend/modes/publisher-delegated/paymentSession.d.ts +4 -0
- package/dist/backend/modes/publisher-delegated/paymentSession.d.ts.map +1 -0
- package/dist/backend/modes/publisher-delegated/paymentSession.js +16 -0
- package/dist/backend/modes/publisher-delegated/paymentSession.js.map +7 -0
- package/dist/backend/modes/publisher-delegated/policy.d.ts +68 -0
- package/dist/backend/modes/publisher-delegated/policy.d.ts.map +1 -0
- package/dist/backend/modes/publisher-delegated/policy.js +53 -0
- package/dist/backend/modes/publisher-delegated/policy.js.map +7 -0
- package/dist/backend/modes/publisher-delegated/policyContext.d.ts +5 -0
- package/dist/backend/modes/publisher-delegated/policyContext.d.ts.map +1 -0
- package/dist/backend/modes/publisher-delegated/policyContext.js +22 -0
- package/dist/backend/modes/publisher-delegated/policyContext.js.map +7 -0
- package/dist/backend/modes/tenant-delegated/payment.d.ts +23 -0
- package/dist/backend/modes/tenant-delegated/payment.d.ts.map +1 -0
- package/dist/backend/modes/tenant-delegated/payment.js +50 -0
- package/dist/backend/modes/tenant-delegated/payment.js.map +7 -0
- package/dist/backend/modes/tenant-delegated/paymentSession.d.ts +4 -0
- package/dist/backend/modes/tenant-delegated/paymentSession.d.ts.map +1 -0
- package/dist/backend/modes/tenant-delegated/paymentSession.js +16 -0
- package/dist/backend/modes/tenant-delegated/paymentSession.js.map +7 -0
- package/dist/backend/modes/tenant-delegated/policy.d.ts +68 -0
- package/dist/backend/modes/tenant-delegated/policy.d.ts.map +1 -0
- package/dist/backend/modes/tenant-delegated/policy.js +53 -0
- package/dist/backend/modes/tenant-delegated/policy.js.map +7 -0
- package/dist/backend/modes/tenant-delegated/policyContext.d.ts +5 -0
- package/dist/backend/modes/tenant-delegated/policyContext.d.ts.map +1 -0
- package/dist/backend/modes/tenant-delegated/policyContext.js +22 -0
- package/dist/backend/modes/tenant-delegated/policyContext.js.map +7 -0
- package/dist/backend/modules.d.ts +33 -0
- package/dist/backend/modules.d.ts.map +1 -0
- package/dist/backend/modules.js +100 -0
- package/dist/backend/modules.js.map +7 -0
- package/dist/backend/options.d.ts +78 -0
- package/dist/backend/options.d.ts.map +1 -0
- package/dist/backend/options.js +153 -0
- package/dist/backend/options.js.map +7 -0
- package/dist/backend/paymentRuntime.d.ts +31 -0
- package/dist/backend/paymentRuntime.d.ts.map +1 -0
- package/dist/backend/paymentRuntime.js +231 -0
- package/dist/backend/paymentRuntime.js.map +7 -0
- package/dist/backend/policies/common.d.ts +102 -0
- package/dist/backend/policies/common.d.ts.map +1 -0
- package/dist/backend/policies/common.js +226 -0
- package/dist/backend/policies/common.js.map +7 -0
- package/dist/backend/routes/gateway/guard.d.ts +7 -0
- package/dist/backend/routes/gateway/guard.d.ts.map +1 -0
- package/dist/backend/routes/gateway/guard.js +89 -0
- package/dist/backend/routes/gateway/guard.js.map +7 -0
- package/dist/backend/routes/gateway/hostApi.d.ts +8 -0
- package/dist/backend/routes/gateway/hostApi.d.ts.map +1 -0
- package/dist/backend/routes/gateway/hostApi.js +45 -0
- package/dist/backend/routes/gateway/hostApi.js.map +7 -0
- package/dist/backend/routes/gateway/hostApiBridge.d.ts +5 -0
- package/dist/backend/routes/gateway/hostApiBridge.d.ts.map +1 -0
- package/dist/backend/routes/gateway/hostApiBridge.js +61 -0
- package/dist/backend/routes/gateway/hostApiBridge.js.map +7 -0
- package/dist/backend/routes/gateway/hostApiCore.d.ts +5 -0
- package/dist/backend/routes/gateway/hostApiCore.d.ts.map +1 -0
- package/dist/backend/routes/gateway/hostApiCore.js +95 -0
- package/dist/backend/routes/gateway/hostApiCore.js.map +7 -0
- package/dist/backend/routes/gateway/hostApiLifecycle.d.ts +5 -0
- package/dist/backend/routes/gateway/hostApiLifecycle.d.ts.map +1 -0
- package/dist/backend/routes/gateway/hostApiLifecycle.js +80 -0
- package/dist/backend/routes/gateway/hostApiLifecycle.js.map +7 -0
- package/dist/backend/routes/gateway/hostContractBoundary.d.ts +25 -0
- package/dist/backend/routes/gateway/hostContractBoundary.d.ts.map +1 -0
- package/dist/backend/routes/gateway/hostContractBoundary.js +43 -0
- package/dist/backend/routes/gateway/hostContractBoundary.js.map +7 -0
- package/dist/backend/routes/gateway/payment.d.ts +4 -0
- package/dist/backend/routes/gateway/payment.d.ts.map +1 -0
- package/dist/backend/routes/gateway/payment.js +10 -0
- package/dist/backend/routes/gateway/payment.js.map +7 -0
- package/dist/backend/routes/gateway/shared.d.ts +36 -0
- package/dist/backend/routes/gateway/shared.d.ts.map +1 -0
- package/dist/backend/routes/gateway/shared.js +208 -0
- package/dist/backend/routes/gateway/shared.js.map +7 -0
- package/dist/backend/routes/gateway/subjectProfiles.d.ts +2 -0
- package/dist/backend/routes/gateway/subjectProfiles.d.ts.map +1 -0
- package/dist/backend/routes/gateway/subjectProfiles.js +150 -0
- package/dist/backend/routes/gateway/subjectProfiles.js.map +7 -0
- package/dist/backend/routes/health.d.ts +2 -0
- package/dist/backend/routes/health.d.ts.map +1 -0
- package/dist/backend/routes/health.js +20 -0
- package/dist/backend/routes/health.js.map +7 -0
- package/dist/backend/routes/reference.d.ts +2 -0
- package/dist/backend/routes/reference.d.ts.map +1 -0
- package/dist/backend/routes/reference.js +414 -0
- package/dist/backend/routes/reference.js.map +7 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +81 -0
- package/dist/index.js.map +7 -0
- package/package.json +42 -0
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import * as gatewayManagedPayment from "./gateway-managed/payment.js";
|
|
2
|
+
import * as gatewayManagedPolicy from "./gateway-managed/policy.js";
|
|
3
|
+
import * as tenantDelegatedPayment from "./tenant-delegated/payment.js";
|
|
4
|
+
import * as tenantDelegatedPolicy from "./tenant-delegated/policy.js";
|
|
5
|
+
import * as publisherDelegatedPayment from "./publisher-delegated/payment.js";
|
|
6
|
+
import * as publisherDelegatedPolicy from "./publisher-delegated/policy.js";
|
|
7
|
+
import * as ownerManagedPayment from "./owner-managed/payment.js";
|
|
8
|
+
import * as ownerManagedPolicy from "./owner-managed/policy.js";
|
|
9
|
+
const BACKEND_MODE_HANDLERS = {
|
|
10
|
+
gateway_managed: {
|
|
11
|
+
...gatewayManagedPayment,
|
|
12
|
+
...gatewayManagedPolicy
|
|
13
|
+
},
|
|
14
|
+
tenant_delegated: {
|
|
15
|
+
...tenantDelegatedPayment,
|
|
16
|
+
...tenantDelegatedPolicy
|
|
17
|
+
},
|
|
18
|
+
publisher_delegated: {
|
|
19
|
+
...publisherDelegatedPayment,
|
|
20
|
+
...publisherDelegatedPolicy
|
|
21
|
+
},
|
|
22
|
+
owner_managed: {
|
|
23
|
+
...ownerManagedPayment,
|
|
24
|
+
...ownerManagedPolicy
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
const BACKEND_MODE_ENDPOINT_GROUPS = [
|
|
28
|
+
gatewayManagedPayment.referenceEndpointGroup,
|
|
29
|
+
tenantDelegatedPayment.referenceEndpointGroup,
|
|
30
|
+
publisherDelegatedPayment.referenceEndpointGroup,
|
|
31
|
+
ownerManagedPayment.referenceEndpointGroup
|
|
32
|
+
];
|
|
33
|
+
const BACKEND_MODE_REFERENCE_DETAILS = [
|
|
34
|
+
{
|
|
35
|
+
key: "gateway_managed",
|
|
36
|
+
label: gatewayManagedPayment.paymentModeLabel,
|
|
37
|
+
description: gatewayManagedPayment.paymentModeDescription,
|
|
38
|
+
payment_session_model: gatewayManagedPayment.paymentSessionModel,
|
|
39
|
+
required_settings: gatewayManagedPayment.requiredSettings,
|
|
40
|
+
payment_responsibilities: gatewayManagedPayment.paymentResponsibilities,
|
|
41
|
+
payment_endpoints: gatewayManagedPayment.paymentEndpoints,
|
|
42
|
+
policy_responsibilities: gatewayManagedPolicy.policyResponsibilities,
|
|
43
|
+
policy_endpoints: gatewayManagedPolicy.policyEndpoints,
|
|
44
|
+
guide_path: "packages/backend-kit/src/backend/modes/gateway-managed/payment.ts"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
key: "tenant_delegated",
|
|
48
|
+
label: tenantDelegatedPayment.paymentModeLabel,
|
|
49
|
+
description: tenantDelegatedPayment.paymentModeDescription,
|
|
50
|
+
payment_session_model: tenantDelegatedPayment.paymentSessionModel,
|
|
51
|
+
required_settings: tenantDelegatedPayment.requiredSettings,
|
|
52
|
+
payment_responsibilities: tenantDelegatedPayment.paymentResponsibilities,
|
|
53
|
+
payment_endpoints: tenantDelegatedPayment.paymentEndpoints,
|
|
54
|
+
policy_responsibilities: tenantDelegatedPolicy.policyResponsibilities,
|
|
55
|
+
policy_endpoints: tenantDelegatedPolicy.policyEndpoints,
|
|
56
|
+
guide_path: "packages/backend-kit/src/backend/modes/tenant-delegated/payment.ts"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
key: "publisher_delegated",
|
|
60
|
+
label: publisherDelegatedPayment.paymentModeLabel,
|
|
61
|
+
description: publisherDelegatedPayment.paymentModeDescription,
|
|
62
|
+
payment_session_model: publisherDelegatedPayment.paymentSessionModel,
|
|
63
|
+
required_settings: publisherDelegatedPayment.requiredSettings,
|
|
64
|
+
payment_responsibilities: publisherDelegatedPayment.paymentResponsibilities,
|
|
65
|
+
payment_endpoints: publisherDelegatedPayment.paymentEndpoints,
|
|
66
|
+
policy_responsibilities: publisherDelegatedPolicy.policyResponsibilities,
|
|
67
|
+
policy_endpoints: publisherDelegatedPolicy.policyEndpoints,
|
|
68
|
+
guide_path: "packages/backend-kit/src/backend/modes/publisher-delegated/payment.ts"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
key: "owner_managed",
|
|
72
|
+
reference_key: ownerManagedPayment.referenceMode,
|
|
73
|
+
label: ownerManagedPayment.paymentModeLabel,
|
|
74
|
+
description: ownerManagedPayment.paymentModeDescription,
|
|
75
|
+
payment_session_model: ownerManagedPayment.paymentSessionModel,
|
|
76
|
+
required_settings: ownerManagedPayment.requiredSettings,
|
|
77
|
+
payment_responsibilities: ownerManagedPayment.paymentResponsibilities,
|
|
78
|
+
payment_endpoints: ownerManagedPayment.paymentEndpoints,
|
|
79
|
+
policy_responsibilities: ownerManagedPolicy.policyResponsibilities,
|
|
80
|
+
policy_endpoints: ownerManagedPolicy.policyEndpoints,
|
|
81
|
+
guide_path: "packages/backend-kit/src/backend/modes/owner-managed/payment.ts"
|
|
82
|
+
}
|
|
83
|
+
];
|
|
84
|
+
const ALL_BACKEND_MODE_KEYS = Object.freeze(Object.keys(BACKEND_MODE_HANDLERS));
|
|
85
|
+
function normalizeModeKey(value) {
|
|
86
|
+
const mode = String(value || "").trim().toLowerCase();
|
|
87
|
+
if (mode === "tenant_managed") return "owner_managed";
|
|
88
|
+
return mode;
|
|
89
|
+
}
|
|
90
|
+
function normalizeEnabledBackendModes(enabledModes) {
|
|
91
|
+
if (!Array.isArray(enabledModes) || enabledModes.length === 0) {
|
|
92
|
+
return [...ALL_BACKEND_MODE_KEYS];
|
|
93
|
+
}
|
|
94
|
+
const selected = [];
|
|
95
|
+
for (const value of enabledModes) {
|
|
96
|
+
const mode = normalizeModeKey(value);
|
|
97
|
+
if (ALL_BACKEND_MODE_KEYS.includes(mode) && !selected.includes(mode)) {
|
|
98
|
+
selected.push(mode);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return selected.length > 0 ? selected : [...ALL_BACKEND_MODE_KEYS];
|
|
102
|
+
}
|
|
103
|
+
function getBackendModeHandlers(enabledModes) {
|
|
104
|
+
const selected = normalizeEnabledBackendModes(enabledModes);
|
|
105
|
+
return Object.fromEntries(selected.map((key) => [key, BACKEND_MODE_HANDLERS[key]]));
|
|
106
|
+
}
|
|
107
|
+
function getBackendModeEndpointGroups(enabledModes) {
|
|
108
|
+
const selected = new Set(normalizeEnabledBackendModes(enabledModes));
|
|
109
|
+
return BACKEND_MODE_ENDPOINT_GROUPS.filter((group) => {
|
|
110
|
+
if (group.key === "gateway_managed_payment_reference") return selected.has("gateway_managed");
|
|
111
|
+
if (group.key === "tenant_delegated_payment_reference") return selected.has("tenant_delegated");
|
|
112
|
+
if (group.key === "publisher_delegated_payment_reference") {
|
|
113
|
+
return selected.has("publisher_delegated");
|
|
114
|
+
}
|
|
115
|
+
if (group.key === "owner_managed_payment_reference") return selected.has("owner_managed");
|
|
116
|
+
return true;
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
function getBackendModeReferenceDetails(enabledModes) {
|
|
120
|
+
const selected = new Set(normalizeEnabledBackendModes(enabledModes));
|
|
121
|
+
return BACKEND_MODE_REFERENCE_DETAILS.filter((detail) => selected.has(detail.key));
|
|
122
|
+
}
|
|
123
|
+
function resolveCanonicalPaymentMode(payloadInput) {
|
|
124
|
+
const payload = payloadInput && typeof payloadInput === "object" ? payloadInput : {};
|
|
125
|
+
const guard = payload.guard && typeof payload.guard === "object" ? payload.guard : {};
|
|
126
|
+
const guardConfig = guard.config && typeof guard.config === "object" ? guard.config : {};
|
|
127
|
+
const mode = String(guardConfig?.payment_issuer_mode || guardConfig?.paymentIssuerMode || "").trim().toLowerCase();
|
|
128
|
+
if (mode === "gateway_managed") return "gateway_managed";
|
|
129
|
+
if (mode === "tenant_delegated") return "tenant_delegated";
|
|
130
|
+
if (mode === "publisher_delegated") return "publisher_delegated";
|
|
131
|
+
return "owner_managed";
|
|
132
|
+
}
|
|
133
|
+
async function resolveBackendPaymentPolicy(payloadInput, { log, enabledModes, paymentRuntime = {} } = {}) {
|
|
134
|
+
const paymentMode = resolveCanonicalPaymentMode(payloadInput);
|
|
135
|
+
const normalizedEnabledModes = normalizeEnabledBackendModes(enabledModes);
|
|
136
|
+
if (!normalizedEnabledModes.includes(paymentMode)) {
|
|
137
|
+
return {
|
|
138
|
+
allowed: false,
|
|
139
|
+
reason: "payment_mode_not_enabled",
|
|
140
|
+
message: "Payment mode is not enabled for this backend.",
|
|
141
|
+
details: {
|
|
142
|
+
payment_mode: paymentMode,
|
|
143
|
+
enabled_payment_modes: normalizedEnabledModes
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
const backendModeHandlers = getBackendModeHandlers(normalizedEnabledModes);
|
|
148
|
+
const backendModeHandler = backendModeHandlers[paymentMode] || backendModeHandlers.owner_managed || BACKEND_MODE_HANDLERS.owner_managed;
|
|
149
|
+
return backendModeHandler.resolvePolicyRequest(payloadInput, { log, paymentRuntime });
|
|
150
|
+
}
|
|
151
|
+
export {
|
|
152
|
+
ALL_BACKEND_MODE_KEYS,
|
|
153
|
+
getBackendModeEndpointGroups,
|
|
154
|
+
getBackendModeHandlers,
|
|
155
|
+
getBackendModeReferenceDetails,
|
|
156
|
+
normalizeEnabledBackendModes,
|
|
157
|
+
resolveBackendPaymentPolicy
|
|
158
|
+
};
|
|
159
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/backend/modes/index.ts"],
|
|
4
|
+
"sourcesContent": ["// @ts-nocheck\nimport * as gatewayManagedPayment from \"./gateway-managed/payment.js\";\nimport * as gatewayManagedPolicy from \"./gateway-managed/policy.js\";\nimport * as tenantDelegatedPayment from \"./tenant-delegated/payment.js\";\nimport * as tenantDelegatedPolicy from \"./tenant-delegated/policy.js\";\nimport * as publisherDelegatedPayment from \"./publisher-delegated/payment.js\";\nimport * as publisherDelegatedPolicy from \"./publisher-delegated/policy.js\";\nimport * as ownerManagedPayment from \"./owner-managed/payment.js\";\nimport * as ownerManagedPolicy from \"./owner-managed/policy.js\";\n\nconst BACKEND_MODE_HANDLERS = {\n gateway_managed: {\n ...gatewayManagedPayment,\n ...gatewayManagedPolicy,\n },\n tenant_delegated: {\n ...tenantDelegatedPayment,\n ...tenantDelegatedPolicy,\n },\n publisher_delegated: {\n ...publisherDelegatedPayment,\n ...publisherDelegatedPolicy,\n },\n owner_managed: {\n ...ownerManagedPayment,\n ...ownerManagedPolicy,\n },\n};\n\nconst BACKEND_MODE_ENDPOINT_GROUPS = [\n gatewayManagedPayment.referenceEndpointGroup,\n tenantDelegatedPayment.referenceEndpointGroup,\n publisherDelegatedPayment.referenceEndpointGroup,\n ownerManagedPayment.referenceEndpointGroup,\n];\n\nconst BACKEND_MODE_REFERENCE_DETAILS = [\n {\n key: \"gateway_managed\",\n label: gatewayManagedPayment.paymentModeLabel,\n description: gatewayManagedPayment.paymentModeDescription,\n payment_session_model: gatewayManagedPayment.paymentSessionModel,\n required_settings: gatewayManagedPayment.requiredSettings,\n payment_responsibilities: gatewayManagedPayment.paymentResponsibilities,\n payment_endpoints: gatewayManagedPayment.paymentEndpoints,\n policy_responsibilities: gatewayManagedPolicy.policyResponsibilities,\n policy_endpoints: gatewayManagedPolicy.policyEndpoints,\n guide_path: \"packages/backend-kit/src/backend/modes/gateway-managed/payment.ts\",\n },\n {\n key: \"tenant_delegated\",\n label: tenantDelegatedPayment.paymentModeLabel,\n description: tenantDelegatedPayment.paymentModeDescription,\n payment_session_model: tenantDelegatedPayment.paymentSessionModel,\n required_settings: tenantDelegatedPayment.requiredSettings,\n payment_responsibilities: tenantDelegatedPayment.paymentResponsibilities,\n payment_endpoints: tenantDelegatedPayment.paymentEndpoints,\n policy_responsibilities: tenantDelegatedPolicy.policyResponsibilities,\n policy_endpoints: tenantDelegatedPolicy.policyEndpoints,\n guide_path: \"packages/backend-kit/src/backend/modes/tenant-delegated/payment.ts\",\n },\n {\n key: \"publisher_delegated\",\n label: publisherDelegatedPayment.paymentModeLabel,\n description: publisherDelegatedPayment.paymentModeDescription,\n payment_session_model: publisherDelegatedPayment.paymentSessionModel,\n required_settings: publisherDelegatedPayment.requiredSettings,\n payment_responsibilities: publisherDelegatedPayment.paymentResponsibilities,\n payment_endpoints: publisherDelegatedPayment.paymentEndpoints,\n policy_responsibilities: publisherDelegatedPolicy.policyResponsibilities,\n policy_endpoints: publisherDelegatedPolicy.policyEndpoints,\n guide_path: \"packages/backend-kit/src/backend/modes/publisher-delegated/payment.ts\",\n },\n {\n key: \"owner_managed\",\n reference_key: ownerManagedPayment.referenceMode,\n label: ownerManagedPayment.paymentModeLabel,\n description: ownerManagedPayment.paymentModeDescription,\n payment_session_model: ownerManagedPayment.paymentSessionModel,\n required_settings: ownerManagedPayment.requiredSettings,\n payment_responsibilities: ownerManagedPayment.paymentResponsibilities,\n payment_endpoints: ownerManagedPayment.paymentEndpoints,\n policy_responsibilities: ownerManagedPolicy.policyResponsibilities,\n policy_endpoints: ownerManagedPolicy.policyEndpoints,\n guide_path: \"packages/backend-kit/src/backend/modes/owner-managed/payment.ts\",\n },\n];\n\nexport const ALL_BACKEND_MODE_KEYS = Object.freeze(Object.keys(BACKEND_MODE_HANDLERS));\n\nfunction normalizeModeKey(value) {\n const mode = String(value || \"\")\n .trim()\n .toLowerCase();\n if (mode === \"tenant_managed\") return \"owner_managed\";\n return mode;\n}\n\nexport function normalizeEnabledBackendModes(enabledModes) {\n if (!Array.isArray(enabledModes) || enabledModes.length === 0) {\n return [...ALL_BACKEND_MODE_KEYS];\n }\n const selected = [];\n for (const value of enabledModes) {\n const mode = normalizeModeKey(value);\n if (ALL_BACKEND_MODE_KEYS.includes(mode) && !selected.includes(mode)) {\n selected.push(mode);\n }\n }\n return selected.length > 0 ? selected : [...ALL_BACKEND_MODE_KEYS];\n}\n\nexport function getBackendModeHandlers(enabledModes) {\n const selected = normalizeEnabledBackendModes(enabledModes);\n return Object.fromEntries(selected.map((key) => [key, BACKEND_MODE_HANDLERS[key]]));\n}\n\nexport function getBackendModeEndpointGroups(enabledModes) {\n const selected = new Set(normalizeEnabledBackendModes(enabledModes));\n return BACKEND_MODE_ENDPOINT_GROUPS.filter((group) => {\n if (group.key === \"gateway_managed_payment_reference\") return selected.has(\"gateway_managed\");\n if (group.key === \"tenant_delegated_payment_reference\") return selected.has(\"tenant_delegated\");\n if (group.key === \"publisher_delegated_payment_reference\") {\n return selected.has(\"publisher_delegated\");\n }\n if (group.key === \"owner_managed_payment_reference\") return selected.has(\"owner_managed\");\n return true;\n });\n}\n\nexport function getBackendModeReferenceDetails(enabledModes) {\n const selected = new Set(normalizeEnabledBackendModes(enabledModes));\n return BACKEND_MODE_REFERENCE_DETAILS.filter((detail) => selected.has(detail.key));\n}\n\nfunction resolveCanonicalPaymentMode(payloadInput) {\n const payload = payloadInput && typeof payloadInput === \"object\" ? payloadInput : {};\n const guard = payload.guard && typeof payload.guard === \"object\" ? payload.guard : {};\n const guardConfig = guard.config && typeof guard.config === \"object\" ? guard.config : {};\n const mode = String(guardConfig?.payment_issuer_mode || guardConfig?.paymentIssuerMode || \"\")\n .trim()\n .toLowerCase();\n if (mode === \"gateway_managed\") return \"gateway_managed\";\n if (mode === \"tenant_delegated\") return \"tenant_delegated\";\n if (mode === \"publisher_delegated\") return \"publisher_delegated\";\n return \"owner_managed\";\n}\n\nexport async function resolveBackendPaymentPolicy(\n payloadInput,\n { log, enabledModes, paymentRuntime = {} } = {},\n) {\n const paymentMode = resolveCanonicalPaymentMode(payloadInput);\n const normalizedEnabledModes = normalizeEnabledBackendModes(enabledModes);\n if (!normalizedEnabledModes.includes(paymentMode)) {\n return {\n allowed: false,\n reason: \"payment_mode_not_enabled\",\n message: \"Payment mode is not enabled for this backend.\",\n details: {\n payment_mode: paymentMode,\n enabled_payment_modes: normalizedEnabledModes,\n },\n };\n }\n const backendModeHandlers = getBackendModeHandlers(normalizedEnabledModes);\n const backendModeHandler =\n backendModeHandlers[paymentMode] ||\n backendModeHandlers.owner_managed ||\n BACKEND_MODE_HANDLERS.owner_managed;\n return backendModeHandler.resolvePolicyRequest(payloadInput, { log, paymentRuntime });\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export declare const paymentMode = "owner_managed";
|
|
2
|
+
export declare const referenceMode = "owner_managed";
|
|
3
|
+
export declare const paymentModeLabel = "Owner managed";
|
|
4
|
+
export declare const paymentModeDescription = "The owner controls the payment page flow. The packaged sample payment page is the default reference seam for this path.";
|
|
5
|
+
export declare const paymentPagePath = "/tenant-payment.html";
|
|
6
|
+
export declare const paymentSessionModel: {
|
|
7
|
+
uses_gateway_payment_session: boolean;
|
|
8
|
+
tenant_owns_payment_page: boolean;
|
|
9
|
+
tenant_owns_payment_session_endpoints: boolean;
|
|
10
|
+
tenant_calls_gateway_payment_session_api_directly: boolean;
|
|
11
|
+
tenant_session_reference: string;
|
|
12
|
+
};
|
|
13
|
+
export declare const requiredSettings: string[];
|
|
14
|
+
export declare const paymentResponsibilities: string[];
|
|
15
|
+
export declare const paymentEndpoints: {
|
|
16
|
+
method: string;
|
|
17
|
+
path: string;
|
|
18
|
+
purpose: string;
|
|
19
|
+
}[];
|
|
20
|
+
export declare const referenceEndpointGroup: {
|
|
21
|
+
key: string;
|
|
22
|
+
label: string;
|
|
23
|
+
when_to_use: string;
|
|
24
|
+
endpoints: {
|
|
25
|
+
method: string;
|
|
26
|
+
path: string;
|
|
27
|
+
purpose: string;
|
|
28
|
+
}[];
|
|
29
|
+
};
|
|
30
|
+
export declare function buildPaymentUrl(input: any, runtime?: {}): Promise<string>;
|
|
31
|
+
export declare function registerRoutes(fastify: any, { paymentRuntime }?: {
|
|
32
|
+
paymentRuntime?: {};
|
|
33
|
+
}): Promise<void>;
|
|
34
|
+
//# sourceMappingURL=payment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payment.d.ts","sourceRoot":"","sources":["../../../../src/backend/modes/owner-managed/payment.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,WAAW,kBAAkB,CAAC;AAC3C,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAC7C,eAAO,MAAM,gBAAgB,kBAAkB,CAAC;AAChD,eAAO,MAAM,sBAAsB,4HACwF,CAAC;AAC5H,eAAO,MAAM,eAAe,yBAAyB,CAAC;AACtD,eAAO,MAAM,mBAAmB;;;;;;CAM/B,CAAC;AACF,eAAO,MAAM,gBAAgB,UAI5B,CAAC;AACF,eAAO,MAAM,uBAAuB,UAInC,CAAC;AACF,eAAO,MAAM,gBAAgB;;;;GAqB5B,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;CAMlC,CAAC;AAEF,wBAAsB,eAAe,CAAC,KAAK,KAAA,EAAE,OAAO,KAAK,mBAExD;AAED,wBAAsB,cAAc,CAAC,OAAO,KAAA,EAAE,EAAE,cAAmB,EAAE;;CAAK,iBAGzE"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { buildPaymentUrl as buildOwnerManagedPaymentUrl } from "./paymentSession.js";
|
|
2
|
+
import paymentAssetRoutes from "./paymentAssets.js";
|
|
3
|
+
import paymentPageApiRoutes from "./paymentPageApi.js";
|
|
4
|
+
const paymentMode = "owner_managed";
|
|
5
|
+
const referenceMode = "owner_managed";
|
|
6
|
+
const paymentModeLabel = "Owner managed";
|
|
7
|
+
const paymentModeDescription = "The owner controls the payment page flow. The packaged sample payment page is the default reference seam for this path.";
|
|
8
|
+
const paymentPagePath = "/tenant-payment.html";
|
|
9
|
+
const paymentSessionModel = {
|
|
10
|
+
uses_gateway_payment_session: true,
|
|
11
|
+
tenant_owns_payment_page: true,
|
|
12
|
+
tenant_owns_payment_session_endpoints: true,
|
|
13
|
+
tenant_calls_gateway_payment_session_api_directly: true,
|
|
14
|
+
tenant_session_reference: "tenant page proxies gateway session through /api/tenant-payment/*"
|
|
15
|
+
};
|
|
16
|
+
const requiredSettings = [
|
|
17
|
+
"XCONECT_GUARD_INGEST_API_KEY",
|
|
18
|
+
"XCONECT_TENANT_PAYMENT_URL",
|
|
19
|
+
"XCONECT_TENANT_PAYMENT_RETURN_SECRET or XCONECT_TENANT_PAYMENT_RETURN_SECRET_REF"
|
|
20
|
+
];
|
|
21
|
+
const paymentResponsibilities = [
|
|
22
|
+
"serve the tenant payment page",
|
|
23
|
+
"implement tenant payment session endpoints",
|
|
24
|
+
"complete/client-settle the hosted gateway session from the tenant page"
|
|
25
|
+
];
|
|
26
|
+
const paymentEndpoints = [
|
|
27
|
+
{
|
|
28
|
+
method: "GET",
|
|
29
|
+
path: "/tenant-payment.html",
|
|
30
|
+
purpose: "Serves the tenant-owned payment page."
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
method: "GET",
|
|
34
|
+
path: "/api/tenant-payment/session",
|
|
35
|
+
purpose: "Loads the current hosted gateway session for the tenant page."
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
method: "POST",
|
|
39
|
+
path: "/api/tenant-payment/complete",
|
|
40
|
+
purpose: "Advances the hosted gateway session from the tenant page."
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
method: "POST",
|
|
44
|
+
path: "/api/tenant-payment/client-settle",
|
|
45
|
+
purpose: "Fallback client settlement for the tenant page flow."
|
|
46
|
+
}
|
|
47
|
+
];
|
|
48
|
+
const referenceEndpointGroup = {
|
|
49
|
+
key: "owner_managed_payment_reference",
|
|
50
|
+
label: "Owner-managed payment page reference",
|
|
51
|
+
when_to_use: "Use this when the owner keeps the owner-managed lane and the packaged sample payment page is used.",
|
|
52
|
+
endpoints: paymentEndpoints
|
|
53
|
+
};
|
|
54
|
+
async function buildPaymentUrl(input, runtime = {}) {
|
|
55
|
+
return buildOwnerManagedPaymentUrl(input, runtime);
|
|
56
|
+
}
|
|
57
|
+
async function registerRoutes(fastify, { paymentRuntime = {} } = {}) {
|
|
58
|
+
await fastify.register(paymentAssetRoutes, { paymentRuntime });
|
|
59
|
+
await fastify.register(paymentPageApiRoutes, { paymentRuntime });
|
|
60
|
+
}
|
|
61
|
+
export {
|
|
62
|
+
buildPaymentUrl,
|
|
63
|
+
paymentEndpoints,
|
|
64
|
+
paymentMode,
|
|
65
|
+
paymentModeDescription,
|
|
66
|
+
paymentModeLabel,
|
|
67
|
+
paymentPagePath,
|
|
68
|
+
paymentResponsibilities,
|
|
69
|
+
paymentSessionModel,
|
|
70
|
+
referenceEndpointGroup,
|
|
71
|
+
referenceMode,
|
|
72
|
+
registerRoutes,
|
|
73
|
+
requiredSettings
|
|
74
|
+
};
|
|
75
|
+
//# sourceMappingURL=payment.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/backend/modes/owner-managed/payment.ts"],
|
|
4
|
+
"sourcesContent": ["// @ts-nocheck\nimport { buildPaymentUrl as buildOwnerManagedPaymentUrl } from \"./paymentSession.js\";\nimport paymentAssetRoutes from \"./paymentAssets.js\";\nimport paymentPageApiRoutes from \"./paymentPageApi.js\";\n\nexport const paymentMode = \"owner_managed\";\nexport const referenceMode = \"owner_managed\";\nexport const paymentModeLabel = \"Owner managed\";\nexport const paymentModeDescription =\n \"The owner controls the payment page flow. The packaged sample payment page is the default reference seam for this path.\";\nexport const paymentPagePath = \"/tenant-payment.html\";\nexport const paymentSessionModel = {\n uses_gateway_payment_session: true,\n tenant_owns_payment_page: true,\n tenant_owns_payment_session_endpoints: true,\n tenant_calls_gateway_payment_session_api_directly: true,\n tenant_session_reference: \"tenant page proxies gateway session through /api/tenant-payment/*\",\n};\nexport const requiredSettings = [\n \"XCONECT_GUARD_INGEST_API_KEY\",\n \"XCONECT_TENANT_PAYMENT_URL\",\n \"XCONECT_TENANT_PAYMENT_RETURN_SECRET or XCONECT_TENANT_PAYMENT_RETURN_SECRET_REF\",\n];\nexport const paymentResponsibilities = [\n \"serve the tenant payment page\",\n \"implement tenant payment session endpoints\",\n \"complete/client-settle the hosted gateway session from the tenant page\",\n];\nexport const paymentEndpoints = [\n {\n method: \"GET\",\n path: \"/tenant-payment.html\",\n purpose: \"Serves the tenant-owned payment page.\",\n },\n {\n method: \"GET\",\n path: \"/api/tenant-payment/session\",\n purpose: \"Loads the current hosted gateway session for the tenant page.\",\n },\n {\n method: \"POST\",\n path: \"/api/tenant-payment/complete\",\n purpose: \"Advances the hosted gateway session from the tenant page.\",\n },\n {\n method: \"POST\",\n path: \"/api/tenant-payment/client-settle\",\n purpose: \"Fallback client settlement for the tenant page flow.\",\n },\n];\n\nexport const referenceEndpointGroup = {\n key: \"owner_managed_payment_reference\",\n label: \"Owner-managed payment page reference\",\n when_to_use:\n \"Use this when the owner keeps the owner-managed lane and the packaged sample payment page is used.\",\n endpoints: paymentEndpoints,\n};\n\nexport async function buildPaymentUrl(input, runtime = {}) {\n return buildOwnerManagedPaymentUrl(input, runtime);\n}\n\nexport async function registerRoutes(fastify, { paymentRuntime = {} } = {}) {\n await fastify.register(paymentAssetRoutes, { paymentRuntime });\n await fastify.register(paymentPageApiRoutes, { paymentRuntime });\n}\n"],
|
|
5
|
+
"mappings": "AACA,SAAS,mBAAmB,mCAAmC;AAC/D,OAAO,wBAAwB;AAC/B,OAAO,0BAA0B;AAE1B,MAAM,cAAc;AACpB,MAAM,gBAAgB;AACtB,MAAM,mBAAmB;AACzB,MAAM,yBACX;AACK,MAAM,kBAAkB;AACxB,MAAM,sBAAsB;AAAA,EACjC,8BAA8B;AAAA,EAC9B,0BAA0B;AAAA,EAC1B,uCAAuC;AAAA,EACvC,mDAAmD;AAAA,EACnD,0BAA0B;AAC5B;AACO,MAAM,mBAAmB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AACF;AACO,MAAM,0BAA0B;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AACF;AACO,MAAM,mBAAmB;AAAA,EAC9B;AAAA,IACE,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AACF;AAEO,MAAM,yBAAyB;AAAA,EACpC,KAAK;AAAA,EACL,OAAO;AAAA,EACP,aACE;AAAA,EACF,WAAW;AACb;AAEA,eAAsB,gBAAgB,OAAO,UAAU,CAAC,GAAG;AACzD,SAAO,4BAA4B,OAAO,OAAO;AACnD;AAEA,eAAsB,eAAe,SAAS,EAAE,iBAAiB,CAAC,EAAE,IAAI,CAAC,GAAG;AAC1E,QAAM,QAAQ,SAAS,oBAAoB,EAAE,eAAe,CAAC;AAC7D,QAAM,QAAQ,SAAS,sBAAsB,EAAE,eAAe,CAAC;AACjE;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paymentAssets.d.ts","sourceRoot":"","sources":["../../../../src/backend/modes/owner-managed/paymentAssets.ts"],"names":[],"mappings":"AAGA,wBAA8B,kBAAkB,CAAC,OAAO,KAAA,EAAE,EAAE,cAAmB,EAAE;;CAAK,iBAKrF"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { registerPaymentPageAssetRoute } from "../../../index.js";
|
|
2
|
+
async function paymentAssetRoutes(fastify, { paymentRuntime = {} } = {}) {
|
|
3
|
+
await registerPaymentPageAssetRoute(fastify, {
|
|
4
|
+
pagePath: "/tenant-payment.html",
|
|
5
|
+
pageFile: paymentRuntime.paymentPageFile
|
|
6
|
+
});
|
|
7
|
+
}
|
|
8
|
+
export {
|
|
9
|
+
paymentAssetRoutes as default
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=paymentAssets.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/backend/modes/owner-managed/paymentAssets.ts"],
|
|
4
|
+
"sourcesContent": ["// @ts-nocheck\nimport { registerPaymentPageAssetRoute } from \"../../../index.js\";\n\nexport default async function paymentAssetRoutes(fastify, { paymentRuntime = {} } = {}) {\n await registerPaymentPageAssetRoute(fastify, {\n pagePath: \"/tenant-payment.html\",\n pageFile: paymentRuntime.paymentPageFile,\n });\n}\n"],
|
|
5
|
+
"mappings": "AACA,SAAS,qCAAqC;AAE9C,eAAO,mBAA0C,SAAS,EAAE,iBAAiB,CAAC,EAAE,IAAI,CAAC,GAAG;AACtF,QAAM,8BAA8B,SAAS;AAAA,IAC3C,UAAU;AAAA,IACV,UAAU,eAAe;AAAA,EAC3B,CAAC;AACH;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paymentPageApi.d.ts","sourceRoot":"","sources":["../../../../src/backend/modes/owner-managed/paymentPageApi.ts"],"names":[],"mappings":"AAGA,wBAA8B,oBAAoB,CAAC,OAAO,KAAA,EAAE,EAAE,cAAmB,EAAE;;CAAK,iBAKvF"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { registerPaymentPageApiRoutes } from "../../../index.js";
|
|
2
|
+
async function paymentPageApiRoutes(fastify, { paymentRuntime = {} } = {}) {
|
|
3
|
+
await registerPaymentPageApiRoutes(fastify, {
|
|
4
|
+
gatewayClient: paymentRuntime.gatewayClient || null,
|
|
5
|
+
pathPrefix: "/api/tenant-payment"
|
|
6
|
+
});
|
|
7
|
+
}
|
|
8
|
+
export {
|
|
9
|
+
paymentPageApiRoutes as default
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=paymentPageApi.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/backend/modes/owner-managed/paymentPageApi.ts"],
|
|
4
|
+
"sourcesContent": ["// @ts-nocheck\nimport { registerPaymentPageApiRoutes } from \"../../../index.js\";\n\nexport default async function paymentPageApiRoutes(fastify, { paymentRuntime = {} } = {}) {\n await registerPaymentPageApiRoutes(fastify, {\n gatewayClient: paymentRuntime.gatewayClient || null,\n pathPrefix: \"/api/tenant-payment\",\n });\n}\n"],
|
|
5
|
+
"mappings": "AACA,SAAS,oCAAoC;AAE7C,eAAO,qBAA4C,SAAS,EAAE,iBAAiB,CAAC,EAAE,IAAI,CAAC,GAAG;AACxF,QAAM,6BAA6B,SAAS;AAAA,IAC1C,eAAe,eAAe,iBAAiB;AAAA,IAC/C,YAAY;AAAA,EACd,CAAC;AACH;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paymentSession.d.ts","sourceRoot":"","sources":["../../../../src/backend/modes/owner-managed/paymentSession.ts"],"names":[],"mappings":"AACA,OAAO,EAAoC,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAEpG,wBAAsB,eAAe,CAAC,KAAK,KAAA,EAAE,OAAO,KAAK,mBAgBxD;AAED,OAAO,EAAE,6BAA6B,EAAE,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { buildModeHostedGatewayPaymentUrl, extractHostedPaymentSessionId } from "../../../index.js";
|
|
2
|
+
async function buildPaymentUrl(input, runtime = {}) {
|
|
3
|
+
const ownerIssuer = String(runtime?.paymentSettings?.ownerIssuer || "").trim().toLowerCase() === "publisher" ? "publisher" : "tenant";
|
|
4
|
+
return buildModeHostedGatewayPaymentUrl(
|
|
5
|
+
input,
|
|
6
|
+
{
|
|
7
|
+
fallbackIssuer: ownerIssuer,
|
|
8
|
+
storedIssuer: ownerIssuer,
|
|
9
|
+
allowDefaultSecretFallback: true
|
|
10
|
+
},
|
|
11
|
+
runtime
|
|
12
|
+
);
|
|
13
|
+
}
|
|
14
|
+
export {
|
|
15
|
+
buildPaymentUrl,
|
|
16
|
+
extractHostedPaymentSessionId
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=paymentSession.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/backend/modes/owner-managed/paymentSession.ts"],
|
|
4
|
+
"sourcesContent": ["// @ts-nocheck\nimport { buildModeHostedGatewayPaymentUrl, extractHostedPaymentSessionId } from \"../../../index.js\";\n\nexport async function buildPaymentUrl(input, runtime = {}) {\n const ownerIssuer =\n String(runtime?.paymentSettings?.ownerIssuer || \"\")\n .trim()\n .toLowerCase() === \"publisher\"\n ? \"publisher\"\n : \"tenant\";\n return buildModeHostedGatewayPaymentUrl(\n input,\n {\n fallbackIssuer: ownerIssuer,\n storedIssuer: ownerIssuer,\n allowDefaultSecretFallback: true,\n },\n runtime,\n );\n}\n\nexport { extractHostedPaymentSessionId };\n"],
|
|
5
|
+
"mappings": "AACA,SAAS,kCAAkC,qCAAqC;AAEhF,eAAsB,gBAAgB,OAAO,UAAU,CAAC,GAAG;AACzD,QAAM,cACJ,OAAO,SAAS,iBAAiB,eAAe,EAAE,EAC/C,KAAK,EACL,YAAY,MAAM,cACjB,cACA;AACN,SAAO;AAAA,IACL;AAAA,IACA;AAAA,MACE,gBAAgB;AAAA,MAChB,cAAc;AAAA,MACd,4BAA4B;AAAA,IAC9B;AAAA,IACA;AAAA,EACF;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
export declare const policyResponsibilities: string[];
|
|
2
|
+
export declare const policyEndpoints: {
|
|
3
|
+
method: string;
|
|
4
|
+
path: string;
|
|
5
|
+
purpose: string;
|
|
6
|
+
}[];
|
|
7
|
+
export declare function buildBlockedResult(input: any, runtime?: {}): Promise<{
|
|
8
|
+
allowed: boolean;
|
|
9
|
+
reason: any;
|
|
10
|
+
message: any;
|
|
11
|
+
action: import("@xapps/server-sdk").PaymentGuardAction;
|
|
12
|
+
details: {
|
|
13
|
+
verification_failure?: any;
|
|
14
|
+
uiRequired: boolean;
|
|
15
|
+
orchestration: {
|
|
16
|
+
reference_mode?: any;
|
|
17
|
+
mode: string;
|
|
18
|
+
surface: string;
|
|
19
|
+
status: string;
|
|
20
|
+
payment_session_id: any;
|
|
21
|
+
payment_mode: any;
|
|
22
|
+
};
|
|
23
|
+
payment_status: any;
|
|
24
|
+
expected_amount: any;
|
|
25
|
+
expected_currency: any;
|
|
26
|
+
};
|
|
27
|
+
}>;
|
|
28
|
+
export declare function resolvePolicyResult(input: any, runtime?: {}): Promise<{
|
|
29
|
+
allowed: boolean;
|
|
30
|
+
reason: string;
|
|
31
|
+
message: string;
|
|
32
|
+
details: {
|
|
33
|
+
reference_mode?: any;
|
|
34
|
+
payment_status: any;
|
|
35
|
+
orchestrationApproved: any;
|
|
36
|
+
gatewayPaymentVerified: any;
|
|
37
|
+
paidByGatewayHint: boolean;
|
|
38
|
+
paidByPlainStatusFallback: boolean;
|
|
39
|
+
paidByVerifiedEvidence: any;
|
|
40
|
+
verified_contract: any;
|
|
41
|
+
payment_mode: any;
|
|
42
|
+
};
|
|
43
|
+
} | {
|
|
44
|
+
allowed: boolean;
|
|
45
|
+
reason: any;
|
|
46
|
+
message: any;
|
|
47
|
+
action: import("@xapps/server-sdk").PaymentGuardAction;
|
|
48
|
+
details: {
|
|
49
|
+
verification_failure?: any;
|
|
50
|
+
uiRequired: boolean;
|
|
51
|
+
orchestration: {
|
|
52
|
+
reference_mode?: any;
|
|
53
|
+
mode: string;
|
|
54
|
+
surface: string;
|
|
55
|
+
status: string;
|
|
56
|
+
payment_session_id: any;
|
|
57
|
+
payment_mode: any;
|
|
58
|
+
};
|
|
59
|
+
payment_status: any;
|
|
60
|
+
expected_amount: any;
|
|
61
|
+
expected_currency: any;
|
|
62
|
+
};
|
|
63
|
+
}>;
|
|
64
|
+
export declare function resolvePolicyRequest(payloadInput: any, { log, paymentRuntime }: {
|
|
65
|
+
log: any;
|
|
66
|
+
paymentRuntime?: {};
|
|
67
|
+
}): Promise<any>;
|
|
68
|
+
//# sourceMappingURL=policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../../src/backend/modes/owner-managed/policy.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,sBAAsB,UAGlC,CAAC;AACF,eAAO,MAAM,eAAe;;;;GAM3B,CAAC;AAMF,wBAAsB,kBAAkB,CAAC,KAAK,KAAA,EAAE,OAAO,KAAK;;;;;;;;;;;;;;;;;;;;GAM3D;AAED,wBAAsB,mBAAmB,CAAC,KAAK,KAAA,EAAE,OAAO,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAK5D;AAED,wBAAsB,oBAAoB,CAAC,YAAY,KAAA,EAAE,EAAE,GAAG,EAAE,cAAmB,EAAE;;;CAAA,gBASpF"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { resolveAllowedIssuers, resolveExpectedPaymentIssuer } from "./policyContext.js";
|
|
2
|
+
import {
|
|
3
|
+
buildPaymentPolicyAllowedResult,
|
|
4
|
+
buildPaymentPolicyBlockedResult,
|
|
5
|
+
resolvePolicyRequestCommon
|
|
6
|
+
} from "../../policies/common.js";
|
|
7
|
+
import { extractHostedPaymentSessionId } from "./paymentSession.js";
|
|
8
|
+
import { buildPaymentUrl, paymentMode, referenceMode } from "./payment.js";
|
|
9
|
+
const policyResponsibilities = [
|
|
10
|
+
"verify signed payment evidence for the owner-managed lane",
|
|
11
|
+
"block and return the tenant payment page action when evidence is missing"
|
|
12
|
+
];
|
|
13
|
+
const policyEndpoints = [
|
|
14
|
+
{
|
|
15
|
+
method: "POST",
|
|
16
|
+
path: "/xapps/requests",
|
|
17
|
+
purpose: "Runs the tenant payment policy for owner-managed xapps."
|
|
18
|
+
}
|
|
19
|
+
];
|
|
20
|
+
function buildAllowedResult(input) {
|
|
21
|
+
return buildPaymentPolicyAllowedResult(input, { paymentMode, referenceMode });
|
|
22
|
+
}
|
|
23
|
+
async function buildBlockedResult(input, runtime = {}) {
|
|
24
|
+
return buildPaymentPolicyBlockedResult(input, {
|
|
25
|
+
buildPaymentUrl: (payload) => buildPaymentUrl(payload, runtime),
|
|
26
|
+
extractHostedPaymentSessionId,
|
|
27
|
+
modeMeta: { paymentMode, referenceMode }
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
async function resolvePolicyResult(input, runtime = {}) {
|
|
31
|
+
if (input.paidByVerifiedEvidence && !input.verificationFailure) {
|
|
32
|
+
return buildAllowedResult(input);
|
|
33
|
+
}
|
|
34
|
+
return buildBlockedResult(input, runtime);
|
|
35
|
+
}
|
|
36
|
+
async function resolvePolicyRequest(payloadInput, { log, paymentRuntime = {} }) {
|
|
37
|
+
return resolvePolicyRequestCommon({
|
|
38
|
+
payloadInput,
|
|
39
|
+
log,
|
|
40
|
+
resolveAllowedIssuers,
|
|
41
|
+
resolveExpectedPaymentIssuer,
|
|
42
|
+
resolveModeResult: resolvePolicyResult,
|
|
43
|
+
paymentRuntime
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
export {
|
|
47
|
+
buildBlockedResult,
|
|
48
|
+
policyEndpoints,
|
|
49
|
+
policyResponsibilities,
|
|
50
|
+
resolvePolicyRequest,
|
|
51
|
+
resolvePolicyResult
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=policy.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/backend/modes/owner-managed/policy.ts"],
|
|
4
|
+
"sourcesContent": ["// @ts-nocheck\nimport { resolveAllowedIssuers, resolveExpectedPaymentIssuer } from \"./policyContext.js\";\nimport {\n buildPaymentPolicyAllowedResult,\n buildPaymentPolicyBlockedResult,\n resolvePolicyRequestCommon,\n} from \"../../policies/common.js\";\nimport { extractHostedPaymentSessionId } from \"./paymentSession.js\";\nimport { buildPaymentUrl, paymentMode, referenceMode } from \"./payment.js\";\n\nexport const policyResponsibilities = [\n \"verify signed payment evidence for the owner-managed lane\",\n \"block and return the tenant payment page action when evidence is missing\",\n];\nexport const policyEndpoints = [\n {\n method: \"POST\",\n path: \"/xapps/requests\",\n purpose: \"Runs the tenant payment policy for owner-managed xapps.\",\n },\n];\n\nfunction buildAllowedResult(input) {\n return buildPaymentPolicyAllowedResult(input, { paymentMode, referenceMode });\n}\n\nexport async function buildBlockedResult(input, runtime = {}) {\n return buildPaymentPolicyBlockedResult(input, {\n buildPaymentUrl: (payload) => buildPaymentUrl(payload, runtime),\n extractHostedPaymentSessionId,\n modeMeta: { paymentMode, referenceMode },\n });\n}\n\nexport async function resolvePolicyResult(input, runtime = {}) {\n if (input.paidByVerifiedEvidence && !input.verificationFailure) {\n return buildAllowedResult(input);\n }\n return buildBlockedResult(input, runtime);\n}\n\nexport async function resolvePolicyRequest(payloadInput, { log, paymentRuntime = {} }) {\n return resolvePolicyRequestCommon({\n payloadInput,\n log,\n resolveAllowedIssuers,\n resolveExpectedPaymentIssuer,\n resolveModeResult: resolvePolicyResult,\n paymentRuntime,\n });\n}\n"],
|
|
5
|
+
"mappings": "AACA,SAAS,uBAAuB,oCAAoC;AACpE;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,qCAAqC;AAC9C,SAAS,iBAAiB,aAAa,qBAAqB;AAErD,MAAM,yBAAyB;AAAA,EACpC;AAAA,EACA;AACF;AACO,MAAM,kBAAkB;AAAA,EAC7B;AAAA,IACE,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AACF;AAEA,SAAS,mBAAmB,OAAO;AACjC,SAAO,gCAAgC,OAAO,EAAE,aAAa,cAAc,CAAC;AAC9E;AAEA,eAAsB,mBAAmB,OAAO,UAAU,CAAC,GAAG;AAC5D,SAAO,gCAAgC,OAAO;AAAA,IAC5C,iBAAiB,CAAC,YAAY,gBAAgB,SAAS,OAAO;AAAA,IAC9D;AAAA,IACA,UAAU,EAAE,aAAa,cAAc;AAAA,EACzC,CAAC;AACH;AAEA,eAAsB,oBAAoB,OAAO,UAAU,CAAC,GAAG;AAC7D,MAAI,MAAM,0BAA0B,CAAC,MAAM,qBAAqB;AAC9D,WAAO,mBAAmB,KAAK;AAAA,EACjC;AACA,SAAO,mBAAmB,OAAO,OAAO;AAC1C;AAEA,eAAsB,qBAAqB,cAAc,EAAE,KAAK,iBAAiB,CAAC,EAAE,GAAG;AACrF,SAAO,2BAA2B;AAAA,IAChC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,mBAAmB;AAAA,IACnB;AAAA,EACF,CAAC;AACH;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { buildPaymentAction, hasUpstreamPaymentVerified, resolveMergedContext, resolvePriceAmount } from "../../policies/common.js";
|
|
2
|
+
export { buildPaymentAction, hasUpstreamPaymentVerified, resolveMergedContext, resolvePriceAmount };
|
|
3
|
+
export declare function resolveExpectedPaymentIssuer(_guardConfig: any, paymentSettings?: {}): "tenant" | "publisher";
|
|
4
|
+
export declare function resolveAllowedIssuers(guardConfig: any, paymentSettings?: {}): string[];
|
|
5
|
+
//# sourceMappingURL=policyContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policyContext.d.ts","sourceRoot":"","sources":["../../../../src/backend/modes/owner-managed/policyContext.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAE1B,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,CAAC;AASpG,wBAAgB,4BAA4B,CAAC,YAAY,KAAA,EAAE,eAAe,KAAK,0BAE9E;AAED,wBAAgB,qBAAqB,CAAC,WAAW,KAAA,EAAE,eAAe,KAAK,YAEtE"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import {
|
|
2
|
+
buildPaymentAction,
|
|
3
|
+
hasUpstreamPaymentVerified,
|
|
4
|
+
normalizeAllowedIssuers,
|
|
5
|
+
resolveMergedContext,
|
|
6
|
+
resolvePriceAmount
|
|
7
|
+
} from "../../policies/common.js";
|
|
8
|
+
function readOwnerIssuer(paymentSettings) {
|
|
9
|
+
const raw = String(paymentSettings?.ownerIssuer || "").trim().toLowerCase();
|
|
10
|
+
return raw === "publisher" ? "publisher" : "tenant";
|
|
11
|
+
}
|
|
12
|
+
function resolveExpectedPaymentIssuer(_guardConfig, paymentSettings = {}) {
|
|
13
|
+
return readOwnerIssuer(paymentSettings);
|
|
14
|
+
}
|
|
15
|
+
function resolveAllowedIssuers(guardConfig, paymentSettings = {}) {
|
|
16
|
+
return normalizeAllowedIssuers(guardConfig, readOwnerIssuer(paymentSettings));
|
|
17
|
+
}
|
|
18
|
+
export {
|
|
19
|
+
buildPaymentAction,
|
|
20
|
+
hasUpstreamPaymentVerified,
|
|
21
|
+
resolveAllowedIssuers,
|
|
22
|
+
resolveExpectedPaymentIssuer,
|
|
23
|
+
resolveMergedContext,
|
|
24
|
+
resolvePriceAmount
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=policyContext.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/backend/modes/owner-managed/policyContext.ts"],
|
|
4
|
+
"sourcesContent": ["// @ts-nocheck\nimport {\n buildPaymentAction,\n hasUpstreamPaymentVerified,\n normalizeAllowedIssuers,\n resolveMergedContext,\n resolvePriceAmount,\n} from \"../../policies/common.js\";\n\nexport { buildPaymentAction, hasUpstreamPaymentVerified, resolveMergedContext, resolvePriceAmount };\n\nfunction readOwnerIssuer(paymentSettings) {\n const raw = String(paymentSettings?.ownerIssuer || \"\")\n .trim()\n .toLowerCase();\n return raw === \"publisher\" ? \"publisher\" : \"tenant\";\n}\n\nexport function resolveExpectedPaymentIssuer(_guardConfig, paymentSettings = {}) {\n return readOwnerIssuer(paymentSettings);\n}\n\nexport function resolveAllowedIssuers(guardConfig, paymentSettings = {}) {\n return normalizeAllowedIssuers(guardConfig, readOwnerIssuer(paymentSettings));\n}\n"],
|
|
5
|
+
"mappings": "AACA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAIP,SAAS,gBAAgB,iBAAiB;AACxC,QAAM,MAAM,OAAO,iBAAiB,eAAe,EAAE,EAClD,KAAK,EACL,YAAY;AACf,SAAO,QAAQ,cAAc,cAAc;AAC7C;AAEO,SAAS,6BAA6B,cAAc,kBAAkB,CAAC,GAAG;AAC/E,SAAO,gBAAgB,eAAe;AACxC;AAEO,SAAS,sBAAsB,aAAa,kBAAkB,CAAC,GAAG;AACvE,SAAO,wBAAwB,aAAa,gBAAgB,eAAe,CAAC;AAC9E;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export declare const paymentMode = "publisher_delegated";
|
|
2
|
+
export declare const paymentModeLabel = "Gateway delegated by publisher";
|
|
3
|
+
export declare const paymentModeDescription = "Gateway executes checkout with publisher-scoped delegated credentials and delegated signing.";
|
|
4
|
+
export declare const paymentSessionModel: {
|
|
5
|
+
uses_gateway_payment_session: boolean;
|
|
6
|
+
tenant_owns_payment_page: boolean;
|
|
7
|
+
tenant_owns_payment_session_endpoints: boolean;
|
|
8
|
+
tenant_calls_gateway_payment_session_api_directly: boolean;
|
|
9
|
+
tenant_session_reference: string;
|
|
10
|
+
};
|
|
11
|
+
export declare const requiredSettings: string[];
|
|
12
|
+
export declare const paymentResponsibilities: string[];
|
|
13
|
+
export declare const paymentEndpoints: any[];
|
|
14
|
+
export declare const referenceEndpointGroup: {
|
|
15
|
+
key: string;
|
|
16
|
+
label: string;
|
|
17
|
+
when_to_use: string;
|
|
18
|
+
endpoints: any[];
|
|
19
|
+
notes: string[];
|
|
20
|
+
};
|
|
21
|
+
export declare function buildPaymentUrl(input: any, runtime?: {}): Promise<string>;
|
|
22
|
+
export declare function registerRoutes(): Promise<void>;
|
|
23
|
+
//# sourceMappingURL=payment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payment.d.ts","sourceRoot":"","sources":["../../../../src/backend/modes/publisher-delegated/payment.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,WAAW,wBAAwB,CAAC;AACjD,eAAO,MAAM,gBAAgB,mCAAmC,CAAC;AACjE,eAAO,MAAM,sBAAsB,iGAC6D,CAAC;AACjG,eAAO,MAAM,mBAAmB;;;;;;CAM/B,CAAC;AACF,eAAO,MAAM,gBAAgB,UAI5B,CAAC;AACF,eAAO,MAAM,uBAAuB,UAInC,CAAC;AACF,eAAO,MAAM,gBAAgB,OAAK,CAAC;AAEnC,eAAO,MAAM,sBAAsB;;;;;;CAUlC,CAAC;AAEF,wBAAsB,eAAe,CAAC,KAAK,KAAA,EAAE,OAAO,KAAK,mBAExD;AAED,wBAAsB,cAAc,kBAAK"}
|