@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,50 @@
|
|
|
1
|
+
import { buildPaymentUrl as buildPublisherDelegatedPaymentUrl } from "./paymentSession.js";
|
|
2
|
+
const paymentMode = "publisher_delegated";
|
|
3
|
+
const paymentModeLabel = "Gateway delegated by publisher";
|
|
4
|
+
const paymentModeDescription = "Gateway executes checkout with publisher-scoped delegated credentials and delegated signing.";
|
|
5
|
+
const paymentSessionModel = {
|
|
6
|
+
uses_gateway_payment_session: true,
|
|
7
|
+
tenant_owns_payment_page: false,
|
|
8
|
+
tenant_owns_payment_session_endpoints: false,
|
|
9
|
+
tenant_calls_gateway_payment_session_api_directly: false,
|
|
10
|
+
tenant_session_reference: "gateway-hosted delegated session only"
|
|
11
|
+
};
|
|
12
|
+
const requiredSettings = [
|
|
13
|
+
"backend guard ingest API key",
|
|
14
|
+
"delegated publisher payment credential refs in the manifest/guard config",
|
|
15
|
+
"publisher delegated payment return secret or secret ref"
|
|
16
|
+
];
|
|
17
|
+
const paymentResponsibilities = [
|
|
18
|
+
"keep publisher-delegated payment lane configured",
|
|
19
|
+
"provide delegated publisher credential/signing configuration",
|
|
20
|
+
"reuse gateway-hosted checkout returned by the platform"
|
|
21
|
+
];
|
|
22
|
+
const paymentEndpoints = [];
|
|
23
|
+
const referenceEndpointGroup = {
|
|
24
|
+
key: "publisher_delegated_payment_reference",
|
|
25
|
+
label: "Publisher-delegated payment reference",
|
|
26
|
+
when_to_use: "Use this when checkout is still gateway-hosted but publisher delegated credentials/signing are required.",
|
|
27
|
+
endpoints: [],
|
|
28
|
+
notes: [
|
|
29
|
+
"Existing xapps keep the gateway-hosted payment page for this mode too.",
|
|
30
|
+
"The backend participates through guard execution and delegated publisher configuration."
|
|
31
|
+
]
|
|
32
|
+
};
|
|
33
|
+
async function buildPaymentUrl(input, runtime = {}) {
|
|
34
|
+
return buildPublisherDelegatedPaymentUrl(input, runtime);
|
|
35
|
+
}
|
|
36
|
+
async function registerRoutes() {
|
|
37
|
+
}
|
|
38
|
+
export {
|
|
39
|
+
buildPaymentUrl,
|
|
40
|
+
paymentEndpoints,
|
|
41
|
+
paymentMode,
|
|
42
|
+
paymentModeDescription,
|
|
43
|
+
paymentModeLabel,
|
|
44
|
+
paymentResponsibilities,
|
|
45
|
+
paymentSessionModel,
|
|
46
|
+
referenceEndpointGroup,
|
|
47
|
+
registerRoutes,
|
|
48
|
+
requiredSettings
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=payment.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/backend/modes/publisher-delegated/payment.ts"],
|
|
4
|
+
"sourcesContent": ["// @ts-nocheck\nimport { buildPaymentUrl as buildPublisherDelegatedPaymentUrl } from \"./paymentSession.js\";\n\nexport const paymentMode = \"publisher_delegated\";\nexport const paymentModeLabel = \"Gateway delegated by publisher\";\nexport const paymentModeDescription =\n \"Gateway executes checkout with publisher-scoped delegated credentials and delegated signing.\";\nexport const paymentSessionModel = {\n uses_gateway_payment_session: true,\n tenant_owns_payment_page: false,\n tenant_owns_payment_session_endpoints: false,\n tenant_calls_gateway_payment_session_api_directly: false,\n tenant_session_reference: \"gateway-hosted delegated session only\",\n};\nexport const requiredSettings = [\n \"backend guard ingest API key\",\n \"delegated publisher payment credential refs in the manifest/guard config\",\n \"publisher delegated payment return secret or secret ref\",\n];\nexport const paymentResponsibilities = [\n \"keep publisher-delegated payment lane configured\",\n \"provide delegated publisher credential/signing configuration\",\n \"reuse gateway-hosted checkout returned by the platform\",\n];\nexport const paymentEndpoints = [];\n\nexport const referenceEndpointGroup = {\n key: \"publisher_delegated_payment_reference\",\n label: \"Publisher-delegated payment reference\",\n when_to_use:\n \"Use this when checkout is still gateway-hosted but publisher delegated credentials/signing are required.\",\n endpoints: [],\n notes: [\n \"Existing xapps keep the gateway-hosted payment page for this mode too.\",\n \"The backend participates through guard execution and delegated publisher configuration.\",\n ],\n};\n\nexport async function buildPaymentUrl(input, runtime = {}) {\n return buildPublisherDelegatedPaymentUrl(input, runtime);\n}\n\nexport async function registerRoutes() {}\n"],
|
|
5
|
+
"mappings": "AACA,SAAS,mBAAmB,yCAAyC;AAE9D,MAAM,cAAc;AACpB,MAAM,mBAAmB;AACzB,MAAM,yBACX;AACK,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,CAAC;AAE1B,MAAM,yBAAyB;AAAA,EACpC,KAAK;AAAA,EACL,OAAO;AAAA,EACP,aACE;AAAA,EACF,WAAW,CAAC;AAAA,EACZ,OAAO;AAAA,IACL;AAAA,IACA;AAAA,EACF;AACF;AAEA,eAAsB,gBAAgB,OAAO,UAAU,CAAC,GAAG;AACzD,SAAO,kCAAkC,OAAO,OAAO;AACzD;AAEA,eAAsB,iBAAiB;AAAC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paymentSession.d.ts","sourceRoot":"","sources":["../../../../src/backend/modes/publisher-delegated/paymentSession.ts"],"names":[],"mappings":"AACA,OAAO,EAAoC,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAEpG,wBAAsB,eAAe,CAAC,KAAK,KAAA,EAAE,OAAO,KAAK,mBASxD;AAED,OAAO,EAAE,6BAA6B,EAAE,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { buildModeHostedGatewayPaymentUrl, extractHostedPaymentSessionId } from "../../../index.js";
|
|
2
|
+
async function buildPaymentUrl(input, runtime = {}) {
|
|
3
|
+
return buildModeHostedGatewayPaymentUrl(
|
|
4
|
+
input,
|
|
5
|
+
{
|
|
6
|
+
fallbackIssuer: "publisher_delegated",
|
|
7
|
+
storedIssuer: "publisher_delegated"
|
|
8
|
+
},
|
|
9
|
+
runtime
|
|
10
|
+
);
|
|
11
|
+
}
|
|
12
|
+
export {
|
|
13
|
+
buildPaymentUrl,
|
|
14
|
+
extractHostedPaymentSessionId
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=paymentSession.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/backend/modes/publisher-delegated/paymentSession.ts"],
|
|
4
|
+
"sourcesContent": ["// @ts-nocheck\nimport { buildModeHostedGatewayPaymentUrl, extractHostedPaymentSessionId } from \"../../../index.js\";\n\nexport async function buildPaymentUrl(input, runtime = {}) {\n return buildModeHostedGatewayPaymentUrl(\n input,\n {\n fallbackIssuer: \"publisher_delegated\",\n storedIssuer: \"publisher_delegated\",\n },\n runtime,\n );\n}\n\nexport { extractHostedPaymentSessionId };\n"],
|
|
5
|
+
"mappings": "AACA,SAAS,kCAAkC,qCAAqC;AAEhF,eAAsB,gBAAgB,OAAO,UAAU,CAAC,GAAG;AACzD,SAAO;AAAA,IACL;AAAA,IACA;AAAA,MACE,gBAAgB;AAAA,MAChB,cAAc;AAAA,IAChB;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/publisher-delegated/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 } from "./payment.js";
|
|
9
|
+
const policyResponsibilities = [
|
|
10
|
+
"verify signed payment evidence for the publisher-delegated lane",
|
|
11
|
+
"block and return the delegated gateway-hosted payment action when evidence is missing"
|
|
12
|
+
];
|
|
13
|
+
const policyEndpoints = [
|
|
14
|
+
{
|
|
15
|
+
method: "POST",
|
|
16
|
+
path: "/xapps/requests",
|
|
17
|
+
purpose: "Runs the payment policy for publisher-delegated xapps."
|
|
18
|
+
}
|
|
19
|
+
];
|
|
20
|
+
function buildAllowedResult(input) {
|
|
21
|
+
return buildPaymentPolicyAllowedResult(input, { paymentMode });
|
|
22
|
+
}
|
|
23
|
+
async function buildBlockedResult(input, runtime = {}) {
|
|
24
|
+
return buildPaymentPolicyBlockedResult(input, {
|
|
25
|
+
buildPaymentUrl: (payload) => buildPaymentUrl(payload, runtime),
|
|
26
|
+
extractHostedPaymentSessionId,
|
|
27
|
+
modeMeta: { paymentMode }
|
|
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/publisher-delegated/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 } from \"./payment.js\";\n\nexport const policyResponsibilities = [\n \"verify signed payment evidence for the publisher-delegated lane\",\n \"block and return the delegated gateway-hosted payment action when evidence is missing\",\n];\nexport const policyEndpoints = [\n {\n method: \"POST\",\n path: \"/xapps/requests\",\n purpose: \"Runs the payment policy for publisher-delegated xapps.\",\n },\n];\n\nfunction buildAllowedResult(input) {\n return buildPaymentPolicyAllowedResult(input, { paymentMode });\n}\n\nexport async function buildBlockedResult(input, runtime = {}) {\n return buildPaymentPolicyBlockedResult(input, {\n buildPaymentUrl: (payload) => buildPaymentUrl(payload, runtime),\n extractHostedPaymentSessionId,\n modeMeta: { paymentMode },\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,mBAAmB;AAEtC,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,YAAY,CAAC;AAC/D;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,YAAY;AAAA,EAC1B,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(): string;
|
|
4
|
+
export declare function resolveAllowedIssuers(guardConfig: any): string[];
|
|
5
|
+
//# sourceMappingURL=policyContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policyContext.d.ts","sourceRoot":"","sources":["../../../../src/backend/modes/publisher-delegated/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;AAEpG,wBAAgB,4BAA4B,WAE3C;AAED,wBAAgB,qBAAqB,CAAC,WAAW,KAAA,YAEhD"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import {
|
|
2
|
+
buildPaymentAction,
|
|
3
|
+
hasUpstreamPaymentVerified,
|
|
4
|
+
normalizeAllowedIssuers,
|
|
5
|
+
resolveMergedContext,
|
|
6
|
+
resolvePriceAmount
|
|
7
|
+
} from "../../policies/common.js";
|
|
8
|
+
function resolveExpectedPaymentIssuer() {
|
|
9
|
+
return "publisher_delegated";
|
|
10
|
+
}
|
|
11
|
+
function resolveAllowedIssuers(guardConfig) {
|
|
12
|
+
return normalizeAllowedIssuers(guardConfig, "publisher_delegated");
|
|
13
|
+
}
|
|
14
|
+
export {
|
|
15
|
+
buildPaymentAction,
|
|
16
|
+
hasUpstreamPaymentVerified,
|
|
17
|
+
resolveAllowedIssuers,
|
|
18
|
+
resolveExpectedPaymentIssuer,
|
|
19
|
+
resolveMergedContext,
|
|
20
|
+
resolvePriceAmount
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=policyContext.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/backend/modes/publisher-delegated/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\nexport function resolveExpectedPaymentIssuer() {\n return \"publisher_delegated\";\n}\n\nexport function resolveAllowedIssuers(guardConfig) {\n return normalizeAllowedIssuers(guardConfig, \"publisher_delegated\");\n}\n"],
|
|
5
|
+
"mappings": "AACA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAIA,SAAS,+BAA+B;AAC7C,SAAO;AACT;AAEO,SAAS,sBAAsB,aAAa;AACjD,SAAO,wBAAwB,aAAa,qBAAqB;AACnE;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export declare const paymentMode = "tenant_delegated";
|
|
2
|
+
export declare const paymentModeLabel = "Gateway delegated by tenant";
|
|
3
|
+
export declare const paymentModeDescription = "Gateway executes checkout with tenant-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/tenant-delegated/payment.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,WAAW,qBAAqB,CAAC;AAC9C,eAAO,MAAM,gBAAgB,gCAAgC,CAAC;AAC9D,eAAO,MAAM,sBAAsB,8FAC0D,CAAC;AAC9F,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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { buildPaymentUrl as buildTenantDelegatedPaymentUrl } from "./paymentSession.js";
|
|
2
|
+
const paymentMode = "tenant_delegated";
|
|
3
|
+
const paymentModeLabel = "Gateway delegated by tenant";
|
|
4
|
+
const paymentModeDescription = "Gateway executes checkout with tenant-scoped delegated credentials and delegated signing.";
|
|
5
|
+
const paymentSessionModel = {
|
|
6
|
+
uses_gateway_payment_session: true,
|
|
7
|
+
tenant_owns_payment_page: false,
|
|
8
|
+
tenant_owns_payment_session_endpoints: false,
|
|
9
|
+
tenant_calls_gateway_payment_session_api_directly: false,
|
|
10
|
+
tenant_session_reference: "gateway-hosted delegated session only"
|
|
11
|
+
};
|
|
12
|
+
const requiredSettings = [
|
|
13
|
+
"XCONECT_GUARD_INGEST_API_KEY",
|
|
14
|
+
"delegated payment credential refs in the manifest/guard config",
|
|
15
|
+
"XCONECT_TENANT_PAYMENT_RETURN_SECRET or XCONECT_TENANT_PAYMENT_RETURN_SECRET_REF"
|
|
16
|
+
];
|
|
17
|
+
const paymentResponsibilities = [
|
|
18
|
+
"keep tenant-delegated payment lane configured",
|
|
19
|
+
"provide delegated credential/signing configuration",
|
|
20
|
+
"reuse gateway-hosted checkout returned by the platform"
|
|
21
|
+
];
|
|
22
|
+
const paymentEndpoints = [];
|
|
23
|
+
const referenceEndpointGroup = {
|
|
24
|
+
key: "tenant_delegated_payment_reference",
|
|
25
|
+
label: "Tenant-delegated payment reference",
|
|
26
|
+
when_to_use: "Use this when checkout is still gateway-hosted but tenant delegated credentials/signing are required.",
|
|
27
|
+
endpoints: [],
|
|
28
|
+
notes: [
|
|
29
|
+
"Existing xapps keep the gateway-hosted payment page for this mode too.",
|
|
30
|
+
"The tenant backend participates through guard execution and delegated tenant configuration."
|
|
31
|
+
]
|
|
32
|
+
};
|
|
33
|
+
async function buildPaymentUrl(input, runtime = {}) {
|
|
34
|
+
return buildTenantDelegatedPaymentUrl(input, runtime);
|
|
35
|
+
}
|
|
36
|
+
async function registerRoutes() {
|
|
37
|
+
}
|
|
38
|
+
export {
|
|
39
|
+
buildPaymentUrl,
|
|
40
|
+
paymentEndpoints,
|
|
41
|
+
paymentMode,
|
|
42
|
+
paymentModeDescription,
|
|
43
|
+
paymentModeLabel,
|
|
44
|
+
paymentResponsibilities,
|
|
45
|
+
paymentSessionModel,
|
|
46
|
+
referenceEndpointGroup,
|
|
47
|
+
registerRoutes,
|
|
48
|
+
requiredSettings
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=payment.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/backend/modes/tenant-delegated/payment.ts"],
|
|
4
|
+
"sourcesContent": ["// @ts-nocheck\nimport { buildPaymentUrl as buildTenantDelegatedPaymentUrl } from \"./paymentSession.js\";\n\nexport const paymentMode = \"tenant_delegated\";\nexport const paymentModeLabel = \"Gateway delegated by tenant\";\nexport const paymentModeDescription =\n \"Gateway executes checkout with tenant-scoped delegated credentials and delegated signing.\";\nexport const paymentSessionModel = {\n uses_gateway_payment_session: true,\n tenant_owns_payment_page: false,\n tenant_owns_payment_session_endpoints: false,\n tenant_calls_gateway_payment_session_api_directly: false,\n tenant_session_reference: \"gateway-hosted delegated session only\",\n};\nexport const requiredSettings = [\n \"XCONECT_GUARD_INGEST_API_KEY\",\n \"delegated payment credential refs in the manifest/guard config\",\n \"XCONECT_TENANT_PAYMENT_RETURN_SECRET or XCONECT_TENANT_PAYMENT_RETURN_SECRET_REF\",\n];\nexport const paymentResponsibilities = [\n \"keep tenant-delegated payment lane configured\",\n \"provide delegated credential/signing configuration\",\n \"reuse gateway-hosted checkout returned by the platform\",\n];\nexport const paymentEndpoints = [];\n\nexport const referenceEndpointGroup = {\n key: \"tenant_delegated_payment_reference\",\n label: \"Tenant-delegated payment reference\",\n when_to_use:\n \"Use this when checkout is still gateway-hosted but tenant delegated credentials/signing are required.\",\n endpoints: [],\n notes: [\n \"Existing xapps keep the gateway-hosted payment page for this mode too.\",\n \"The tenant backend participates through guard execution and delegated tenant configuration.\",\n ],\n};\n\nexport async function buildPaymentUrl(input, runtime = {}) {\n return buildTenantDelegatedPaymentUrl(input, runtime);\n}\n\nexport async function registerRoutes() {}\n"],
|
|
5
|
+
"mappings": "AACA,SAAS,mBAAmB,sCAAsC;AAE3D,MAAM,cAAc;AACpB,MAAM,mBAAmB;AACzB,MAAM,yBACX;AACK,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,CAAC;AAE1B,MAAM,yBAAyB;AAAA,EACpC,KAAK;AAAA,EACL,OAAO;AAAA,EACP,aACE;AAAA,EACF,WAAW,CAAC;AAAA,EACZ,OAAO;AAAA,IACL;AAAA,IACA;AAAA,EACF;AACF;AAEA,eAAsB,gBAAgB,OAAO,UAAU,CAAC,GAAG;AACzD,SAAO,+BAA+B,OAAO,OAAO;AACtD;AAEA,eAAsB,iBAAiB;AAAC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paymentSession.d.ts","sourceRoot":"","sources":["../../../../src/backend/modes/tenant-delegated/paymentSession.ts"],"names":[],"mappings":"AACA,OAAO,EAAoC,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAEpG,wBAAsB,eAAe,CAAC,KAAK,KAAA,EAAE,OAAO,KAAK,mBASxD;AAED,OAAO,EAAE,6BAA6B,EAAE,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { buildModeHostedGatewayPaymentUrl, extractHostedPaymentSessionId } from "../../../index.js";
|
|
2
|
+
async function buildPaymentUrl(input, runtime = {}) {
|
|
3
|
+
return buildModeHostedGatewayPaymentUrl(
|
|
4
|
+
input,
|
|
5
|
+
{
|
|
6
|
+
fallbackIssuer: "tenant_delegated",
|
|
7
|
+
storedIssuer: "tenant_delegated"
|
|
8
|
+
},
|
|
9
|
+
runtime
|
|
10
|
+
);
|
|
11
|
+
}
|
|
12
|
+
export {
|
|
13
|
+
buildPaymentUrl,
|
|
14
|
+
extractHostedPaymentSessionId
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=paymentSession.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/backend/modes/tenant-delegated/paymentSession.ts"],
|
|
4
|
+
"sourcesContent": ["// @ts-nocheck\nimport { buildModeHostedGatewayPaymentUrl, extractHostedPaymentSessionId } from \"../../../index.js\";\n\nexport async function buildPaymentUrl(input, runtime = {}) {\n return buildModeHostedGatewayPaymentUrl(\n input,\n {\n fallbackIssuer: \"tenant_delegated\",\n storedIssuer: \"tenant_delegated\",\n },\n runtime,\n );\n}\n\nexport { extractHostedPaymentSessionId };\n"],
|
|
5
|
+
"mappings": "AACA,SAAS,kCAAkC,qCAAqC;AAEhF,eAAsB,gBAAgB,OAAO,UAAU,CAAC,GAAG;AACzD,SAAO;AAAA,IACL;AAAA,IACA;AAAA,MACE,gBAAgB;AAAA,MAChB,cAAc;AAAA,IAChB;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/tenant-delegated/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 } from "./payment.js";
|
|
9
|
+
const policyResponsibilities = [
|
|
10
|
+
"verify signed payment evidence for the tenant-delegated lane",
|
|
11
|
+
"block and return the delegated gateway-hosted payment 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 tenant-delegated xapps."
|
|
18
|
+
}
|
|
19
|
+
];
|
|
20
|
+
function buildAllowedResult(input) {
|
|
21
|
+
return buildPaymentPolicyAllowedResult(input, { paymentMode });
|
|
22
|
+
}
|
|
23
|
+
async function buildBlockedResult(input, runtime = {}) {
|
|
24
|
+
return buildPaymentPolicyBlockedResult(input, {
|
|
25
|
+
buildPaymentUrl: (payload) => buildPaymentUrl(payload, runtime),
|
|
26
|
+
extractHostedPaymentSessionId,
|
|
27
|
+
modeMeta: { paymentMode }
|
|
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/tenant-delegated/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 } from \"./payment.js\";\n\nexport const policyResponsibilities = [\n \"verify signed payment evidence for the tenant-delegated lane\",\n \"block and return the delegated gateway-hosted payment 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 tenant-delegated xapps.\",\n },\n];\n\nfunction buildAllowedResult(input) {\n return buildPaymentPolicyAllowedResult(input, { paymentMode });\n}\n\nexport async function buildBlockedResult(input, runtime = {}) {\n return buildPaymentPolicyBlockedResult(input, {\n buildPaymentUrl: (payload) => buildPaymentUrl(payload, runtime),\n extractHostedPaymentSessionId,\n modeMeta: { paymentMode },\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,mBAAmB;AAEtC,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,YAAY,CAAC;AAC/D;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,YAAY;AAAA,EAC1B,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(): string;
|
|
4
|
+
export declare function resolveAllowedIssuers(guardConfig: any): string[];
|
|
5
|
+
//# sourceMappingURL=policyContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policyContext.d.ts","sourceRoot":"","sources":["../../../../src/backend/modes/tenant-delegated/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;AAEpG,wBAAgB,4BAA4B,WAE3C;AAED,wBAAgB,qBAAqB,CAAC,WAAW,KAAA,YAEhD"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import {
|
|
2
|
+
buildPaymentAction,
|
|
3
|
+
hasUpstreamPaymentVerified,
|
|
4
|
+
normalizeAllowedIssuers,
|
|
5
|
+
resolveMergedContext,
|
|
6
|
+
resolvePriceAmount
|
|
7
|
+
} from "../../policies/common.js";
|
|
8
|
+
function resolveExpectedPaymentIssuer() {
|
|
9
|
+
return "tenant_delegated";
|
|
10
|
+
}
|
|
11
|
+
function resolveAllowedIssuers(guardConfig) {
|
|
12
|
+
return normalizeAllowedIssuers(guardConfig, "tenant_delegated");
|
|
13
|
+
}
|
|
14
|
+
export {
|
|
15
|
+
buildPaymentAction,
|
|
16
|
+
hasUpstreamPaymentVerified,
|
|
17
|
+
resolveAllowedIssuers,
|
|
18
|
+
resolveExpectedPaymentIssuer,
|
|
19
|
+
resolveMergedContext,
|
|
20
|
+
resolvePriceAmount
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=policyContext.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/backend/modes/tenant-delegated/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\nexport function resolveExpectedPaymentIssuer() {\n return \"tenant_delegated\";\n}\n\nexport function resolveAllowedIssuers(guardConfig) {\n return normalizeAllowedIssuers(guardConfig, \"tenant_delegated\");\n}\n"],
|
|
5
|
+
"mappings": "AACA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAIA,SAAS,+BAA+B;AAC7C,SAAO;AACT;AAEO,SAAS,sBAAsB,aAAa;AACjD,SAAO,wBAAwB,aAAa,kBAAkB;AAChE;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export declare function createHostReferenceModule({ gateway, branding, reference, enableLifecycle, enableBridge, allowedOrigins, bootstrap, hostProxyService, }?: {
|
|
2
|
+
gateway?: {};
|
|
3
|
+
branding?: {};
|
|
4
|
+
reference?: {};
|
|
5
|
+
enableLifecycle?: boolean;
|
|
6
|
+
enableBridge?: boolean;
|
|
7
|
+
allowedOrigins?: any[];
|
|
8
|
+
bootstrap?: {};
|
|
9
|
+
hostProxyService?: any;
|
|
10
|
+
}, deps?: {}): {
|
|
11
|
+
registerRoutes(app: any): Promise<void>;
|
|
12
|
+
};
|
|
13
|
+
export declare function createHostProxyService({ gateway, reference }?: {
|
|
14
|
+
gateway?: {};
|
|
15
|
+
reference?: {};
|
|
16
|
+
}, deps?: {}): any;
|
|
17
|
+
export declare function createGatewayExecutionModule({ enabledModes, subjectProfiles, paymentRuntime }?: {
|
|
18
|
+
subjectProfiles?: {};
|
|
19
|
+
paymentRuntime?: {};
|
|
20
|
+
}, deps?: {}): {
|
|
21
|
+
registerRoutes(app: any): Promise<void>;
|
|
22
|
+
};
|
|
23
|
+
export declare function createReferenceSurfaceModule({ gateway, branding, enableReference, enableLifecycle, enableBridge, enabledModes, reference, }?: {
|
|
24
|
+
gateway?: {};
|
|
25
|
+
branding?: {};
|
|
26
|
+
enableReference?: boolean;
|
|
27
|
+
enableLifecycle?: boolean;
|
|
28
|
+
enableBridge?: boolean;
|
|
29
|
+
reference?: {};
|
|
30
|
+
}, deps?: {}): {
|
|
31
|
+
registerRoutes(app: any): Promise<void>;
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=modules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modules.d.ts","sourceRoot":"","sources":["../../src/backend/modules.ts"],"names":[],"mappings":"AAGA,wBAAgB,yBAAyB,CACvC,EACE,OAAY,EACZ,QAAa,EACb,SAAc,EACd,eAAsB,EACtB,YAAmB,EACnB,cAAmB,EACnB,SAAc,EACd,gBAAuB,GACxB;;;;;;;;;CAAK,EACN,IAAI,KAAK;;EA+BV;AAED,wBAAgB,sBAAsB,CAAC,EAAE,OAAY,EAAE,SAAc,EAAE;;;CAAK,EAAE,IAAI,KAAK,OAoBtF;AAED,wBAAgB,4BAA4B,CAC1C,EAAE,YAAY,EAAE,eAAoB,EAAE,cAAmB,EAAE;;;CAAK,EAChE,IAAI,KAAK;;EAqBV;AAED,wBAAgB,4BAA4B,CAC1C,EACE,OAAY,EACZ,QAAa,EACb,eAAsB,EACtB,eAAsB,EACtB,YAAmB,EACnB,YAAY,EACZ,SAAc,GACf;;;;;;;CAAK,EACN,IAAI,KAAK;;EAuBV"}
|