@proxy-checkout/server-js 0.0.8-prx-124.134.1 → 0.0.8-prx-124.135.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.
@@ -4,7 +4,7 @@ export { assertCartBuyerReference, assertSubscriptionMatchesSession, } from "./c
4
4
  export { isProxySessionNotFoundError, PROXY_SESSION_NOT_FOUND_ERROR_CODE, ProxyCheckoutApiError, type ProxyCheckoutApiErrorDetails, type ProxyCheckoutValidationCode, ProxyCheckoutValidationError, } from "./errors.js";
5
5
  export { ProxyEventsResource, type ResolvedIgnored, type ResolvedInitialProvision, type ResolvedPaymentAttempt, type ResolvedPaymentRisk, type ResolvedProxyEvent, type ResolvedProxyEventKind, type ResolvedSubscriptionCancelled, type ResolvedSubscriptionCancelScheduled, type ResolvedSubscriptionRenewed, type ResolvedTerminalSession, type ResolveProxyEventOptions, } from "./events.js";
6
6
  export { AT_RISK_SUBSCRIPTION_STATUSES, ENDED_SUBSCRIPTION_STATUSES, isSessionProvisionable, isSessionTerminal, isSubscriptionEnded, isSubscriptionPaymentAtRisk, PROVISIONABLE_SESSION_STATUSES, parseOptionalProxyDate, requireProxyDate, subscriptionAccessEndsAt, subscriptionWillRenew, TERMINAL_SESSION_STATUSES, } from "./lifecycle.js";
7
- export { type AttachProviderAcquisitionObjectInput, type ProviderAcquisition, type ProviderAcquisitionCheckoutUiMode, type ProviderAcquisitionCommercialMode, type ProviderAcquisitionIntegrationPath, type ProviderAcquisitionObjectType, type ProviderAcquisitionPricingMode, type ProviderAcquisitionReservation, ProxyProviderAcquisitionsResource, proxyCheckoutProviderAcquisitionEndpoints, type ReserveProviderAcquisitionInput, type SupersedeProviderAcquisitionInput, } from "./provider-acquisitions.js";
7
+ export { type AttachProviderAcquisitionObjectInput, type ProviderAcquisition, type ProviderAcquisitionCheckoutUiMode, type ProviderAcquisitionCommercialMode, type ProviderAcquisitionIntegrationPath, type ProviderAcquisitionObjectType, type ProviderAcquisitionObservedCheckoutUiMode, type ProviderAcquisitionPricingMode, type ProviderAcquisitionReservation, ProxyProviderAcquisitionsResource, proxyCheckoutProviderAcquisitionEndpoints, type ReserveProviderAcquisitionInput, type SupersedeProviderAcquisitionInput, } from "./provider-acquisitions.js";
8
8
  export { type CreateProxySessionHandoffInput, type CreateProxySessionInput, type CreateProxySessionOptions, type MarkProxySessionProvisionedInput, type MarkProxySessionProvisioningFailedInput, type MerchantProxySession, type PayerHandoffResult, type PayerOpenedResult, type ProxySession, type ProxySessionAcquisitionSummary, type ProxySessionActionableNextStep, ProxySessionCartResource, type ProxySessionCartResult, type ProxySessionHandoff, type ProxySessionPresentationState, type ProxySessionProviderBinding, type ProxySessionProvisioningAcknowledgement, ProxySessionsResource, type ProxySessionViewStatus, proxyCheckoutServerEndpoints, type RecordProviderBindingInput, type SetProxySessionCartInput, type TypedMerchantProxySession, } from "./sessions.js";
9
9
  export { type MerchantProxySubscription, ProxySubscriptionsResource, type ProxySubscriptionWithSession, type ProxySubscriptionWithUntypedSession, proxyCheckoutSubscriptionEndpoints, } from "./subscriptions.js";
10
10
  export type { JsonObject, JsonPrimitive, JsonValue, ProxyCheckoutFetch, ProxyCheckoutServerClientOptions, ProxyCheckoutServerRequestOptions, } from "./types.js";
@@ -4,7 +4,7 @@ export { assertCartBuyerReference, assertSubscriptionMatchesSession, } from "./c
4
4
  export { isProxySessionNotFoundError, PROXY_SESSION_NOT_FOUND_ERROR_CODE, ProxyCheckoutApiError, type ProxyCheckoutApiErrorDetails, type ProxyCheckoutValidationCode, ProxyCheckoutValidationError, } from "./errors.js";
5
5
  export { ProxyEventsResource, type ResolvedIgnored, type ResolvedInitialProvision, type ResolvedPaymentAttempt, type ResolvedPaymentRisk, type ResolvedProxyEvent, type ResolvedProxyEventKind, type ResolvedSubscriptionCancelled, type ResolvedSubscriptionCancelScheduled, type ResolvedSubscriptionRenewed, type ResolvedTerminalSession, type ResolveProxyEventOptions, } from "./events.js";
6
6
  export { AT_RISK_SUBSCRIPTION_STATUSES, ENDED_SUBSCRIPTION_STATUSES, isSessionProvisionable, isSessionTerminal, isSubscriptionEnded, isSubscriptionPaymentAtRisk, PROVISIONABLE_SESSION_STATUSES, parseOptionalProxyDate, requireProxyDate, subscriptionAccessEndsAt, subscriptionWillRenew, TERMINAL_SESSION_STATUSES, } from "./lifecycle.js";
7
- export { type AttachProviderAcquisitionObjectInput, type ProviderAcquisition, type ProviderAcquisitionCheckoutUiMode, type ProviderAcquisitionCommercialMode, type ProviderAcquisitionIntegrationPath, type ProviderAcquisitionObjectType, type ProviderAcquisitionPricingMode, type ProviderAcquisitionReservation, ProxyProviderAcquisitionsResource, proxyCheckoutProviderAcquisitionEndpoints, type ReserveProviderAcquisitionInput, type SupersedeProviderAcquisitionInput, } from "./provider-acquisitions.js";
7
+ export { type AttachProviderAcquisitionObjectInput, type ProviderAcquisition, type ProviderAcquisitionCheckoutUiMode, type ProviderAcquisitionCommercialMode, type ProviderAcquisitionIntegrationPath, type ProviderAcquisitionObjectType, type ProviderAcquisitionObservedCheckoutUiMode, type ProviderAcquisitionPricingMode, type ProviderAcquisitionReservation, ProxyProviderAcquisitionsResource, proxyCheckoutProviderAcquisitionEndpoints, type ReserveProviderAcquisitionInput, type SupersedeProviderAcquisitionInput, } from "./provider-acquisitions.js";
8
8
  export { type CreateProxySessionHandoffInput, type CreateProxySessionInput, type CreateProxySessionOptions, type MarkProxySessionProvisionedInput, type MarkProxySessionProvisioningFailedInput, type MerchantProxySession, type PayerHandoffResult, type PayerOpenedResult, type ProxySession, type ProxySessionAcquisitionSummary, type ProxySessionActionableNextStep, ProxySessionCartResource, type ProxySessionCartResult, type ProxySessionHandoff, type ProxySessionPresentationState, type ProxySessionProviderBinding, type ProxySessionProvisioningAcknowledgement, ProxySessionsResource, type ProxySessionViewStatus, proxyCheckoutServerEndpoints, type RecordProviderBindingInput, type SetProxySessionCartInput, type TypedMerchantProxySession, } from "./sessions.js";
9
9
  export { type MerchantProxySubscription, ProxySubscriptionsResource, type ProxySubscriptionWithSession, type ProxySubscriptionWithUntypedSession, proxyCheckoutSubscriptionEndpoints, } from "./subscriptions.js";
10
10
  export type { JsonObject, JsonPrimitive, JsonValue, ProxyCheckoutFetch, ProxyCheckoutServerClientOptions, ProxyCheckoutServerRequestOptions, } from "./types.js";
@@ -1,13 +1,20 @@
1
1
  import type { ProxyCheckoutHttpClient } from "./http-client.js";
2
2
  import type { ProxyCheckoutServerRequestOptions } from "./types.js";
3
- export type ProviderAcquisitionCommercialMode = "one_time" | "subscription";
4
- export type ProviderAcquisitionIntegrationPath = "checkout_session" | "direct_subscription" | "payment_intent";
5
- export type ProviderAcquisitionCheckoutUiMode = "custom" | "embedded" | "hosted";
6
- export type ProviderAcquisitionPricingMode = "fixed" | "provider_finalized";
7
- export type ProviderAcquisitionObjectType = "checkout_session" | "payment_intent" | "setup_intent" | "subscription";
3
+ declare const providerAcquisitionCheckoutUiModes: readonly ["custom", "embedded", "hosted"];
4
+ declare const providerAcquisitionObservedCheckoutUiModes: readonly ["custom", "embedded", "hosted", "unknown"];
5
+ declare const providerAcquisitionCommercialModes: readonly ["one_time", "subscription"];
6
+ declare const providerAcquisitionIntegrationPaths: readonly ["checkout_session", "direct_subscription", "payment_intent"];
7
+ declare const providerAcquisitionObjectTypes: readonly ["checkout_session", "payment_intent", "setup_intent", "subscription"];
8
+ declare const providerAcquisitionPricingModes: readonly ["fixed", "provider_finalized"];
9
+ export type ProviderAcquisitionCheckoutUiMode = (typeof providerAcquisitionCheckoutUiModes)[number];
10
+ export type ProviderAcquisitionObservedCheckoutUiMode = (typeof providerAcquisitionObservedCheckoutUiModes)[number];
11
+ export type ProviderAcquisitionCommercialMode = (typeof providerAcquisitionCommercialModes)[number];
12
+ export type ProviderAcquisitionIntegrationPath = (typeof providerAcquisitionIntegrationPaths)[number];
13
+ export type ProviderAcquisitionObjectType = (typeof providerAcquisitionObjectTypes)[number];
14
+ export type ProviderAcquisitionPricingMode = (typeof providerAcquisitionPricingModes)[number];
8
15
  export interface ProviderAcquisition {
9
16
  readonly attemptNumber: number;
10
- readonly checkoutUiMode: ProviderAcquisitionCheckoutUiMode | "unknown" | null;
17
+ readonly checkoutUiMode: ProviderAcquisitionObservedCheckoutUiMode | null;
11
18
  readonly commercialMode: ProviderAcquisitionCommercialMode;
12
19
  readonly completionRecordedAt: string | null;
13
20
  readonly createdAt: string;
@@ -96,3 +103,4 @@ export declare class ProxyProviderAcquisitionsResource {
96
103
  supersedeProviderAcquisition(proxySessionId: string, acquisitionAttemptId: string, input: SupersedeProviderAcquisitionInput): Promise<ProviderAcquisitionReservation>;
97
104
  listProviderAcquisitions(proxySessionId: string, options?: ProxyCheckoutServerRequestOptions): Promise<ProviderAcquisition[]>;
98
105
  }
106
+ export {};
@@ -1,13 +1,20 @@
1
1
  import type { ProxyCheckoutHttpClient } from "./http-client.js";
2
2
  import type { ProxyCheckoutServerRequestOptions } from "./types.js";
3
- export type ProviderAcquisitionCommercialMode = "one_time" | "subscription";
4
- export type ProviderAcquisitionIntegrationPath = "checkout_session" | "direct_subscription" | "payment_intent";
5
- export type ProviderAcquisitionCheckoutUiMode = "custom" | "embedded" | "hosted";
6
- export type ProviderAcquisitionPricingMode = "fixed" | "provider_finalized";
7
- export type ProviderAcquisitionObjectType = "checkout_session" | "payment_intent" | "setup_intent" | "subscription";
3
+ declare const providerAcquisitionCheckoutUiModes: readonly ["custom", "embedded", "hosted"];
4
+ declare const providerAcquisitionObservedCheckoutUiModes: readonly ["custom", "embedded", "hosted", "unknown"];
5
+ declare const providerAcquisitionCommercialModes: readonly ["one_time", "subscription"];
6
+ declare const providerAcquisitionIntegrationPaths: readonly ["checkout_session", "direct_subscription", "payment_intent"];
7
+ declare const providerAcquisitionObjectTypes: readonly ["checkout_session", "payment_intent", "setup_intent", "subscription"];
8
+ declare const providerAcquisitionPricingModes: readonly ["fixed", "provider_finalized"];
9
+ export type ProviderAcquisitionCheckoutUiMode = (typeof providerAcquisitionCheckoutUiModes)[number];
10
+ export type ProviderAcquisitionObservedCheckoutUiMode = (typeof providerAcquisitionObservedCheckoutUiModes)[number];
11
+ export type ProviderAcquisitionCommercialMode = (typeof providerAcquisitionCommercialModes)[number];
12
+ export type ProviderAcquisitionIntegrationPath = (typeof providerAcquisitionIntegrationPaths)[number];
13
+ export type ProviderAcquisitionObjectType = (typeof providerAcquisitionObjectTypes)[number];
14
+ export type ProviderAcquisitionPricingMode = (typeof providerAcquisitionPricingModes)[number];
8
15
  export interface ProviderAcquisition {
9
16
  readonly attemptNumber: number;
10
- readonly checkoutUiMode: ProviderAcquisitionCheckoutUiMode | "unknown" | null;
17
+ readonly checkoutUiMode: ProviderAcquisitionObservedCheckoutUiMode | null;
11
18
  readonly commercialMode: ProviderAcquisitionCommercialMode;
12
19
  readonly completionRecordedAt: string | null;
13
20
  readonly createdAt: string;
@@ -96,3 +103,4 @@ export declare class ProxyProviderAcquisitionsResource {
96
103
  supersedeProviderAcquisition(proxySessionId: string, acquisitionAttemptId: string, input: SupersedeProviderAcquisitionInput): Promise<ProviderAcquisitionReservation>;
97
104
  listProviderAcquisitions(proxySessionId: string, options?: ProxyCheckoutServerRequestOptions): Promise<ProviderAcquisition[]>;
98
105
  }
106
+ export {};
@@ -2,6 +2,25 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ProxyProviderAcquisitionsResource = exports.proxyCheckoutProviderAcquisitionEndpoints = void 0;
4
4
  const response_validators_js_1 = require("./response-validators.js");
5
+ const providerAcquisitionCheckoutUiModes = ["custom", "embedded", "hosted"];
6
+ const providerAcquisitionObservedCheckoutUiModes = [
7
+ ...providerAcquisitionCheckoutUiModes,
8
+ "unknown",
9
+ ];
10
+ const providerAcquisitionCommercialModes = ["one_time", "subscription"];
11
+ const providerAcquisitionIntegrationPaths = [
12
+ "checkout_session",
13
+ "direct_subscription",
14
+ "payment_intent",
15
+ ];
16
+ const providerAcquisitionObjectTypes = [
17
+ "checkout_session",
18
+ "payment_intent",
19
+ "setup_intent",
20
+ "subscription",
21
+ ];
22
+ const providerAcquisitionPricingModes = ["fixed", "provider_finalized"];
23
+ const providerAcquisitionPsps = ["stripe"];
5
24
  exports.proxyCheckoutProviderAcquisitionEndpoints = [
6
25
  {
7
26
  method: "POST",
@@ -108,25 +127,25 @@ function parseAcquisition(value, operation) {
108
127
  const body = (0, response_validators_js_1.requireJsonObject)(value, operation);
109
128
  return {
110
129
  attemptNumber: (0, response_validators_js_1.requireInteger)(body.attempt_number, `${operation}.attemptNumber`),
111
- checkoutUiMode: (0, response_validators_js_1.requireNullableString)(body.checkout_ui_mode, `${operation}.checkoutUiMode`),
112
- commercialMode: (0, response_validators_js_1.requireString)(body.commercial_mode, `${operation}.commercialMode`),
130
+ checkoutUiMode: requireNullableEnum(body.checkout_ui_mode, `${operation}.checkoutUiMode`, providerAcquisitionObservedCheckoutUiModes),
131
+ commercialMode: requireEnum(body.commercial_mode, `${operation}.commercialMode`, providerAcquisitionCommercialModes),
113
132
  completionRecordedAt: (0, response_validators_js_1.requireNullableString)(body.completion_recorded_at, `${operation}.completionRecordedAt`),
114
133
  createdAt: (0, response_validators_js_1.requireString)(body.created_at, `${operation}.createdAt`),
115
134
  directFeeBasisSource: (0, response_validators_js_1.requireNullableString)(body.direct_fee_basis_source, `${operation}.directFeeBasisSource`),
116
135
  directMerchandiseCurrency: (0, response_validators_js_1.requireNullableString)(body.direct_merchandise_currency, `${operation}.directMerchandiseCurrency`),
117
136
  directMerchandiseSubtotalMinor: (0, response_validators_js_1.requireNullableInteger)(body.direct_merchandise_subtotal_minor, `${operation}.directMerchandiseSubtotalMinor`),
118
137
  id: (0, response_validators_js_1.requireString)(body.id, `${operation}.id`),
119
- integrationPath: (0, response_validators_js_1.requireString)(body.integration_path, `${operation}.integrationPath`),
138
+ integrationPath: requireEnum(body.integration_path, `${operation}.integrationPath`, providerAcquisitionIntegrationPaths),
120
139
  merchantPspConfigId: (0, response_validators_js_1.requireString)(body.merchant_psp_config_id, `${operation}.merchantPspConfigId`),
121
- pricingMode: (0, response_validators_js_1.requireString)(body.pricing_mode, `${operation}.pricingMode`),
140
+ pricingMode: requireEnum(body.pricing_mode, `${operation}.pricingMode`, providerAcquisitionPricingModes),
122
141
  providerCreatedAt: (0, response_validators_js_1.requireNullableString)(body.provider_created_at, `${operation}.providerCreatedAt`),
123
142
  providerCustomerId: (0, response_validators_js_1.requireNullableString)(body.provider_customer_id, `${operation}.providerCustomerId`),
124
143
  providerRetryNotAfter: (0, response_validators_js_1.requireString)(body.provider_retry_not_after, `${operation}.providerRetryNotAfter`),
125
144
  providerRootObjectId: (0, response_validators_js_1.requireNullableString)(body.provider_root_object_id, `${operation}.providerRootObjectId`),
126
- providerRootObjectType: (0, response_validators_js_1.requireNullableString)(body.provider_root_object_type, `${operation}.providerRootObjectType`),
145
+ providerRootObjectType: requireNullableEnum(body.provider_root_object_type, `${operation}.providerRootObjectType`, providerAcquisitionObjectTypes),
127
146
  providerSetupIntentId: (0, response_validators_js_1.requireNullableString)(body.provider_setup_intent_id, `${operation}.providerSetupIntentId`),
128
147
  proxySessionId: (0, response_validators_js_1.requireString)(body.proxy_session_id, `${operation}.proxySessionId`),
129
- psp: (0, response_validators_js_1.requireString)(body.psp, `${operation}.psp`),
148
+ psp: requireEnum(body.psp, `${operation}.psp`, providerAcquisitionPsps),
130
149
  status: (0, response_validators_js_1.requireString)(body.status, `${operation}.status`),
131
150
  statusReason: (0, response_validators_js_1.requireNullableString)(body.status_reason, `${operation}.statusReason`),
132
151
  supersedesAttemptId: (0, response_validators_js_1.requireNullableString)(body.supersedes_attempt_id, `${operation}.supersedesAttemptId`),
@@ -134,3 +153,16 @@ function parseAcquisition(value, operation) {
134
153
  version: (0, response_validators_js_1.requireInteger)(body.version, `${operation}.version`),
135
154
  };
136
155
  }
156
+ function requireEnum(value, field, values) {
157
+ const parsed = (0, response_validators_js_1.requireString)(value, field);
158
+ if (!isEnumValue(parsed, values)) {
159
+ throw new Error(`Proxy API response field ${field} must be one of: ${values.join(", ")}.`);
160
+ }
161
+ return parsed;
162
+ }
163
+ function requireNullableEnum(value, field, values) {
164
+ return value === null ? null : requireEnum(value, field, values);
165
+ }
166
+ function isEnumValue(value, values) {
167
+ return values.some((candidate) => candidate === value);
168
+ }
@@ -1,3 +1,3 @@
1
1
  export declare const proxyCheckoutServerSdkName = "@proxy-checkout/server-js";
2
- export declare const proxyCheckoutServerSdkVersion = "0.0.8-prx-124.134.1";
3
- export declare const proxyCheckoutServerSdkUserAgent = "@proxy-checkout/server-js/0.0.8-prx-124.134.1";
2
+ export declare const proxyCheckoutServerSdkVersion = "0.0.8-prx-124.135.1";
3
+ export declare const proxyCheckoutServerSdkUserAgent = "@proxy-checkout/server-js/0.0.8-prx-124.135.1";
@@ -1,3 +1,3 @@
1
1
  export declare const proxyCheckoutServerSdkName = "@proxy-checkout/server-js";
2
- export declare const proxyCheckoutServerSdkVersion = "0.0.8-prx-124.134.1";
3
- export declare const proxyCheckoutServerSdkUserAgent = "@proxy-checkout/server-js/0.0.8-prx-124.134.1";
2
+ export declare const proxyCheckoutServerSdkVersion = "0.0.8-prx-124.135.1";
3
+ export declare const proxyCheckoutServerSdkUserAgent = "@proxy-checkout/server-js/0.0.8-prx-124.135.1";
@@ -2,5 +2,5 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.proxyCheckoutServerSdkUserAgent = exports.proxyCheckoutServerSdkVersion = exports.proxyCheckoutServerSdkName = void 0;
4
4
  exports.proxyCheckoutServerSdkName = "@proxy-checkout/server-js";
5
- exports.proxyCheckoutServerSdkVersion = "0.0.8-prx-124.134.1";
5
+ exports.proxyCheckoutServerSdkVersion = "0.0.8-prx-124.135.1";
6
6
  exports.proxyCheckoutServerSdkUserAgent = `${exports.proxyCheckoutServerSdkName}/${exports.proxyCheckoutServerSdkVersion}`;
@@ -4,7 +4,7 @@ export { assertCartBuyerReference, assertSubscriptionMatchesSession, } from "./c
4
4
  export { isProxySessionNotFoundError, PROXY_SESSION_NOT_FOUND_ERROR_CODE, ProxyCheckoutApiError, type ProxyCheckoutApiErrorDetails, type ProxyCheckoutValidationCode, ProxyCheckoutValidationError, } from "./errors.js";
5
5
  export { ProxyEventsResource, type ResolvedIgnored, type ResolvedInitialProvision, type ResolvedPaymentAttempt, type ResolvedPaymentRisk, type ResolvedProxyEvent, type ResolvedProxyEventKind, type ResolvedSubscriptionCancelled, type ResolvedSubscriptionCancelScheduled, type ResolvedSubscriptionRenewed, type ResolvedTerminalSession, type ResolveProxyEventOptions, } from "./events.js";
6
6
  export { AT_RISK_SUBSCRIPTION_STATUSES, ENDED_SUBSCRIPTION_STATUSES, isSessionProvisionable, isSessionTerminal, isSubscriptionEnded, isSubscriptionPaymentAtRisk, PROVISIONABLE_SESSION_STATUSES, parseOptionalProxyDate, requireProxyDate, subscriptionAccessEndsAt, subscriptionWillRenew, TERMINAL_SESSION_STATUSES, } from "./lifecycle.js";
7
- export { type AttachProviderAcquisitionObjectInput, type ProviderAcquisition, type ProviderAcquisitionCheckoutUiMode, type ProviderAcquisitionCommercialMode, type ProviderAcquisitionIntegrationPath, type ProviderAcquisitionObjectType, type ProviderAcquisitionPricingMode, type ProviderAcquisitionReservation, ProxyProviderAcquisitionsResource, proxyCheckoutProviderAcquisitionEndpoints, type ReserveProviderAcquisitionInput, type SupersedeProviderAcquisitionInput, } from "./provider-acquisitions.js";
7
+ export { type AttachProviderAcquisitionObjectInput, type ProviderAcquisition, type ProviderAcquisitionCheckoutUiMode, type ProviderAcquisitionCommercialMode, type ProviderAcquisitionIntegrationPath, type ProviderAcquisitionObjectType, type ProviderAcquisitionObservedCheckoutUiMode, type ProviderAcquisitionPricingMode, type ProviderAcquisitionReservation, ProxyProviderAcquisitionsResource, proxyCheckoutProviderAcquisitionEndpoints, type ReserveProviderAcquisitionInput, type SupersedeProviderAcquisitionInput, } from "./provider-acquisitions.js";
8
8
  export { type CreateProxySessionHandoffInput, type CreateProxySessionInput, type CreateProxySessionOptions, type MarkProxySessionProvisionedInput, type MarkProxySessionProvisioningFailedInput, type MerchantProxySession, type PayerHandoffResult, type PayerOpenedResult, type ProxySession, type ProxySessionAcquisitionSummary, type ProxySessionActionableNextStep, ProxySessionCartResource, type ProxySessionCartResult, type ProxySessionHandoff, type ProxySessionPresentationState, type ProxySessionProviderBinding, type ProxySessionProvisioningAcknowledgement, ProxySessionsResource, type ProxySessionViewStatus, proxyCheckoutServerEndpoints, type RecordProviderBindingInput, type SetProxySessionCartInput, type TypedMerchantProxySession, } from "./sessions.js";
9
9
  export { type MerchantProxySubscription, ProxySubscriptionsResource, type ProxySubscriptionWithSession, type ProxySubscriptionWithUntypedSession, proxyCheckoutSubscriptionEndpoints, } from "./subscriptions.js";
10
10
  export type { JsonObject, JsonPrimitive, JsonValue, ProxyCheckoutFetch, ProxyCheckoutServerClientOptions, ProxyCheckoutServerRequestOptions, } from "./types.js";
@@ -1,13 +1,20 @@
1
1
  import type { ProxyCheckoutHttpClient } from "./http-client.js";
2
2
  import type { ProxyCheckoutServerRequestOptions } from "./types.js";
3
- export type ProviderAcquisitionCommercialMode = "one_time" | "subscription";
4
- export type ProviderAcquisitionIntegrationPath = "checkout_session" | "direct_subscription" | "payment_intent";
5
- export type ProviderAcquisitionCheckoutUiMode = "custom" | "embedded" | "hosted";
6
- export type ProviderAcquisitionPricingMode = "fixed" | "provider_finalized";
7
- export type ProviderAcquisitionObjectType = "checkout_session" | "payment_intent" | "setup_intent" | "subscription";
3
+ declare const providerAcquisitionCheckoutUiModes: readonly ["custom", "embedded", "hosted"];
4
+ declare const providerAcquisitionObservedCheckoutUiModes: readonly ["custom", "embedded", "hosted", "unknown"];
5
+ declare const providerAcquisitionCommercialModes: readonly ["one_time", "subscription"];
6
+ declare const providerAcquisitionIntegrationPaths: readonly ["checkout_session", "direct_subscription", "payment_intent"];
7
+ declare const providerAcquisitionObjectTypes: readonly ["checkout_session", "payment_intent", "setup_intent", "subscription"];
8
+ declare const providerAcquisitionPricingModes: readonly ["fixed", "provider_finalized"];
9
+ export type ProviderAcquisitionCheckoutUiMode = (typeof providerAcquisitionCheckoutUiModes)[number];
10
+ export type ProviderAcquisitionObservedCheckoutUiMode = (typeof providerAcquisitionObservedCheckoutUiModes)[number];
11
+ export type ProviderAcquisitionCommercialMode = (typeof providerAcquisitionCommercialModes)[number];
12
+ export type ProviderAcquisitionIntegrationPath = (typeof providerAcquisitionIntegrationPaths)[number];
13
+ export type ProviderAcquisitionObjectType = (typeof providerAcquisitionObjectTypes)[number];
14
+ export type ProviderAcquisitionPricingMode = (typeof providerAcquisitionPricingModes)[number];
8
15
  export interface ProviderAcquisition {
9
16
  readonly attemptNumber: number;
10
- readonly checkoutUiMode: ProviderAcquisitionCheckoutUiMode | "unknown" | null;
17
+ readonly checkoutUiMode: ProviderAcquisitionObservedCheckoutUiMode | null;
11
18
  readonly commercialMode: ProviderAcquisitionCommercialMode;
12
19
  readonly completionRecordedAt: string | null;
13
20
  readonly createdAt: string;
@@ -96,3 +103,4 @@ export declare class ProxyProviderAcquisitionsResource {
96
103
  supersedeProviderAcquisition(proxySessionId: string, acquisitionAttemptId: string, input: SupersedeProviderAcquisitionInput): Promise<ProviderAcquisitionReservation>;
97
104
  listProviderAcquisitions(proxySessionId: string, options?: ProxyCheckoutServerRequestOptions): Promise<ProviderAcquisition[]>;
98
105
  }
106
+ export {};
@@ -1,4 +1,23 @@
1
1
  import { requireInteger, requireJsonObject, requireNullableInteger, requireNullableString, requireString, } from "./response-validators.js";
2
+ const providerAcquisitionCheckoutUiModes = ["custom", "embedded", "hosted"];
3
+ const providerAcquisitionObservedCheckoutUiModes = [
4
+ ...providerAcquisitionCheckoutUiModes,
5
+ "unknown",
6
+ ];
7
+ const providerAcquisitionCommercialModes = ["one_time", "subscription"];
8
+ const providerAcquisitionIntegrationPaths = [
9
+ "checkout_session",
10
+ "direct_subscription",
11
+ "payment_intent",
12
+ ];
13
+ const providerAcquisitionObjectTypes = [
14
+ "checkout_session",
15
+ "payment_intent",
16
+ "setup_intent",
17
+ "subscription",
18
+ ];
19
+ const providerAcquisitionPricingModes = ["fixed", "provider_finalized"];
20
+ const providerAcquisitionPsps = ["stripe"];
2
21
  export const proxyCheckoutProviderAcquisitionEndpoints = [
3
22
  {
4
23
  method: "POST",
@@ -104,25 +123,25 @@ function parseAcquisition(value, operation) {
104
123
  const body = requireJsonObject(value, operation);
105
124
  return {
106
125
  attemptNumber: requireInteger(body.attempt_number, `${operation}.attemptNumber`),
107
- checkoutUiMode: requireNullableString(body.checkout_ui_mode, `${operation}.checkoutUiMode`),
108
- commercialMode: requireString(body.commercial_mode, `${operation}.commercialMode`),
126
+ checkoutUiMode: requireNullableEnum(body.checkout_ui_mode, `${operation}.checkoutUiMode`, providerAcquisitionObservedCheckoutUiModes),
127
+ commercialMode: requireEnum(body.commercial_mode, `${operation}.commercialMode`, providerAcquisitionCommercialModes),
109
128
  completionRecordedAt: requireNullableString(body.completion_recorded_at, `${operation}.completionRecordedAt`),
110
129
  createdAt: requireString(body.created_at, `${operation}.createdAt`),
111
130
  directFeeBasisSource: requireNullableString(body.direct_fee_basis_source, `${operation}.directFeeBasisSource`),
112
131
  directMerchandiseCurrency: requireNullableString(body.direct_merchandise_currency, `${operation}.directMerchandiseCurrency`),
113
132
  directMerchandiseSubtotalMinor: requireNullableInteger(body.direct_merchandise_subtotal_minor, `${operation}.directMerchandiseSubtotalMinor`),
114
133
  id: requireString(body.id, `${operation}.id`),
115
- integrationPath: requireString(body.integration_path, `${operation}.integrationPath`),
134
+ integrationPath: requireEnum(body.integration_path, `${operation}.integrationPath`, providerAcquisitionIntegrationPaths),
116
135
  merchantPspConfigId: requireString(body.merchant_psp_config_id, `${operation}.merchantPspConfigId`),
117
- pricingMode: requireString(body.pricing_mode, `${operation}.pricingMode`),
136
+ pricingMode: requireEnum(body.pricing_mode, `${operation}.pricingMode`, providerAcquisitionPricingModes),
118
137
  providerCreatedAt: requireNullableString(body.provider_created_at, `${operation}.providerCreatedAt`),
119
138
  providerCustomerId: requireNullableString(body.provider_customer_id, `${operation}.providerCustomerId`),
120
139
  providerRetryNotAfter: requireString(body.provider_retry_not_after, `${operation}.providerRetryNotAfter`),
121
140
  providerRootObjectId: requireNullableString(body.provider_root_object_id, `${operation}.providerRootObjectId`),
122
- providerRootObjectType: requireNullableString(body.provider_root_object_type, `${operation}.providerRootObjectType`),
141
+ providerRootObjectType: requireNullableEnum(body.provider_root_object_type, `${operation}.providerRootObjectType`, providerAcquisitionObjectTypes),
123
142
  providerSetupIntentId: requireNullableString(body.provider_setup_intent_id, `${operation}.providerSetupIntentId`),
124
143
  proxySessionId: requireString(body.proxy_session_id, `${operation}.proxySessionId`),
125
- psp: requireString(body.psp, `${operation}.psp`),
144
+ psp: requireEnum(body.psp, `${operation}.psp`, providerAcquisitionPsps),
126
145
  status: requireString(body.status, `${operation}.status`),
127
146
  statusReason: requireNullableString(body.status_reason, `${operation}.statusReason`),
128
147
  supersedesAttemptId: requireNullableString(body.supersedes_attempt_id, `${operation}.supersedesAttemptId`),
@@ -130,3 +149,16 @@ function parseAcquisition(value, operation) {
130
149
  version: requireInteger(body.version, `${operation}.version`),
131
150
  };
132
151
  }
152
+ function requireEnum(value, field, values) {
153
+ const parsed = requireString(value, field);
154
+ if (!isEnumValue(parsed, values)) {
155
+ throw new Error(`Proxy API response field ${field} must be one of: ${values.join(", ")}.`);
156
+ }
157
+ return parsed;
158
+ }
159
+ function requireNullableEnum(value, field, values) {
160
+ return value === null ? null : requireEnum(value, field, values);
161
+ }
162
+ function isEnumValue(value, values) {
163
+ return values.some((candidate) => candidate === value);
164
+ }
@@ -1,3 +1,3 @@
1
1
  export declare const proxyCheckoutServerSdkName = "@proxy-checkout/server-js";
2
- export declare const proxyCheckoutServerSdkVersion = "0.0.8-prx-124.134.1";
3
- export declare const proxyCheckoutServerSdkUserAgent = "@proxy-checkout/server-js/0.0.8-prx-124.134.1";
2
+ export declare const proxyCheckoutServerSdkVersion = "0.0.8-prx-124.135.1";
3
+ export declare const proxyCheckoutServerSdkUserAgent = "@proxy-checkout/server-js/0.0.8-prx-124.135.1";
@@ -1,3 +1,3 @@
1
1
  export const proxyCheckoutServerSdkName = "@proxy-checkout/server-js";
2
- export const proxyCheckoutServerSdkVersion = "0.0.8-prx-124.134.1";
2
+ export const proxyCheckoutServerSdkVersion = "0.0.8-prx-124.135.1";
3
3
  export const proxyCheckoutServerSdkUserAgent = `${proxyCheckoutServerSdkName}/${proxyCheckoutServerSdkVersion}`;
package/package.json CHANGED
@@ -7,7 +7,7 @@
7
7
  "sideEffects": false,
8
8
  "type": "module",
9
9
  "types": "./dist/esm/index.d.ts",
10
- "version": "0.0.8-prx-124.134.1",
10
+ "version": "0.0.8-prx-124.135.1",
11
11
  "devDependencies": {
12
12
  "@types/node": "^24.12.4",
13
13
  "@vitest/coverage-v8": "4.1.7",