@proxy-checkout/server-js 0.1.0-prx-124.150.1 → 0.1.0-prx-146.153.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.
Files changed (47) hide show
  1. package/README.md +1 -0
  2. package/dist/cjs/client.d.cts +3 -0
  3. package/dist/cjs/client.d.ts +3 -0
  4. package/dist/cjs/client.js +4 -0
  5. package/dist/cjs/errors.d.cts +1 -1
  6. package/dist/cjs/errors.d.ts +1 -1
  7. package/dist/cjs/events.d.cts +10 -1
  8. package/dist/cjs/events.d.ts +10 -1
  9. package/dist/cjs/events.js +26 -0
  10. package/dist/cjs/index.d.cts +2 -1
  11. package/dist/cjs/index.d.ts +2 -1
  12. package/dist/cjs/index.js +4 -1
  13. package/dist/cjs/lifecycle.js +1 -0
  14. package/dist/cjs/live-contract-diagnostics.d.cts +192 -0
  15. package/dist/cjs/live-contract-diagnostics.d.ts +192 -0
  16. package/dist/cjs/live-contract-diagnostics.js +557 -0
  17. package/dist/cjs/provider-acquisitions.d.cts +23 -0
  18. package/dist/cjs/provider-acquisitions.d.ts +23 -0
  19. package/dist/cjs/provider-acquisitions.js +35 -0
  20. package/dist/cjs/subscriptions.d.cts +18 -0
  21. package/dist/cjs/subscriptions.d.ts +18 -0
  22. package/dist/cjs/subscriptions.js +50 -0
  23. package/dist/cjs/version.d.cts +2 -2
  24. package/dist/cjs/version.d.ts +2 -2
  25. package/dist/cjs/version.js +1 -1
  26. package/dist/cjs/webhook-events.d.cts +15 -0
  27. package/dist/cjs/webhook-events.d.ts +15 -0
  28. package/dist/cjs/webhook-events.js +30 -0
  29. package/dist/esm/client.d.ts +3 -0
  30. package/dist/esm/client.js +4 -0
  31. package/dist/esm/errors.d.ts +1 -1
  32. package/dist/esm/events.d.ts +10 -1
  33. package/dist/esm/events.js +26 -0
  34. package/dist/esm/index.d.ts +2 -1
  35. package/dist/esm/index.js +1 -0
  36. package/dist/esm/lifecycle.js +1 -0
  37. package/dist/esm/live-contract-diagnostics.d.ts +192 -0
  38. package/dist/esm/live-contract-diagnostics.js +553 -0
  39. package/dist/esm/provider-acquisitions.d.ts +23 -0
  40. package/dist/esm/provider-acquisitions.js +35 -0
  41. package/dist/esm/subscriptions.d.ts +18 -0
  42. package/dist/esm/subscriptions.js +50 -0
  43. package/dist/esm/version.d.ts +2 -2
  44. package/dist/esm/version.js +1 -1
  45. package/dist/esm/webhook-events.d.ts +15 -0
  46. package/dist/esm/webhook-events.js +30 -0
  47. package/package.json +1 -1
package/README.md CHANGED
@@ -15,6 +15,7 @@ This package should expose the merchant-authenticated backend routes that exist
15
15
  | `proxy.sessions.payerHandoff` | `POST /proxy_sessions/:id/payer_handoff` | Low-level escape hatch. Most delegated checkout integrations should use `createHandoff`. |
16
16
  | `proxy.sessions.payerOpened` | `POST /proxy_sessions/:id/payer_opened` | Low-level escape hatch. Stripe integrations should usually let `@proxy-checkout/stripe-server-js` call this through `openCheckout`. |
17
17
  | `proxy.subscriptions.retrieve` | `GET /subscriptions/:id` | Retrieve current Proxy-linked subscription lifecycle state. |
18
+ | `proxy.liveContractDiagnostics.retrieve` | `GET /stripe_live_contract_diagnostics` | Retrieve bounded, provider-ID-free evidence for a test-mode Stripe live-contract run, including per-session shared-planner shadow comparisons. |
18
19
  | `proxy.webhookEndpoints.list` | `GET /webhook_endpoints` | List outbound merchant webhook endpoints. |
19
20
  | `proxy.webhookEndpoints.create` | `POST /webhook_endpoints` | Create an outbound endpoint and receive its one-time signing secret. |
20
21
  | `proxy.webhookEndpoints.get` | `GET /webhook_endpoints/:id` | Read one outbound endpoint. |
@@ -1,4 +1,5 @@
1
1
  import { ProxyEventsResource } from "./events.js";
2
+ import { ProxyLiveContractDiagnosticsResource } from "./live-contract-diagnostics.js";
2
3
  import { ProxyProviderAcquisitionsResource } from "./provider-acquisitions.js";
3
4
  import { ProxySessionsResource } from "./sessions.js";
4
5
  import { ProxySubscriptionsResource } from "./subscriptions.js";
@@ -10,6 +11,8 @@ export declare class ProxyCheckoutServerClient {
10
11
  readonly sessions: ProxySessionsResource;
11
12
  readonly providerAcquisitions: ProxyProviderAcquisitionsResource;
12
13
  readonly subscriptions: ProxySubscriptionsResource;
14
+ /** Bounded, provider-ID-free evidence for Stripe live-contract validation runs. */
15
+ readonly liveContractDiagnostics: ProxyLiveContractDiagnosticsResource;
13
16
  /** Current-state lifecycle resolver for signed webhook events. */
14
17
  readonly events: ProxyEventsResource;
15
18
  /** Webhook delivery handling: `handle`, `process`, `constructEvent`. */
@@ -1,4 +1,5 @@
1
1
  import { ProxyEventsResource } from "./events.js";
2
+ import { ProxyLiveContractDiagnosticsResource } from "./live-contract-diagnostics.js";
2
3
  import { ProxyProviderAcquisitionsResource } from "./provider-acquisitions.js";
3
4
  import { ProxySessionsResource } from "./sessions.js";
4
5
  import { ProxySubscriptionsResource } from "./subscriptions.js";
@@ -10,6 +11,8 @@ export declare class ProxyCheckoutServerClient {
10
11
  readonly sessions: ProxySessionsResource;
11
12
  readonly providerAcquisitions: ProxyProviderAcquisitionsResource;
12
13
  readonly subscriptions: ProxySubscriptionsResource;
14
+ /** Bounded, provider-ID-free evidence for Stripe live-contract validation runs. */
15
+ readonly liveContractDiagnostics: ProxyLiveContractDiagnosticsResource;
13
16
  /** Current-state lifecycle resolver for signed webhook events. */
14
17
  readonly events: ProxyEventsResource;
15
18
  /** Webhook delivery handling: `handle`, `process`, `constructEvent`. */
@@ -4,6 +4,7 @@ exports.ProxyCheckoutServerClient = void 0;
4
4
  exports.createProxyCheckoutServerClient = createProxyCheckoutServerClient;
5
5
  const events_js_1 = require("./events.js");
6
6
  const http_client_js_1 = require("./http-client.js");
7
+ const live_contract_diagnostics_js_1 = require("./live-contract-diagnostics.js");
7
8
  const provider_acquisitions_js_1 = require("./provider-acquisitions.js");
8
9
  const sessions_js_1 = require("./sessions.js");
9
10
  const subscriptions_js_1 = require("./subscriptions.js");
@@ -14,6 +15,8 @@ class ProxyCheckoutServerClient {
14
15
  sessions;
15
16
  providerAcquisitions;
16
17
  subscriptions;
18
+ /** Bounded, provider-ID-free evidence for Stripe live-contract validation runs. */
19
+ liveContractDiagnostics;
17
20
  /** Current-state lifecycle resolver for signed webhook events. */
18
21
  events;
19
22
  /** Webhook delivery handling: `handle`, `process`, `constructEvent`. */
@@ -33,6 +36,7 @@ class ProxyCheckoutServerClient {
33
36
  });
34
37
  this.providerAcquisitions = new provider_acquisitions_js_1.ProxyProviderAcquisitionsResource(httpClient);
35
38
  this.subscriptions = new subscriptions_js_1.ProxySubscriptionsResource(httpClient, this.sessions);
39
+ this.liveContractDiagnostics = new live_contract_diagnostics_js_1.ProxyLiveContractDiagnosticsResource(httpClient);
36
40
  this.events = new events_js_1.ProxyEventsResource(this.sessions, this.subscriptions, this.providerAcquisitions);
37
41
  this.webhooks = new webhook_handler_js_1.ProxyWebhooksResource(this.events, this.sessions);
38
42
  this.webhookEndpoints = new webhooks_js_1.ProxyWebhookEndpointsResource(httpClient);
@@ -4,7 +4,7 @@ export interface ProxyCheckoutApiErrorDetails {
4
4
  readonly responseBody: unknown;
5
5
  readonly statusCode: number;
6
6
  }
7
- export type ProxyCheckoutValidationCode = "buyer_reference_mismatch" | "cart_invalid" | "cart_version_conflict" | "commercial_mode_required" | "invalid_date" | "invalid_session_presentation" | "provider_acquisition_in_progress" | "provider_binding_missing" | "provider_binding_mismatch" | "subscription_session_mismatch" | "unsupported_provider_option" | "webhook_sessions_resource_missing";
7
+ export type ProxyCheckoutValidationCode = "buyer_reference_mismatch" | "cart_invalid" | "cart_version_conflict" | "acquisition_provider_options_conflict" | "commercial_mode_required" | "invalid_date" | "invalid_session_presentation" | "merchandise_subtotal_invalid" | "provider_acquisition_in_progress" | "provider_binding_missing" | "provider_binding_mismatch" | "subscription_session_mismatch" | "unsupported_provider_option" | "webhook_sessions_resource_missing";
8
8
  /**
9
9
  * Raised when the SDK receives Proxy data it cannot safely normalize, for
10
10
  * example an invalid date string, a cart snapshot that fails the merchant
@@ -4,7 +4,7 @@ export interface ProxyCheckoutApiErrorDetails {
4
4
  readonly responseBody: unknown;
5
5
  readonly statusCode: number;
6
6
  }
7
- export type ProxyCheckoutValidationCode = "buyer_reference_mismatch" | "cart_invalid" | "cart_version_conflict" | "commercial_mode_required" | "invalid_date" | "invalid_session_presentation" | "provider_acquisition_in_progress" | "provider_binding_missing" | "provider_binding_mismatch" | "subscription_session_mismatch" | "unsupported_provider_option" | "webhook_sessions_resource_missing";
7
+ export type ProxyCheckoutValidationCode = "buyer_reference_mismatch" | "cart_invalid" | "cart_version_conflict" | "acquisition_provider_options_conflict" | "commercial_mode_required" | "invalid_date" | "invalid_session_presentation" | "merchandise_subtotal_invalid" | "provider_acquisition_in_progress" | "provider_binding_missing" | "provider_binding_mismatch" | "subscription_session_mismatch" | "unsupported_provider_option" | "webhook_sessions_resource_missing";
8
8
  /**
9
9
  * Raised when the SDK receives Proxy data it cannot safely normalize, for
10
10
  * example an invalid date string, a cart snapshot that fails the merchant
@@ -64,6 +64,15 @@ export interface ResolvedPaymentRisk extends ResolvedBase {
64
64
  readonly subscription: MerchantProxySubscription;
65
65
  readonly willRenew: boolean;
66
66
  }
67
+ export interface ResolvedSubscriptionActionRequired extends ResolvedBase {
68
+ readonly accessEndsAt: Date | null;
69
+ readonly configurationReason: string | null;
70
+ readonly kind: "subscription_action_required";
71
+ readonly latestPaymentStatus: string | null;
72
+ readonly session: MerchantProxySession;
73
+ readonly subscription: MerchantProxySubscription;
74
+ readonly willRenew: boolean;
75
+ }
67
76
  export interface ResolvedTerminalSession extends ResolvedBase {
68
77
  readonly kind: "terminal_session";
69
78
  readonly session: MerchantProxySession;
@@ -85,7 +94,7 @@ export interface ResolvedIgnored extends ResolvedBase {
85
94
  readonly sessionId: string | null;
86
95
  readonly subscriptionId: string | null;
87
96
  }
88
- export type ResolvedProxyEvent = ResolvedInitialProvision | ResolvedSubscriptionChanged | ResolvedSubscriptionRenewed | ResolvedSubscriptionCancelScheduled | ResolvedSubscriptionCancelled | ResolvedPaymentRisk | ResolvedTerminalSession | ResolvedPaymentAttempt | ResolvedAcquisitionProgress | ResolvedIgnored;
97
+ export type ResolvedProxyEvent = ResolvedInitialProvision | ResolvedSubscriptionChanged | ResolvedSubscriptionRenewed | ResolvedSubscriptionCancelScheduled | ResolvedSubscriptionCancelled | ResolvedSubscriptionActionRequired | ResolvedPaymentRisk | ResolvedTerminalSession | ResolvedPaymentAttempt | ResolvedAcquisitionProgress | ResolvedIgnored;
89
98
  export type ResolvedProxyEventKind = ResolvedProxyEvent["kind"];
90
99
  export declare class ProxyEventsResource {
91
100
  private readonly sessions;
@@ -64,6 +64,15 @@ export interface ResolvedPaymentRisk extends ResolvedBase {
64
64
  readonly subscription: MerchantProxySubscription;
65
65
  readonly willRenew: boolean;
66
66
  }
67
+ export interface ResolvedSubscriptionActionRequired extends ResolvedBase {
68
+ readonly accessEndsAt: Date | null;
69
+ readonly configurationReason: string | null;
70
+ readonly kind: "subscription_action_required";
71
+ readonly latestPaymentStatus: string | null;
72
+ readonly session: MerchantProxySession;
73
+ readonly subscription: MerchantProxySubscription;
74
+ readonly willRenew: boolean;
75
+ }
67
76
  export interface ResolvedTerminalSession extends ResolvedBase {
68
77
  readonly kind: "terminal_session";
69
78
  readonly session: MerchantProxySession;
@@ -85,7 +94,7 @@ export interface ResolvedIgnored extends ResolvedBase {
85
94
  readonly sessionId: string | null;
86
95
  readonly subscriptionId: string | null;
87
96
  }
88
- export type ResolvedProxyEvent = ResolvedInitialProvision | ResolvedSubscriptionChanged | ResolvedSubscriptionRenewed | ResolvedSubscriptionCancelScheduled | ResolvedSubscriptionCancelled | ResolvedPaymentRisk | ResolvedTerminalSession | ResolvedPaymentAttempt | ResolvedAcquisitionProgress | ResolvedIgnored;
97
+ export type ResolvedProxyEvent = ResolvedInitialProvision | ResolvedSubscriptionChanged | ResolvedSubscriptionRenewed | ResolvedSubscriptionCancelScheduled | ResolvedSubscriptionCancelled | ResolvedSubscriptionActionRequired | ResolvedPaymentRisk | ResolvedTerminalSession | ResolvedPaymentAttempt | ResolvedAcquisitionProgress | ResolvedIgnored;
89
98
  export type ResolvedProxyEventKind = ResolvedProxyEvent["kind"];
90
99
  export declare class ProxyEventsResource {
91
100
  private readonly sessions;
@@ -136,6 +136,19 @@ class ProxyEventsResource {
136
136
  willRenew: false,
137
137
  };
138
138
  }
139
+ if (subscription.configurationStatus === "action_required" ||
140
+ subscription.latestPaymentStatus === "action_required") {
141
+ return {
142
+ accessEndsAt,
143
+ configurationReason: subscription.configurationReason,
144
+ event,
145
+ kind: "subscription_action_required",
146
+ latestPaymentStatus: subscription.latestPaymentStatus,
147
+ session,
148
+ subscription,
149
+ willRenew: (0, lifecycle_js_1.subscriptionWillRenew)(subscription),
150
+ };
151
+ }
139
152
  if ((0, lifecycle_js_1.isSubscriptionPaymentAtRisk)(subscription)) {
140
153
  return {
141
154
  accessEndsAt,
@@ -157,6 +170,19 @@ class ProxyEventsResource {
157
170
  willRenew: (0, lifecycle_js_1.subscriptionWillRenew)(subscription),
158
171
  };
159
172
  }
173
+ if (event.type === webhook_events_js_1.PROXY_WEBHOOK_EVENT_TYPES.subscriptionCancelScheduleRemoved ||
174
+ event.type === webhook_events_js_1.PROXY_WEBHOOK_EVENT_TYPES.subscriptionPaused ||
175
+ event.type === webhook_events_js_1.PROXY_WEBHOOK_EVENT_TYPES.subscriptionResumed ||
176
+ event.type === webhook_events_js_1.PROXY_WEBHOOK_EVENT_TYPES.subscriptionTrialEnding) {
177
+ return {
178
+ accessEndsAt,
179
+ event,
180
+ kind: "subscription_changed",
181
+ session,
182
+ subscription,
183
+ willRenew: (0, lifecycle_js_1.subscriptionWillRenew)(subscription),
184
+ };
185
+ }
160
186
  return {
161
187
  accessEndsAt,
162
188
  event,
@@ -4,7 +4,8 @@ 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 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 ProviderAcquisitionDirectSubscriptionSource, type ProviderAcquisitionIntegrationPath, type ProviderAcquisitionObjectType, type ProviderAcquisitionObservedCheckoutUiMode, type ProviderAcquisitionPricingMode, type ProviderAcquisitionReservation, ProxyProviderAcquisitionsResource, proxyCheckoutProviderAcquisitionEndpoints, type ReserveProviderAcquisitionInput, type SupersedeProviderAcquisitionInput, } from "./provider-acquisitions.js";
7
+ export { type LiveContractDiagnosticAcquisition, type LiveContractDiagnosticBaseline, type LiveContractDiagnosticDelivery, type LiveContractDiagnosticDeployment, type LiveContractDiagnosticDomainEvent, type LiveContractDiagnosticEvidenceSourceType, type LiveContractDiagnosticFee, type LiveContractDiagnosticFinalCart, type LiveContractDiagnosticInvoice, type LiveContractDiagnosticOutbox, type LiveContractDiagnosticReconciliationIssue, type LiveContractDiagnosticRecovery, type LiveContractDiagnosticSession, type LiveContractDiagnosticShadowComparison, type LiveContractDiagnosticShadowComparisonDisposition, type LiveContractDiagnosticShadowComparisonReasonCode, type LiveContractDiagnosticSubscription, ProxyLiveContractDiagnosticsResource, proxyCheckoutLiveContractDiagnosticEndpoints, type RetrieveLiveContractDiagnosticsInput, type StripeLiveContractDiagnostic, } from "./live-contract-diagnostics.js";
8
+ export { type AttachProviderAcquisitionObjectInput, type ConfirmProviderAcquisitionCartInput, type ProviderAcquisition, type ProviderAcquisitionCartConfirmationInput, 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
9
  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
10
  export { type MerchantProxySubscription, ProxySubscriptionsResource, type ProxySubscriptionWithSession, type ProxySubscriptionWithUntypedSession, proxyCheckoutSubscriptionEndpoints, } from "./subscriptions.js";
10
11
  export type { JsonObject, JsonPrimitive, JsonValue, ProxyCheckoutFetch, ProxyCheckoutServerClientOptions, ProxyCheckoutServerRequestOptions, } from "./types.js";
@@ -4,7 +4,8 @@ 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 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 ProviderAcquisitionDirectSubscriptionSource, type ProviderAcquisitionIntegrationPath, type ProviderAcquisitionObjectType, type ProviderAcquisitionObservedCheckoutUiMode, type ProviderAcquisitionPricingMode, type ProviderAcquisitionReservation, ProxyProviderAcquisitionsResource, proxyCheckoutProviderAcquisitionEndpoints, type ReserveProviderAcquisitionInput, type SupersedeProviderAcquisitionInput, } from "./provider-acquisitions.js";
7
+ export { type LiveContractDiagnosticAcquisition, type LiveContractDiagnosticBaseline, type LiveContractDiagnosticDelivery, type LiveContractDiagnosticDeployment, type LiveContractDiagnosticDomainEvent, type LiveContractDiagnosticEvidenceSourceType, type LiveContractDiagnosticFee, type LiveContractDiagnosticFinalCart, type LiveContractDiagnosticInvoice, type LiveContractDiagnosticOutbox, type LiveContractDiagnosticReconciliationIssue, type LiveContractDiagnosticRecovery, type LiveContractDiagnosticSession, type LiveContractDiagnosticShadowComparison, type LiveContractDiagnosticShadowComparisonDisposition, type LiveContractDiagnosticShadowComparisonReasonCode, type LiveContractDiagnosticSubscription, ProxyLiveContractDiagnosticsResource, proxyCheckoutLiveContractDiagnosticEndpoints, type RetrieveLiveContractDiagnosticsInput, type StripeLiveContractDiagnostic, } from "./live-contract-diagnostics.js";
8
+ export { type AttachProviderAcquisitionObjectInput, type ConfirmProviderAcquisitionCartInput, type ProviderAcquisition, type ProviderAcquisitionCartConfirmationInput, 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
9
  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
10
  export { type MerchantProxySubscription, ProxySubscriptionsResource, type ProxySubscriptionWithSession, type ProxySubscriptionWithUntypedSession, proxyCheckoutSubscriptionEndpoints, } from "./subscriptions.js";
10
11
  export type { JsonObject, JsonPrimitive, JsonValue, ProxyCheckoutFetch, ProxyCheckoutServerClientOptions, ProxyCheckoutServerRequestOptions, } from "./types.js";
package/dist/cjs/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.verifyProxyWebhookSignature = exports.proxyCheckoutWebhookEndpointEndpoints = exports.ProxyWebhookSignatureVerificationError = exports.ProxyWebhookEndpointsResource = exports.PROXY_SIGNATURE_HEADER = exports.constructProxyWebhookEvent = exports.ProxyWebhooksResource = exports.PROXY_WEBHOOK_RETRY_AFTER_SECONDS = exports.PROXY_WEBHOOK_EVENT_TYPES = exports.isProxySubscriptionEvent = exports.isProxyShopifyEvent = exports.isProxySessionEvent = exports.isProxyProviderAcquisitionEvent = exports.isProxyPaymentAttemptEvent = exports.proxyCheckoutServerSdkVersion = exports.proxyCheckoutServerSdkUserAgent = exports.proxyCheckoutServerSdkName = exports.proxyCheckoutSubscriptionEndpoints = exports.ProxySubscriptionsResource = exports.proxyCheckoutServerEndpoints = exports.ProxySessionsResource = exports.ProxySessionCartResource = exports.proxyCheckoutProviderAcquisitionEndpoints = exports.ProxyProviderAcquisitionsResource = exports.TERMINAL_SESSION_STATUSES = exports.subscriptionWillRenew = exports.subscriptionAccessEndsAt = exports.requireProxyDate = exports.parseOptionalProxyDate = exports.PROVISIONABLE_SESSION_STATUSES = exports.isSubscriptionPaymentAtRisk = exports.isSubscriptionEnded = exports.isSessionTerminal = exports.isSessionProvisionable = exports.ENDED_SUBSCRIPTION_STATUSES = exports.AT_RISK_SUBSCRIPTION_STATUSES = exports.ProxyEventsResource = exports.ProxyCheckoutValidationError = exports.ProxyCheckoutApiError = exports.PROXY_SESSION_NOT_FOUND_ERROR_CODE = exports.isProxySessionNotFoundError = exports.assertSubscriptionMatchesSession = exports.assertCartBuyerReference = exports.ProxyCheckoutServerClient = exports.createProxyCheckoutServerClient = exports.parseProxyCart = void 0;
3
+ exports.verifyProxyWebhookSignature = exports.proxyCheckoutWebhookEndpointEndpoints = exports.ProxyWebhookSignatureVerificationError = exports.ProxyWebhookEndpointsResource = exports.PROXY_SIGNATURE_HEADER = exports.constructProxyWebhookEvent = exports.ProxyWebhooksResource = exports.PROXY_WEBHOOK_RETRY_AFTER_SECONDS = exports.PROXY_WEBHOOK_EVENT_TYPES = exports.isProxySubscriptionEvent = exports.isProxyShopifyEvent = exports.isProxySessionEvent = exports.isProxyProviderAcquisitionEvent = exports.isProxyPaymentAttemptEvent = exports.proxyCheckoutServerSdkVersion = exports.proxyCheckoutServerSdkUserAgent = exports.proxyCheckoutServerSdkName = exports.proxyCheckoutSubscriptionEndpoints = exports.ProxySubscriptionsResource = exports.proxyCheckoutServerEndpoints = exports.ProxySessionsResource = exports.ProxySessionCartResource = exports.proxyCheckoutProviderAcquisitionEndpoints = exports.ProxyProviderAcquisitionsResource = exports.proxyCheckoutLiveContractDiagnosticEndpoints = exports.ProxyLiveContractDiagnosticsResource = exports.TERMINAL_SESSION_STATUSES = exports.subscriptionWillRenew = exports.subscriptionAccessEndsAt = exports.requireProxyDate = exports.parseOptionalProxyDate = exports.PROVISIONABLE_SESSION_STATUSES = exports.isSubscriptionPaymentAtRisk = exports.isSubscriptionEnded = exports.isSessionTerminal = exports.isSessionProvisionable = exports.ENDED_SUBSCRIPTION_STATUSES = exports.AT_RISK_SUBSCRIPTION_STATUSES = exports.ProxyEventsResource = exports.ProxyCheckoutValidationError = exports.ProxyCheckoutApiError = exports.PROXY_SESSION_NOT_FOUND_ERROR_CODE = exports.isProxySessionNotFoundError = exports.assertSubscriptionMatchesSession = exports.assertCartBuyerReference = exports.ProxyCheckoutServerClient = exports.createProxyCheckoutServerClient = exports.parseProxyCart = void 0;
4
4
  var cart_js_1 = require("./cart.js");
5
5
  Object.defineProperty(exports, "parseProxyCart", { enumerable: true, get: function () { return cart_js_1.parseProxyCart; } });
6
6
  var client_js_1 = require("./client.js");
@@ -29,6 +29,9 @@ Object.defineProperty(exports, "requireProxyDate", { enumerable: true, get: func
29
29
  Object.defineProperty(exports, "subscriptionAccessEndsAt", { enumerable: true, get: function () { return lifecycle_js_1.subscriptionAccessEndsAt; } });
30
30
  Object.defineProperty(exports, "subscriptionWillRenew", { enumerable: true, get: function () { return lifecycle_js_1.subscriptionWillRenew; } });
31
31
  Object.defineProperty(exports, "TERMINAL_SESSION_STATUSES", { enumerable: true, get: function () { return lifecycle_js_1.TERMINAL_SESSION_STATUSES; } });
32
+ var live_contract_diagnostics_js_1 = require("./live-contract-diagnostics.js");
33
+ Object.defineProperty(exports, "ProxyLiveContractDiagnosticsResource", { enumerable: true, get: function () { return live_contract_diagnostics_js_1.ProxyLiveContractDiagnosticsResource; } });
34
+ Object.defineProperty(exports, "proxyCheckoutLiveContractDiagnosticEndpoints", { enumerable: true, get: function () { return live_contract_diagnostics_js_1.proxyCheckoutLiveContractDiagnosticEndpoints; } });
32
35
  var provider_acquisitions_js_1 = require("./provider-acquisitions.js");
33
36
  Object.defineProperty(exports, "ProxyProviderAcquisitionsResource", { enumerable: true, get: function () { return provider_acquisitions_js_1.ProxyProviderAcquisitionsResource; } });
34
37
  Object.defineProperty(exports, "proxyCheckoutProviderAcquisitionEndpoints", { enumerable: true, get: function () { return provider_acquisitions_js_1.proxyCheckoutProviderAcquisitionEndpoints; } });
@@ -105,5 +105,6 @@ function isSubscriptionEnded(subscription) {
105
105
  /** True when the subscription is live but has a payment problem (past_due / unpaid / failed). */
106
106
  function isSubscriptionPaymentAtRisk(subscription) {
107
107
  return (exports.AT_RISK_SUBSCRIPTION_STATUSES.has(subscription.status) ||
108
+ subscription.latestPaymentStatus === "action_required" ||
108
109
  subscription.latestPaymentStatus === "failed");
109
110
  }
@@ -0,0 +1,192 @@
1
+ import type { ProxyCheckoutHttpClient } from "./http-client.js";
2
+ import type { ProxyCheckoutServerRequestOptions } from "./types.js";
3
+ export type LiveContractDiagnosticEvidenceSourceType = "psp_api_response" | "webhook_event";
4
+ export type LiveContractDiagnosticShadowComparisonDisposition = "expected_divergence" | "legacy_not_applicable" | "match" | "unexpected_divergence";
5
+ export type LiveContractDiagnosticShadowComparisonReasonCode = "legacy_not_applicable" | "match" | "shared_configuration_visibility_added" | "shared_invoice_fee_and_lifecycle_added" | "shared_invoice_fee_added" | "shared_invoice_lifecycle_added" | "shared_invoice_line_evidence_required" | "shared_reconciliation_visibility_added" | "unexpected_divergence";
6
+ export interface RetrieveLiveContractDiagnosticsInput {
7
+ merchantPspConfigId: string;
8
+ runId: string;
9
+ }
10
+ export interface LiveContractDiagnosticDeployment {
11
+ readonly artifactDigest: string | null;
12
+ readonly commitSha: string;
13
+ readonly environment: "local" | "preview" | "production" | "test";
14
+ readonly previewId: string | null;
15
+ }
16
+ export interface LiveContractDiagnosticBaseline {
17
+ readonly activeLifecycleRecoveryWork: number;
18
+ readonly earnedFeeRows: number;
19
+ readonly nonNoneFeeDiagnosticRows: number;
20
+ readonly openAcquisitions: number;
21
+ readonly undeliveredOutboxEvents: number;
22
+ readonly unresolvedReconciliationIssues: number;
23
+ }
24
+ export interface LiveContractDiagnosticAcquisition {
25
+ readonly attemptNumber: number;
26
+ readonly commercialMode: string;
27
+ readonly completionRecorded: boolean;
28
+ readonly customerPresent: boolean;
29
+ readonly directSubscriptionSource: string | null;
30
+ readonly id: string;
31
+ readonly integrationPath: string;
32
+ readonly pricingMode: string;
33
+ readonly providerCartConfirmed: boolean;
34
+ readonly rootObjectPresent: boolean;
35
+ readonly setupIntentEvidenceSourceType: LiveContractDiagnosticEvidenceSourceType | null;
36
+ readonly setupIntentPresent: boolean;
37
+ readonly status: string;
38
+ readonly statusReason: string | null;
39
+ }
40
+ export interface LiveContractDiagnosticSubscription {
41
+ readonly configurationReason: string | null;
42
+ readonly configurationStatus: string;
43
+ readonly id: string;
44
+ readonly latestPaymentEvidenceSourceType: LiveContractDiagnosticEvidenceSourceType | null;
45
+ readonly latestPaymentStatus: string | null;
46
+ readonly latestProxyInvoiceId: string | null;
47
+ readonly lifecycleEvidenceSourceType: LiveContractDiagnosticEvidenceSourceType | null;
48
+ readonly status: string;
49
+ }
50
+ export interface LiveContractDiagnosticInvoice {
51
+ readonly amountDueMinor: number;
52
+ readonly amountPaidMinor: number;
53
+ readonly amountRemainingMinor: number;
54
+ readonly currency: string | null;
55
+ readonly disputeObservationCount: number;
56
+ readonly earnedFeeCount: number;
57
+ readonly id: string;
58
+ readonly linkedPaymentIntentFeeCount: number;
59
+ readonly paymentAttemptCount: number;
60
+ readonly providerPaymentIntentPresent: boolean;
61
+ readonly proxySubscriptionId: string;
62
+ readonly refundObservationCount: number;
63
+ readonly status: string;
64
+ readonly statusEvidenceSourceType: LiveContractDiagnosticEvidenceSourceType | null;
65
+ }
66
+ export interface LiveContractDiagnosticFee {
67
+ readonly basisDiagnostic: string;
68
+ readonly billingCurrency: string;
69
+ readonly earningObjectType: "invoice" | "payment_intent";
70
+ readonly expectedFeeAmountDecimal: string;
71
+ readonly fixedFeeMinor: number;
72
+ readonly id: string;
73
+ readonly paymentAttemptId: string;
74
+ readonly percentageBasisAmountMinor: number;
75
+ readonly percentageBasisSource: string;
76
+ readonly percentageBps: number;
77
+ readonly policyVersion: string;
78
+ readonly providerAcquisitionAttemptId: string | null;
79
+ readonly proxySubscriptionInvoiceId: string | null;
80
+ }
81
+ export interface LiveContractDiagnosticDelivery {
82
+ readonly attemptCount: number;
83
+ readonly id: string;
84
+ readonly status: string;
85
+ readonly transport: "https" | "local_relay";
86
+ }
87
+ export interface LiveContractDiagnosticOutbox {
88
+ readonly attemptCount: number;
89
+ readonly delivery: LiveContractDiagnosticDelivery | null;
90
+ readonly id: string;
91
+ readonly kind: string;
92
+ readonly maxAttempts: number;
93
+ readonly status: string;
94
+ }
95
+ export interface LiveContractDiagnosticDomainEvent {
96
+ readonly id: string;
97
+ readonly outbox: readonly LiveContractDiagnosticOutbox[];
98
+ readonly paymentAttemptId: string | null;
99
+ readonly providerAcquisitionAttemptId: string | null;
100
+ readonly proxySessionId: string | null;
101
+ readonly proxySubscriptionId: string | null;
102
+ readonly proxySubscriptionInvoiceId: string | null;
103
+ readonly type: string;
104
+ readonly visibility: string;
105
+ }
106
+ export interface LiveContractDiagnosticReconciliationIssue {
107
+ readonly id: string;
108
+ readonly issueType: string;
109
+ readonly paymentAttemptId: string | null;
110
+ readonly providerAcquisitionAttemptId: string | null;
111
+ readonly proxySessionId: string | null;
112
+ readonly proxySubscriptionId: string | null;
113
+ readonly proxySubscriptionInvoiceId: string | null;
114
+ readonly status: string;
115
+ }
116
+ export interface LiveContractDiagnosticRecovery {
117
+ readonly attemptCount: number;
118
+ readonly capabilityIds: readonly string[];
119
+ readonly evidenceHash: string | null;
120
+ readonly evidencePresent: boolean;
121
+ readonly id: string;
122
+ readonly maxAttempts: number;
123
+ readonly providerAcquisitionAttemptId: string;
124
+ readonly proxySessionId: string;
125
+ readonly proxySubscriptionId: string | null;
126
+ readonly proxySubscriptionInvoiceId: string | null;
127
+ readonly resultDisposition: "action_required" | "no_change" | "resolved" | "retry" | null;
128
+ readonly resultReason: "completion_contender" | "incomplete_invoice_line_evidence" | "incomplete_invoice_structure" | "incomplete_subscription_configuration" | "invalid_or_unsupported_provider_evidence" | "known_object_not_found" | "stripe_credentials_unavailable" | "subscription_invoice_payment_evidence_conflict" | "unsupported_invoice_payment_evidence" | "unsupported_subscription_configuration" | "unclassified" | null;
129
+ readonly status: string;
130
+ readonly targetType: string;
131
+ }
132
+ export interface LiveContractDiagnosticShadowComparison {
133
+ readonly comparisonHash: string;
134
+ readonly disposition: LiveContractDiagnosticShadowComparisonDisposition;
135
+ readonly observationCount: number;
136
+ readonly reasonCode: LiveContractDiagnosticShadowComparisonReasonCode;
137
+ }
138
+ export interface LiveContractDiagnosticFinalCart {
139
+ readonly amountMinor: number;
140
+ readonly cartVersion: number;
141
+ readonly currency: string;
142
+ readonly finalizedAt: string;
143
+ readonly lineCount: number;
144
+ readonly pricingMode: string;
145
+ readonly snapshotHash: string;
146
+ }
147
+ export interface LiveContractDiagnosticSession {
148
+ readonly acquisitions: readonly LiveContractDiagnosticAcquisition[];
149
+ readonly completedAcquisitionAttemptId: string | null;
150
+ readonly completionWinnerCount: number;
151
+ readonly domainEvents: readonly LiveContractDiagnosticDomainEvent[];
152
+ readonly fees: readonly LiveContractDiagnosticFee[];
153
+ readonly finalCart: LiveContractDiagnosticFinalCart | null;
154
+ readonly id: string;
155
+ readonly invoices: readonly LiveContractDiagnosticInvoice[];
156
+ readonly reconciliationIssues: readonly LiveContractDiagnosticReconciliationIssue[];
157
+ readonly recovery: readonly LiveContractDiagnosticRecovery[];
158
+ readonly shadowComparisons: readonly LiveContractDiagnosticShadowComparison[];
159
+ readonly status: string;
160
+ readonly subscriptions: readonly LiveContractDiagnosticSubscription[];
161
+ }
162
+ export interface StripeLiveContractDiagnostic {
163
+ readonly baseline: LiveContractDiagnosticBaseline;
164
+ readonly config: {
165
+ readonly accountRefHash: string | null;
166
+ readonly id: string;
167
+ readonly ingress: {
168
+ readonly apiVersion: string | null;
169
+ readonly verificationStatus: string;
170
+ } | null;
171
+ readonly lifecycleStatus: string;
172
+ readonly merchantMode: "test";
173
+ readonly unattributedOpenAcquisitionSignal: boolean;
174
+ };
175
+ readonly deployment: LiveContractDiagnosticDeployment;
176
+ readonly run: {
177
+ readonly id: string;
178
+ readonly sessionCount: number;
179
+ readonly sessions: readonly LiveContractDiagnosticSession[];
180
+ };
181
+ readonly version: 1;
182
+ }
183
+ export declare const proxyCheckoutLiveContractDiagnosticEndpoints: readonly [{
184
+ readonly method: "GET";
185
+ readonly operation: "liveContractDiagnostics.retrieve";
186
+ readonly path: "/stripe_live_contract_diagnostics";
187
+ }];
188
+ export declare class ProxyLiveContractDiagnosticsResource {
189
+ private readonly httpClient;
190
+ constructor(httpClient: ProxyCheckoutHttpClient);
191
+ retrieve(input: RetrieveLiveContractDiagnosticsInput, options?: ProxyCheckoutServerRequestOptions): Promise<StripeLiveContractDiagnostic>;
192
+ }
@@ -0,0 +1,192 @@
1
+ import type { ProxyCheckoutHttpClient } from "./http-client.js";
2
+ import type { ProxyCheckoutServerRequestOptions } from "./types.js";
3
+ export type LiveContractDiagnosticEvidenceSourceType = "psp_api_response" | "webhook_event";
4
+ export type LiveContractDiagnosticShadowComparisonDisposition = "expected_divergence" | "legacy_not_applicable" | "match" | "unexpected_divergence";
5
+ export type LiveContractDiagnosticShadowComparisonReasonCode = "legacy_not_applicable" | "match" | "shared_configuration_visibility_added" | "shared_invoice_fee_and_lifecycle_added" | "shared_invoice_fee_added" | "shared_invoice_lifecycle_added" | "shared_invoice_line_evidence_required" | "shared_reconciliation_visibility_added" | "unexpected_divergence";
6
+ export interface RetrieveLiveContractDiagnosticsInput {
7
+ merchantPspConfigId: string;
8
+ runId: string;
9
+ }
10
+ export interface LiveContractDiagnosticDeployment {
11
+ readonly artifactDigest: string | null;
12
+ readonly commitSha: string;
13
+ readonly environment: "local" | "preview" | "production" | "test";
14
+ readonly previewId: string | null;
15
+ }
16
+ export interface LiveContractDiagnosticBaseline {
17
+ readonly activeLifecycleRecoveryWork: number;
18
+ readonly earnedFeeRows: number;
19
+ readonly nonNoneFeeDiagnosticRows: number;
20
+ readonly openAcquisitions: number;
21
+ readonly undeliveredOutboxEvents: number;
22
+ readonly unresolvedReconciliationIssues: number;
23
+ }
24
+ export interface LiveContractDiagnosticAcquisition {
25
+ readonly attemptNumber: number;
26
+ readonly commercialMode: string;
27
+ readonly completionRecorded: boolean;
28
+ readonly customerPresent: boolean;
29
+ readonly directSubscriptionSource: string | null;
30
+ readonly id: string;
31
+ readonly integrationPath: string;
32
+ readonly pricingMode: string;
33
+ readonly providerCartConfirmed: boolean;
34
+ readonly rootObjectPresent: boolean;
35
+ readonly setupIntentEvidenceSourceType: LiveContractDiagnosticEvidenceSourceType | null;
36
+ readonly setupIntentPresent: boolean;
37
+ readonly status: string;
38
+ readonly statusReason: string | null;
39
+ }
40
+ export interface LiveContractDiagnosticSubscription {
41
+ readonly configurationReason: string | null;
42
+ readonly configurationStatus: string;
43
+ readonly id: string;
44
+ readonly latestPaymentEvidenceSourceType: LiveContractDiagnosticEvidenceSourceType | null;
45
+ readonly latestPaymentStatus: string | null;
46
+ readonly latestProxyInvoiceId: string | null;
47
+ readonly lifecycleEvidenceSourceType: LiveContractDiagnosticEvidenceSourceType | null;
48
+ readonly status: string;
49
+ }
50
+ export interface LiveContractDiagnosticInvoice {
51
+ readonly amountDueMinor: number;
52
+ readonly amountPaidMinor: number;
53
+ readonly amountRemainingMinor: number;
54
+ readonly currency: string | null;
55
+ readonly disputeObservationCount: number;
56
+ readonly earnedFeeCount: number;
57
+ readonly id: string;
58
+ readonly linkedPaymentIntentFeeCount: number;
59
+ readonly paymentAttemptCount: number;
60
+ readonly providerPaymentIntentPresent: boolean;
61
+ readonly proxySubscriptionId: string;
62
+ readonly refundObservationCount: number;
63
+ readonly status: string;
64
+ readonly statusEvidenceSourceType: LiveContractDiagnosticEvidenceSourceType | null;
65
+ }
66
+ export interface LiveContractDiagnosticFee {
67
+ readonly basisDiagnostic: string;
68
+ readonly billingCurrency: string;
69
+ readonly earningObjectType: "invoice" | "payment_intent";
70
+ readonly expectedFeeAmountDecimal: string;
71
+ readonly fixedFeeMinor: number;
72
+ readonly id: string;
73
+ readonly paymentAttemptId: string;
74
+ readonly percentageBasisAmountMinor: number;
75
+ readonly percentageBasisSource: string;
76
+ readonly percentageBps: number;
77
+ readonly policyVersion: string;
78
+ readonly providerAcquisitionAttemptId: string | null;
79
+ readonly proxySubscriptionInvoiceId: string | null;
80
+ }
81
+ export interface LiveContractDiagnosticDelivery {
82
+ readonly attemptCount: number;
83
+ readonly id: string;
84
+ readonly status: string;
85
+ readonly transport: "https" | "local_relay";
86
+ }
87
+ export interface LiveContractDiagnosticOutbox {
88
+ readonly attemptCount: number;
89
+ readonly delivery: LiveContractDiagnosticDelivery | null;
90
+ readonly id: string;
91
+ readonly kind: string;
92
+ readonly maxAttempts: number;
93
+ readonly status: string;
94
+ }
95
+ export interface LiveContractDiagnosticDomainEvent {
96
+ readonly id: string;
97
+ readonly outbox: readonly LiveContractDiagnosticOutbox[];
98
+ readonly paymentAttemptId: string | null;
99
+ readonly providerAcquisitionAttemptId: string | null;
100
+ readonly proxySessionId: string | null;
101
+ readonly proxySubscriptionId: string | null;
102
+ readonly proxySubscriptionInvoiceId: string | null;
103
+ readonly type: string;
104
+ readonly visibility: string;
105
+ }
106
+ export interface LiveContractDiagnosticReconciliationIssue {
107
+ readonly id: string;
108
+ readonly issueType: string;
109
+ readonly paymentAttemptId: string | null;
110
+ readonly providerAcquisitionAttemptId: string | null;
111
+ readonly proxySessionId: string | null;
112
+ readonly proxySubscriptionId: string | null;
113
+ readonly proxySubscriptionInvoiceId: string | null;
114
+ readonly status: string;
115
+ }
116
+ export interface LiveContractDiagnosticRecovery {
117
+ readonly attemptCount: number;
118
+ readonly capabilityIds: readonly string[];
119
+ readonly evidenceHash: string | null;
120
+ readonly evidencePresent: boolean;
121
+ readonly id: string;
122
+ readonly maxAttempts: number;
123
+ readonly providerAcquisitionAttemptId: string;
124
+ readonly proxySessionId: string;
125
+ readonly proxySubscriptionId: string | null;
126
+ readonly proxySubscriptionInvoiceId: string | null;
127
+ readonly resultDisposition: "action_required" | "no_change" | "resolved" | "retry" | null;
128
+ readonly resultReason: "completion_contender" | "incomplete_invoice_line_evidence" | "incomplete_invoice_structure" | "incomplete_subscription_configuration" | "invalid_or_unsupported_provider_evidence" | "known_object_not_found" | "stripe_credentials_unavailable" | "subscription_invoice_payment_evidence_conflict" | "unsupported_invoice_payment_evidence" | "unsupported_subscription_configuration" | "unclassified" | null;
129
+ readonly status: string;
130
+ readonly targetType: string;
131
+ }
132
+ export interface LiveContractDiagnosticShadowComparison {
133
+ readonly comparisonHash: string;
134
+ readonly disposition: LiveContractDiagnosticShadowComparisonDisposition;
135
+ readonly observationCount: number;
136
+ readonly reasonCode: LiveContractDiagnosticShadowComparisonReasonCode;
137
+ }
138
+ export interface LiveContractDiagnosticFinalCart {
139
+ readonly amountMinor: number;
140
+ readonly cartVersion: number;
141
+ readonly currency: string;
142
+ readonly finalizedAt: string;
143
+ readonly lineCount: number;
144
+ readonly pricingMode: string;
145
+ readonly snapshotHash: string;
146
+ }
147
+ export interface LiveContractDiagnosticSession {
148
+ readonly acquisitions: readonly LiveContractDiagnosticAcquisition[];
149
+ readonly completedAcquisitionAttemptId: string | null;
150
+ readonly completionWinnerCount: number;
151
+ readonly domainEvents: readonly LiveContractDiagnosticDomainEvent[];
152
+ readonly fees: readonly LiveContractDiagnosticFee[];
153
+ readonly finalCart: LiveContractDiagnosticFinalCart | null;
154
+ readonly id: string;
155
+ readonly invoices: readonly LiveContractDiagnosticInvoice[];
156
+ readonly reconciliationIssues: readonly LiveContractDiagnosticReconciliationIssue[];
157
+ readonly recovery: readonly LiveContractDiagnosticRecovery[];
158
+ readonly shadowComparisons: readonly LiveContractDiagnosticShadowComparison[];
159
+ readonly status: string;
160
+ readonly subscriptions: readonly LiveContractDiagnosticSubscription[];
161
+ }
162
+ export interface StripeLiveContractDiagnostic {
163
+ readonly baseline: LiveContractDiagnosticBaseline;
164
+ readonly config: {
165
+ readonly accountRefHash: string | null;
166
+ readonly id: string;
167
+ readonly ingress: {
168
+ readonly apiVersion: string | null;
169
+ readonly verificationStatus: string;
170
+ } | null;
171
+ readonly lifecycleStatus: string;
172
+ readonly merchantMode: "test";
173
+ readonly unattributedOpenAcquisitionSignal: boolean;
174
+ };
175
+ readonly deployment: LiveContractDiagnosticDeployment;
176
+ readonly run: {
177
+ readonly id: string;
178
+ readonly sessionCount: number;
179
+ readonly sessions: readonly LiveContractDiagnosticSession[];
180
+ };
181
+ readonly version: 1;
182
+ }
183
+ export declare const proxyCheckoutLiveContractDiagnosticEndpoints: readonly [{
184
+ readonly method: "GET";
185
+ readonly operation: "liveContractDiagnostics.retrieve";
186
+ readonly path: "/stripe_live_contract_diagnostics";
187
+ }];
188
+ export declare class ProxyLiveContractDiagnosticsResource {
189
+ private readonly httpClient;
190
+ constructor(httpClient: ProxyCheckoutHttpClient);
191
+ retrieve(input: RetrieveLiveContractDiagnosticsInput, options?: ProxyCheckoutServerRequestOptions): Promise<StripeLiveContractDiagnostic>;
192
+ }