@proxy-checkout/server-js 0.1.0-prx-124.148.1 → 0.1.0-prx-124.149.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.
@@ -35,6 +35,13 @@ export interface ResolvedSubscriptionRenewed extends ResolvedBase {
35
35
  readonly subscription: MerchantProxySubscription;
36
36
  readonly willRenew: boolean;
37
37
  }
38
+ export interface ResolvedSubscriptionChanged extends ResolvedBase {
39
+ readonly accessEndsAt: Date | null;
40
+ readonly kind: "subscription_changed";
41
+ readonly session: MerchantProxySession;
42
+ readonly subscription: MerchantProxySubscription;
43
+ readonly willRenew: boolean;
44
+ }
38
45
  export interface ResolvedSubscriptionCancelScheduled extends ResolvedBase {
39
46
  readonly accessEndsAt: Date | null;
40
47
  readonly kind: "subscription_cancel_scheduled";
@@ -78,7 +85,7 @@ export interface ResolvedIgnored extends ResolvedBase {
78
85
  readonly sessionId: string | null;
79
86
  readonly subscriptionId: string | null;
80
87
  }
81
- export type ResolvedProxyEvent = ResolvedInitialProvision | ResolvedSubscriptionRenewed | ResolvedSubscriptionCancelScheduled | ResolvedSubscriptionCancelled | ResolvedPaymentRisk | ResolvedTerminalSession | ResolvedPaymentAttempt | ResolvedAcquisitionProgress | ResolvedIgnored;
88
+ export type ResolvedProxyEvent = ResolvedInitialProvision | ResolvedSubscriptionChanged | ResolvedSubscriptionRenewed | ResolvedSubscriptionCancelScheduled | ResolvedSubscriptionCancelled | ResolvedPaymentRisk | ResolvedTerminalSession | ResolvedPaymentAttempt | ResolvedAcquisitionProgress | ResolvedIgnored;
82
89
  export type ResolvedProxyEventKind = ResolvedProxyEvent["kind"];
83
90
  export declare class ProxyEventsResource {
84
91
  private readonly sessions;
@@ -35,6 +35,13 @@ export interface ResolvedSubscriptionRenewed extends ResolvedBase {
35
35
  readonly subscription: MerchantProxySubscription;
36
36
  readonly willRenew: boolean;
37
37
  }
38
+ export interface ResolvedSubscriptionChanged extends ResolvedBase {
39
+ readonly accessEndsAt: Date | null;
40
+ readonly kind: "subscription_changed";
41
+ readonly session: MerchantProxySession;
42
+ readonly subscription: MerchantProxySubscription;
43
+ readonly willRenew: boolean;
44
+ }
38
45
  export interface ResolvedSubscriptionCancelScheduled extends ResolvedBase {
39
46
  readonly accessEndsAt: Date | null;
40
47
  readonly kind: "subscription_cancel_scheduled";
@@ -78,7 +85,7 @@ export interface ResolvedIgnored extends ResolvedBase {
78
85
  readonly sessionId: string | null;
79
86
  readonly subscriptionId: string | null;
80
87
  }
81
- export type ResolvedProxyEvent = ResolvedInitialProvision | ResolvedSubscriptionRenewed | ResolvedSubscriptionCancelScheduled | ResolvedSubscriptionCancelled | ResolvedPaymentRisk | ResolvedTerminalSession | ResolvedPaymentAttempt | ResolvedAcquisitionProgress | ResolvedIgnored;
88
+ export type ResolvedProxyEvent = ResolvedInitialProvision | ResolvedSubscriptionChanged | ResolvedSubscriptionRenewed | ResolvedSubscriptionCancelScheduled | ResolvedSubscriptionCancelled | ResolvedPaymentRisk | ResolvedTerminalSession | ResolvedPaymentAttempt | ResolvedAcquisitionProgress | ResolvedIgnored;
82
89
  export type ResolvedProxyEventKind = ResolvedProxyEvent["kind"];
83
90
  export declare class ProxyEventsResource {
84
91
  private readonly sessions;
@@ -147,6 +147,16 @@ class ProxyEventsResource {
147
147
  willRenew: (0, lifecycle_js_1.subscriptionWillRenew)(subscription),
148
148
  };
149
149
  }
150
+ if (event.type === webhook_events_js_1.PROXY_WEBHOOK_EVENT_TYPES.subscriptionChanged) {
151
+ return {
152
+ accessEndsAt,
153
+ event,
154
+ kind: "subscription_changed",
155
+ session,
156
+ subscription,
157
+ willRenew: (0, lifecycle_js_1.subscriptionWillRenew)(subscription),
158
+ };
159
+ }
150
160
  return {
151
161
  accessEndsAt,
152
162
  event,
@@ -2,9 +2,9 @@ export { type ProxyCartParseOptions, type ProxyCartValidator, parseProxyCart, }
2
2
  export { createProxyCheckoutServerClient, ProxyCheckoutServerClient, } from "./client.js";
3
3
  export { assertCartBuyerReference, assertSubscriptionMatchesSession, } from "./consistency.js";
4
4
  export { isProxySessionNotFoundError, PROXY_SESSION_NOT_FOUND_ERROR_CODE, ProxyCheckoutApiError, type ProxyCheckoutApiErrorDetails, type ProxyCheckoutValidationCode, ProxyCheckoutValidationError, } from "./errors.js";
5
- export { ProxyEventsResource, type ResolvedAcquisitionProgress, 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";
5
+ export { ProxyEventsResource, type ResolvedAcquisitionProgress, type ResolvedIgnored, type ResolvedInitialProvision, type ResolvedPaymentAttempt, type ResolvedPaymentRisk, type ResolvedProxyEvent, type ResolvedProxyEventKind, type ResolvedSubscriptionCancelled, type ResolvedSubscriptionCancelScheduled, type ResolvedSubscriptionChanged, 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 ProviderAcquisitionObservedCheckoutUiMode, 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 ProviderAcquisitionDirectSubscriptionSource, 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";
@@ -2,9 +2,9 @@ export { type ProxyCartParseOptions, type ProxyCartValidator, parseProxyCart, }
2
2
  export { createProxyCheckoutServerClient, ProxyCheckoutServerClient, } from "./client.js";
3
3
  export { assertCartBuyerReference, assertSubscriptionMatchesSession, } from "./consistency.js";
4
4
  export { isProxySessionNotFoundError, PROXY_SESSION_NOT_FOUND_ERROR_CODE, ProxyCheckoutApiError, type ProxyCheckoutApiErrorDetails, type ProxyCheckoutValidationCode, ProxyCheckoutValidationError, } from "./errors.js";
5
- export { ProxyEventsResource, type ResolvedAcquisitionProgress, 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";
5
+ export { ProxyEventsResource, type ResolvedAcquisitionProgress, type ResolvedIgnored, type ResolvedInitialProvision, type ResolvedPaymentAttempt, type ResolvedPaymentRisk, type ResolvedProxyEvent, type ResolvedProxyEventKind, type ResolvedSubscriptionCancelled, type ResolvedSubscriptionCancelScheduled, type ResolvedSubscriptionChanged, 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 ProviderAcquisitionObservedCheckoutUiMode, 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 ProviderAcquisitionDirectSubscriptionSource, 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";
@@ -3,12 +3,14 @@ import type { ProxyCheckoutServerRequestOptions } from "./types.js";
3
3
  declare const providerAcquisitionCheckoutUiModes: readonly ["custom", "embedded", "hosted"];
4
4
  declare const providerAcquisitionObservedCheckoutUiModes: readonly ["custom", "embedded", "hosted", "unknown"];
5
5
  declare const providerAcquisitionCommercialModes: readonly ["one_time", "subscription"];
6
+ declare const providerAcquisitionDirectSubscriptionSources: readonly ["saved_payment_method", "setup_intent"];
6
7
  declare const providerAcquisitionIntegrationPaths: readonly ["checkout_session", "direct_subscription", "payment_intent"];
7
8
  declare const providerAcquisitionObjectTypes: readonly ["checkout_session", "payment_intent", "setup_intent", "subscription"];
8
9
  declare const providerAcquisitionPricingModes: readonly ["fixed", "provider_finalized"];
9
10
  export type ProviderAcquisitionCheckoutUiMode = (typeof providerAcquisitionCheckoutUiModes)[number];
10
11
  export type ProviderAcquisitionObservedCheckoutUiMode = (typeof providerAcquisitionObservedCheckoutUiModes)[number];
11
12
  export type ProviderAcquisitionCommercialMode = (typeof providerAcquisitionCommercialModes)[number];
13
+ export type ProviderAcquisitionDirectSubscriptionSource = (typeof providerAcquisitionDirectSubscriptionSources)[number];
12
14
  export type ProviderAcquisitionIntegrationPath = (typeof providerAcquisitionIntegrationPaths)[number];
13
15
  export type ProviderAcquisitionObjectType = (typeof providerAcquisitionObjectTypes)[number];
14
16
  export type ProviderAcquisitionPricingMode = (typeof providerAcquisitionPricingModes)[number];
@@ -21,6 +23,7 @@ export interface ProviderAcquisition {
21
23
  readonly directFeeBasisSource: string | null;
22
24
  readonly directMerchandiseCurrency: string | null;
23
25
  readonly directMerchandiseSubtotalMinor: number | null;
26
+ readonly directSubscriptionSource: ProviderAcquisitionDirectSubscriptionSource | null;
24
27
  readonly id: string;
25
28
  readonly integrationPath: ProviderAcquisitionIntegrationPath;
26
29
  readonly merchantPspConfigId: string;
@@ -57,6 +60,8 @@ export interface ProviderAcquisitionReservation {
57
60
  export interface ReserveProviderAcquisitionInput extends ProxyCheckoutServerRequestOptions {
58
61
  readonly checkoutUiMode?: ProviderAcquisitionCheckoutUiMode;
59
62
  readonly commercialMode: ProviderAcquisitionCommercialMode;
63
+ /** Required only for direct_subscription; selects its exact Stripe preparation branch. */
64
+ readonly directSubscriptionSource?: ProviderAcquisitionDirectSubscriptionSource;
60
65
  readonly integrationPath: ProviderAcquisitionIntegrationPath;
61
66
  /** Optional server-only direct PaymentIntent percentage basis; omit to use verified provider gross. */
62
67
  readonly merchandiseSubtotalMinor?: number;
@@ -74,6 +79,8 @@ export interface SupersedeProviderAcquisitionInput extends ProxyCheckoutServerRe
74
79
  readonly reason: string;
75
80
  readonly replacement: {
76
81
  readonly checkoutUiMode?: ProviderAcquisitionCheckoutUiMode;
82
+ /** Required only for a direct_subscription replacement. */
83
+ readonly directSubscriptionSource?: ProviderAcquisitionDirectSubscriptionSource;
77
84
  readonly integrationPath: ProviderAcquisitionIntegrationPath;
78
85
  readonly providerOptionsFingerprint: string;
79
86
  };
@@ -3,12 +3,14 @@ import type { ProxyCheckoutServerRequestOptions } from "./types.js";
3
3
  declare const providerAcquisitionCheckoutUiModes: readonly ["custom", "embedded", "hosted"];
4
4
  declare const providerAcquisitionObservedCheckoutUiModes: readonly ["custom", "embedded", "hosted", "unknown"];
5
5
  declare const providerAcquisitionCommercialModes: readonly ["one_time", "subscription"];
6
+ declare const providerAcquisitionDirectSubscriptionSources: readonly ["saved_payment_method", "setup_intent"];
6
7
  declare const providerAcquisitionIntegrationPaths: readonly ["checkout_session", "direct_subscription", "payment_intent"];
7
8
  declare const providerAcquisitionObjectTypes: readonly ["checkout_session", "payment_intent", "setup_intent", "subscription"];
8
9
  declare const providerAcquisitionPricingModes: readonly ["fixed", "provider_finalized"];
9
10
  export type ProviderAcquisitionCheckoutUiMode = (typeof providerAcquisitionCheckoutUiModes)[number];
10
11
  export type ProviderAcquisitionObservedCheckoutUiMode = (typeof providerAcquisitionObservedCheckoutUiModes)[number];
11
12
  export type ProviderAcquisitionCommercialMode = (typeof providerAcquisitionCommercialModes)[number];
13
+ export type ProviderAcquisitionDirectSubscriptionSource = (typeof providerAcquisitionDirectSubscriptionSources)[number];
12
14
  export type ProviderAcquisitionIntegrationPath = (typeof providerAcquisitionIntegrationPaths)[number];
13
15
  export type ProviderAcquisitionObjectType = (typeof providerAcquisitionObjectTypes)[number];
14
16
  export type ProviderAcquisitionPricingMode = (typeof providerAcquisitionPricingModes)[number];
@@ -21,6 +23,7 @@ export interface ProviderAcquisition {
21
23
  readonly directFeeBasisSource: string | null;
22
24
  readonly directMerchandiseCurrency: string | null;
23
25
  readonly directMerchandiseSubtotalMinor: number | null;
26
+ readonly directSubscriptionSource: ProviderAcquisitionDirectSubscriptionSource | null;
24
27
  readonly id: string;
25
28
  readonly integrationPath: ProviderAcquisitionIntegrationPath;
26
29
  readonly merchantPspConfigId: string;
@@ -57,6 +60,8 @@ export interface ProviderAcquisitionReservation {
57
60
  export interface ReserveProviderAcquisitionInput extends ProxyCheckoutServerRequestOptions {
58
61
  readonly checkoutUiMode?: ProviderAcquisitionCheckoutUiMode;
59
62
  readonly commercialMode: ProviderAcquisitionCommercialMode;
63
+ /** Required only for direct_subscription; selects its exact Stripe preparation branch. */
64
+ readonly directSubscriptionSource?: ProviderAcquisitionDirectSubscriptionSource;
60
65
  readonly integrationPath: ProviderAcquisitionIntegrationPath;
61
66
  /** Optional server-only direct PaymentIntent percentage basis; omit to use verified provider gross. */
62
67
  readonly merchandiseSubtotalMinor?: number;
@@ -74,6 +79,8 @@ export interface SupersedeProviderAcquisitionInput extends ProxyCheckoutServerRe
74
79
  readonly reason: string;
75
80
  readonly replacement: {
76
81
  readonly checkoutUiMode?: ProviderAcquisitionCheckoutUiMode;
82
+ /** Required only for a direct_subscription replacement. */
83
+ readonly directSubscriptionSource?: ProviderAcquisitionDirectSubscriptionSource;
77
84
  readonly integrationPath: ProviderAcquisitionIntegrationPath;
78
85
  readonly providerOptionsFingerprint: string;
79
86
  };
@@ -8,6 +8,10 @@ const providerAcquisitionObservedCheckoutUiModes = [
8
8
  "unknown",
9
9
  ];
10
10
  const providerAcquisitionCommercialModes = ["one_time", "subscription"];
11
+ const providerAcquisitionDirectSubscriptionSources = [
12
+ "saved_payment_method",
13
+ "setup_intent",
14
+ ];
11
15
  const providerAcquisitionIntegrationPaths = [
12
16
  "checkout_session",
13
17
  "direct_subscription",
@@ -52,6 +56,9 @@ class ProxyProviderAcquisitionsResource {
52
56
  const response = await this.httpClient.request("POST", `/proxy_sessions/${encodeURIComponent(proxySessionId)}/acquisition_attempts`, {
53
57
  ...(input.checkoutUiMode === undefined ? {} : { checkout_ui_mode: input.checkoutUiMode }),
54
58
  commercial_mode: input.commercialMode,
59
+ ...(input.directSubscriptionSource === undefined
60
+ ? {}
61
+ : { direct_subscription_source: input.directSubscriptionSource }),
55
62
  integration_path: input.integrationPath,
56
63
  ...(input.merchandiseSubtotalMinor === undefined
57
64
  ? {}
@@ -78,6 +85,9 @@ class ProxyProviderAcquisitionsResource {
78
85
  ...(input.replacement.checkoutUiMode === undefined
79
86
  ? {}
80
87
  : { checkout_ui_mode: input.replacement.checkoutUiMode }),
88
+ ...(input.replacement.directSubscriptionSource === undefined
89
+ ? {}
90
+ : { direct_subscription_source: input.replacement.directSubscriptionSource }),
81
91
  integration_path: input.replacement.integrationPath,
82
92
  provider_options_fingerprint: input.replacement.providerOptionsFingerprint,
83
93
  },
@@ -134,6 +144,7 @@ function parseAcquisition(value, operation) {
134
144
  directFeeBasisSource: (0, response_validators_js_1.requireNullableString)(body.direct_fee_basis_source, `${operation}.directFeeBasisSource`),
135
145
  directMerchandiseCurrency: (0, response_validators_js_1.requireNullableString)(body.direct_merchandise_currency, `${operation}.directMerchandiseCurrency`),
136
146
  directMerchandiseSubtotalMinor: (0, response_validators_js_1.requireNullableInteger)(body.direct_merchandise_subtotal_minor, `${operation}.directMerchandiseSubtotalMinor`),
147
+ directSubscriptionSource: requireNullableEnum(body.direct_subscription_source, `${operation}.directSubscriptionSource`, providerAcquisitionDirectSubscriptionSources),
137
148
  id: (0, response_validators_js_1.requireString)(body.id, `${operation}.id`),
138
149
  integrationPath: requireEnum(body.integration_path, `${operation}.integrationPath`, providerAcquisitionIntegrationPaths),
139
150
  merchantPspConfigId: (0, response_validators_js_1.requireString)(body.merchant_psp_config_id, `${operation}.merchantPspConfigId`),
@@ -1,3 +1,3 @@
1
1
  export declare const proxyCheckoutServerSdkName = "@proxy-checkout/server-js";
2
- export declare const proxyCheckoutServerSdkVersion = "0.1.0-prx-124.148.1";
3
- export declare const proxyCheckoutServerSdkUserAgent = "@proxy-checkout/server-js/0.1.0-prx-124.148.1";
2
+ export declare const proxyCheckoutServerSdkVersion = "0.1.0-prx-124.149.1";
3
+ export declare const proxyCheckoutServerSdkUserAgent = "@proxy-checkout/server-js/0.1.0-prx-124.149.1";
@@ -1,3 +1,3 @@
1
1
  export declare const proxyCheckoutServerSdkName = "@proxy-checkout/server-js";
2
- export declare const proxyCheckoutServerSdkVersion = "0.1.0-prx-124.148.1";
3
- export declare const proxyCheckoutServerSdkUserAgent = "@proxy-checkout/server-js/0.1.0-prx-124.148.1";
2
+ export declare const proxyCheckoutServerSdkVersion = "0.1.0-prx-124.149.1";
3
+ export declare const proxyCheckoutServerSdkUserAgent = "@proxy-checkout/server-js/0.1.0-prx-124.149.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.1.0-prx-124.148.1";
5
+ exports.proxyCheckoutServerSdkVersion = "0.1.0-prx-124.149.1";
6
6
  exports.proxyCheckoutServerSdkUserAgent = `${exports.proxyCheckoutServerSdkName}/${exports.proxyCheckoutServerSdkVersion}`;
@@ -30,10 +30,8 @@ export declare const PROXY_WEBHOOK_EVENT_TYPES: {
30
30
  readonly subscriptionCancelled: "subscription.cancelled";
31
31
  readonly subscriptionCancelScheduled: "subscription.cancel_scheduled";
32
32
  readonly subscriptionChanged: "subscription.changed";
33
- readonly subscriptionConfigurationActionRequired: "subscription.configuration_action_required";
34
33
  readonly subscriptionPaymentFailed: "subscription.payment_failed";
35
34
  readonly subscriptionRenewed: "subscription.renewed";
36
- readonly subscriptionTrialEnding: "subscription.trial_ending";
37
35
  };
38
36
  export type ProxyWebhookEventType = (typeof PROXY_WEBHOOK_EVENT_TYPES)[keyof typeof PROXY_WEBHOOK_EVENT_TYPES];
39
37
  /** True for `proxy_session.*` events. */
@@ -30,10 +30,8 @@ export declare const PROXY_WEBHOOK_EVENT_TYPES: {
30
30
  readonly subscriptionCancelled: "subscription.cancelled";
31
31
  readonly subscriptionCancelScheduled: "subscription.cancel_scheduled";
32
32
  readonly subscriptionChanged: "subscription.changed";
33
- readonly subscriptionConfigurationActionRequired: "subscription.configuration_action_required";
34
33
  readonly subscriptionPaymentFailed: "subscription.payment_failed";
35
34
  readonly subscriptionRenewed: "subscription.renewed";
36
- readonly subscriptionTrialEnding: "subscription.trial_ending";
37
35
  };
38
36
  export type ProxyWebhookEventType = (typeof PROXY_WEBHOOK_EVENT_TYPES)[keyof typeof PROXY_WEBHOOK_EVENT_TYPES];
39
37
  /** True for `proxy_session.*` events. */
@@ -38,10 +38,8 @@ exports.PROXY_WEBHOOK_EVENT_TYPES = {
38
38
  subscriptionCancelled: "subscription.cancelled",
39
39
  subscriptionCancelScheduled: "subscription.cancel_scheduled",
40
40
  subscriptionChanged: "subscription.changed",
41
- subscriptionConfigurationActionRequired: "subscription.configuration_action_required",
42
41
  subscriptionPaymentFailed: "subscription.payment_failed",
43
42
  subscriptionRenewed: "subscription.renewed",
44
- subscriptionTrialEnding: "subscription.trial_ending",
45
43
  };
46
44
  const SESSION_EVENT_TYPES = new Set([
47
45
  exports.PROXY_WEBHOOK_EVENT_TYPES.sessionCancelled,
@@ -55,10 +53,8 @@ const SUBSCRIPTION_EVENT_TYPES = new Set([
55
53
  exports.PROXY_WEBHOOK_EVENT_TYPES.subscriptionCancelScheduled,
56
54
  exports.PROXY_WEBHOOK_EVENT_TYPES.subscriptionCancelled,
57
55
  exports.PROXY_WEBHOOK_EVENT_TYPES.subscriptionChanged,
58
- exports.PROXY_WEBHOOK_EVENT_TYPES.subscriptionConfigurationActionRequired,
59
56
  exports.PROXY_WEBHOOK_EVENT_TYPES.subscriptionPaymentFailed,
60
57
  exports.PROXY_WEBHOOK_EVENT_TYPES.subscriptionRenewed,
61
- exports.PROXY_WEBHOOK_EVENT_TYPES.subscriptionTrialEnding,
62
58
  ]);
63
59
  const PAYMENT_ATTEMPT_EVENT_TYPES = new Set([
64
60
  exports.PROXY_WEBHOOK_EVENT_TYPES.paymentAttemptCancelled,
@@ -35,6 +35,13 @@ export interface ResolvedSubscriptionRenewed extends ResolvedBase {
35
35
  readonly subscription: MerchantProxySubscription;
36
36
  readonly willRenew: boolean;
37
37
  }
38
+ export interface ResolvedSubscriptionChanged extends ResolvedBase {
39
+ readonly accessEndsAt: Date | null;
40
+ readonly kind: "subscription_changed";
41
+ readonly session: MerchantProxySession;
42
+ readonly subscription: MerchantProxySubscription;
43
+ readonly willRenew: boolean;
44
+ }
38
45
  export interface ResolvedSubscriptionCancelScheduled extends ResolvedBase {
39
46
  readonly accessEndsAt: Date | null;
40
47
  readonly kind: "subscription_cancel_scheduled";
@@ -78,7 +85,7 @@ export interface ResolvedIgnored extends ResolvedBase {
78
85
  readonly sessionId: string | null;
79
86
  readonly subscriptionId: string | null;
80
87
  }
81
- export type ResolvedProxyEvent = ResolvedInitialProvision | ResolvedSubscriptionRenewed | ResolvedSubscriptionCancelScheduled | ResolvedSubscriptionCancelled | ResolvedPaymentRisk | ResolvedTerminalSession | ResolvedPaymentAttempt | ResolvedAcquisitionProgress | ResolvedIgnored;
88
+ export type ResolvedProxyEvent = ResolvedInitialProvision | ResolvedSubscriptionChanged | ResolvedSubscriptionRenewed | ResolvedSubscriptionCancelScheduled | ResolvedSubscriptionCancelled | ResolvedPaymentRisk | ResolvedTerminalSession | ResolvedPaymentAttempt | ResolvedAcquisitionProgress | ResolvedIgnored;
82
89
  export type ResolvedProxyEventKind = ResolvedProxyEvent["kind"];
83
90
  export declare class ProxyEventsResource {
84
91
  private readonly sessions;
@@ -8,7 +8,7 @@
8
8
  */
9
9
  import { assertSubscriptionMatchesSession } from "./consistency.js";
10
10
  import { isSessionProvisionable, isSessionTerminal, isSubscriptionEnded, isSubscriptionPaymentAtRisk, subscriptionAccessEndsAt, subscriptionWillRenew, } from "./lifecycle.js";
11
- import { isProxyPaymentAttemptEvent, isProxyProviderAcquisitionEvent, isProxySessionEvent, isProxySubscriptionEvent, } from "./webhook-events.js";
11
+ import { isProxyPaymentAttemptEvent, isProxyProviderAcquisitionEvent, isProxySessionEvent, isProxySubscriptionEvent, PROXY_WEBHOOK_EVENT_TYPES, } from "./webhook-events.js";
12
12
  export class ProxyEventsResource {
13
13
  sessions;
14
14
  subscriptions;
@@ -144,6 +144,16 @@ export class ProxyEventsResource {
144
144
  willRenew: subscriptionWillRenew(subscription),
145
145
  };
146
146
  }
147
+ if (event.type === PROXY_WEBHOOK_EVENT_TYPES.subscriptionChanged) {
148
+ return {
149
+ accessEndsAt,
150
+ event,
151
+ kind: "subscription_changed",
152
+ session,
153
+ subscription,
154
+ willRenew: subscriptionWillRenew(subscription),
155
+ };
156
+ }
147
157
  return {
148
158
  accessEndsAt,
149
159
  event,
@@ -2,9 +2,9 @@ export { type ProxyCartParseOptions, type ProxyCartValidator, parseProxyCart, }
2
2
  export { createProxyCheckoutServerClient, ProxyCheckoutServerClient, } from "./client.js";
3
3
  export { assertCartBuyerReference, assertSubscriptionMatchesSession, } from "./consistency.js";
4
4
  export { isProxySessionNotFoundError, PROXY_SESSION_NOT_FOUND_ERROR_CODE, ProxyCheckoutApiError, type ProxyCheckoutApiErrorDetails, type ProxyCheckoutValidationCode, ProxyCheckoutValidationError, } from "./errors.js";
5
- export { ProxyEventsResource, type ResolvedAcquisitionProgress, 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";
5
+ export { ProxyEventsResource, type ResolvedAcquisitionProgress, type ResolvedIgnored, type ResolvedInitialProvision, type ResolvedPaymentAttempt, type ResolvedPaymentRisk, type ResolvedProxyEvent, type ResolvedProxyEventKind, type ResolvedSubscriptionCancelled, type ResolvedSubscriptionCancelScheduled, type ResolvedSubscriptionChanged, 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 ProviderAcquisitionObservedCheckoutUiMode, 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 ProviderAcquisitionDirectSubscriptionSource, 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";
@@ -3,12 +3,14 @@ import type { ProxyCheckoutServerRequestOptions } from "./types.js";
3
3
  declare const providerAcquisitionCheckoutUiModes: readonly ["custom", "embedded", "hosted"];
4
4
  declare const providerAcquisitionObservedCheckoutUiModes: readonly ["custom", "embedded", "hosted", "unknown"];
5
5
  declare const providerAcquisitionCommercialModes: readonly ["one_time", "subscription"];
6
+ declare const providerAcquisitionDirectSubscriptionSources: readonly ["saved_payment_method", "setup_intent"];
6
7
  declare const providerAcquisitionIntegrationPaths: readonly ["checkout_session", "direct_subscription", "payment_intent"];
7
8
  declare const providerAcquisitionObjectTypes: readonly ["checkout_session", "payment_intent", "setup_intent", "subscription"];
8
9
  declare const providerAcquisitionPricingModes: readonly ["fixed", "provider_finalized"];
9
10
  export type ProviderAcquisitionCheckoutUiMode = (typeof providerAcquisitionCheckoutUiModes)[number];
10
11
  export type ProviderAcquisitionObservedCheckoutUiMode = (typeof providerAcquisitionObservedCheckoutUiModes)[number];
11
12
  export type ProviderAcquisitionCommercialMode = (typeof providerAcquisitionCommercialModes)[number];
13
+ export type ProviderAcquisitionDirectSubscriptionSource = (typeof providerAcquisitionDirectSubscriptionSources)[number];
12
14
  export type ProviderAcquisitionIntegrationPath = (typeof providerAcquisitionIntegrationPaths)[number];
13
15
  export type ProviderAcquisitionObjectType = (typeof providerAcquisitionObjectTypes)[number];
14
16
  export type ProviderAcquisitionPricingMode = (typeof providerAcquisitionPricingModes)[number];
@@ -21,6 +23,7 @@ export interface ProviderAcquisition {
21
23
  readonly directFeeBasisSource: string | null;
22
24
  readonly directMerchandiseCurrency: string | null;
23
25
  readonly directMerchandiseSubtotalMinor: number | null;
26
+ readonly directSubscriptionSource: ProviderAcquisitionDirectSubscriptionSource | null;
24
27
  readonly id: string;
25
28
  readonly integrationPath: ProviderAcquisitionIntegrationPath;
26
29
  readonly merchantPspConfigId: string;
@@ -57,6 +60,8 @@ export interface ProviderAcquisitionReservation {
57
60
  export interface ReserveProviderAcquisitionInput extends ProxyCheckoutServerRequestOptions {
58
61
  readonly checkoutUiMode?: ProviderAcquisitionCheckoutUiMode;
59
62
  readonly commercialMode: ProviderAcquisitionCommercialMode;
63
+ /** Required only for direct_subscription; selects its exact Stripe preparation branch. */
64
+ readonly directSubscriptionSource?: ProviderAcquisitionDirectSubscriptionSource;
60
65
  readonly integrationPath: ProviderAcquisitionIntegrationPath;
61
66
  /** Optional server-only direct PaymentIntent percentage basis; omit to use verified provider gross. */
62
67
  readonly merchandiseSubtotalMinor?: number;
@@ -74,6 +79,8 @@ export interface SupersedeProviderAcquisitionInput extends ProxyCheckoutServerRe
74
79
  readonly reason: string;
75
80
  readonly replacement: {
76
81
  readonly checkoutUiMode?: ProviderAcquisitionCheckoutUiMode;
82
+ /** Required only for a direct_subscription replacement. */
83
+ readonly directSubscriptionSource?: ProviderAcquisitionDirectSubscriptionSource;
77
84
  readonly integrationPath: ProviderAcquisitionIntegrationPath;
78
85
  readonly providerOptionsFingerprint: string;
79
86
  };
@@ -5,6 +5,10 @@ const providerAcquisitionObservedCheckoutUiModes = [
5
5
  "unknown",
6
6
  ];
7
7
  const providerAcquisitionCommercialModes = ["one_time", "subscription"];
8
+ const providerAcquisitionDirectSubscriptionSources = [
9
+ "saved_payment_method",
10
+ "setup_intent",
11
+ ];
8
12
  const providerAcquisitionIntegrationPaths = [
9
13
  "checkout_session",
10
14
  "direct_subscription",
@@ -49,6 +53,9 @@ export class ProxyProviderAcquisitionsResource {
49
53
  const response = await this.httpClient.request("POST", `/proxy_sessions/${encodeURIComponent(proxySessionId)}/acquisition_attempts`, {
50
54
  ...(input.checkoutUiMode === undefined ? {} : { checkout_ui_mode: input.checkoutUiMode }),
51
55
  commercial_mode: input.commercialMode,
56
+ ...(input.directSubscriptionSource === undefined
57
+ ? {}
58
+ : { direct_subscription_source: input.directSubscriptionSource }),
52
59
  integration_path: input.integrationPath,
53
60
  ...(input.merchandiseSubtotalMinor === undefined
54
61
  ? {}
@@ -75,6 +82,9 @@ export class ProxyProviderAcquisitionsResource {
75
82
  ...(input.replacement.checkoutUiMode === undefined
76
83
  ? {}
77
84
  : { checkout_ui_mode: input.replacement.checkoutUiMode }),
85
+ ...(input.replacement.directSubscriptionSource === undefined
86
+ ? {}
87
+ : { direct_subscription_source: input.replacement.directSubscriptionSource }),
78
88
  integration_path: input.replacement.integrationPath,
79
89
  provider_options_fingerprint: input.replacement.providerOptionsFingerprint,
80
90
  },
@@ -130,6 +140,7 @@ function parseAcquisition(value, operation) {
130
140
  directFeeBasisSource: requireNullableString(body.direct_fee_basis_source, `${operation}.directFeeBasisSource`),
131
141
  directMerchandiseCurrency: requireNullableString(body.direct_merchandise_currency, `${operation}.directMerchandiseCurrency`),
132
142
  directMerchandiseSubtotalMinor: requireNullableInteger(body.direct_merchandise_subtotal_minor, `${operation}.directMerchandiseSubtotalMinor`),
143
+ directSubscriptionSource: requireNullableEnum(body.direct_subscription_source, `${operation}.directSubscriptionSource`, providerAcquisitionDirectSubscriptionSources),
133
144
  id: requireString(body.id, `${operation}.id`),
134
145
  integrationPath: requireEnum(body.integration_path, `${operation}.integrationPath`, providerAcquisitionIntegrationPaths),
135
146
  merchantPspConfigId: requireString(body.merchant_psp_config_id, `${operation}.merchantPspConfigId`),
@@ -1,3 +1,3 @@
1
1
  export declare const proxyCheckoutServerSdkName = "@proxy-checkout/server-js";
2
- export declare const proxyCheckoutServerSdkVersion = "0.1.0-prx-124.148.1";
3
- export declare const proxyCheckoutServerSdkUserAgent = "@proxy-checkout/server-js/0.1.0-prx-124.148.1";
2
+ export declare const proxyCheckoutServerSdkVersion = "0.1.0-prx-124.149.1";
3
+ export declare const proxyCheckoutServerSdkUserAgent = "@proxy-checkout/server-js/0.1.0-prx-124.149.1";
@@ -1,3 +1,3 @@
1
1
  export const proxyCheckoutServerSdkName = "@proxy-checkout/server-js";
2
- export const proxyCheckoutServerSdkVersion = "0.1.0-prx-124.148.1";
2
+ export const proxyCheckoutServerSdkVersion = "0.1.0-prx-124.149.1";
3
3
  export const proxyCheckoutServerSdkUserAgent = `${proxyCheckoutServerSdkName}/${proxyCheckoutServerSdkVersion}`;
@@ -30,10 +30,8 @@ export declare const PROXY_WEBHOOK_EVENT_TYPES: {
30
30
  readonly subscriptionCancelled: "subscription.cancelled";
31
31
  readonly subscriptionCancelScheduled: "subscription.cancel_scheduled";
32
32
  readonly subscriptionChanged: "subscription.changed";
33
- readonly subscriptionConfigurationActionRequired: "subscription.configuration_action_required";
34
33
  readonly subscriptionPaymentFailed: "subscription.payment_failed";
35
34
  readonly subscriptionRenewed: "subscription.renewed";
36
- readonly subscriptionTrialEnding: "subscription.trial_ending";
37
35
  };
38
36
  export type ProxyWebhookEventType = (typeof PROXY_WEBHOOK_EVENT_TYPES)[keyof typeof PROXY_WEBHOOK_EVENT_TYPES];
39
37
  /** True for `proxy_session.*` events. */
@@ -30,10 +30,8 @@ export const PROXY_WEBHOOK_EVENT_TYPES = {
30
30
  subscriptionCancelled: "subscription.cancelled",
31
31
  subscriptionCancelScheduled: "subscription.cancel_scheduled",
32
32
  subscriptionChanged: "subscription.changed",
33
- subscriptionConfigurationActionRequired: "subscription.configuration_action_required",
34
33
  subscriptionPaymentFailed: "subscription.payment_failed",
35
34
  subscriptionRenewed: "subscription.renewed",
36
- subscriptionTrialEnding: "subscription.trial_ending",
37
35
  };
38
36
  const SESSION_EVENT_TYPES = new Set([
39
37
  PROXY_WEBHOOK_EVENT_TYPES.sessionCancelled,
@@ -47,10 +45,8 @@ const SUBSCRIPTION_EVENT_TYPES = new Set([
47
45
  PROXY_WEBHOOK_EVENT_TYPES.subscriptionCancelScheduled,
48
46
  PROXY_WEBHOOK_EVENT_TYPES.subscriptionCancelled,
49
47
  PROXY_WEBHOOK_EVENT_TYPES.subscriptionChanged,
50
- PROXY_WEBHOOK_EVENT_TYPES.subscriptionConfigurationActionRequired,
51
48
  PROXY_WEBHOOK_EVENT_TYPES.subscriptionPaymentFailed,
52
49
  PROXY_WEBHOOK_EVENT_TYPES.subscriptionRenewed,
53
- PROXY_WEBHOOK_EVENT_TYPES.subscriptionTrialEnding,
54
50
  ]);
55
51
  const PAYMENT_ATTEMPT_EVENT_TYPES = new Set([
56
52
  PROXY_WEBHOOK_EVENT_TYPES.paymentAttemptCancelled,
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.1.0-prx-124.148.1",
10
+ "version": "0.1.0-prx-124.149.1",
11
11
  "devDependencies": {
12
12
  "@types/node": "^24.12.4",
13
13
  "@vitest/coverage-v8": "4.1.7",