@proxy-checkout/stripe-server-js 0.1.0-prx-146.161.1 → 0.1.0

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 (65) hide show
  1. package/README.md +15 -113
  2. package/dist/cjs/errors.d.cts +1 -68
  3. package/dist/cjs/errors.d.ts +1 -68
  4. package/dist/cjs/errors.js +1 -86
  5. package/dist/cjs/index.d.cts +4 -10
  6. package/dist/cjs/index.d.ts +4 -10
  7. package/dist/cjs/index.js +1 -24
  8. package/dist/cjs/metadata.d.cts +2 -26
  9. package/dist/cjs/metadata.d.ts +2 -26
  10. package/dist/cjs/metadata.js +3 -73
  11. package/dist/cjs/open-checkout.d.cts +0 -21
  12. package/dist/cjs/open-checkout.d.ts +0 -21
  13. package/dist/cjs/open-checkout.js +38 -310
  14. package/dist/cjs/sync-checkout-cart.d.cts +3 -3
  15. package/dist/cjs/sync-checkout-cart.d.ts +3 -3
  16. package/dist/cjs/sync-checkout-cart.js +22 -92
  17. package/dist/cjs/types.d.cts +0 -199
  18. package/dist/cjs/types.d.ts +0 -199
  19. package/dist/cjs/version.d.cts +1 -1
  20. package/dist/cjs/version.d.ts +1 -1
  21. package/dist/cjs/version.js +1 -1
  22. package/dist/esm/errors.d.ts +1 -68
  23. package/dist/esm/errors.js +0 -80
  24. package/dist/esm/index.d.ts +4 -10
  25. package/dist/esm/index.js +2 -7
  26. package/dist/esm/metadata.d.ts +2 -26
  27. package/dist/esm/metadata.js +2 -69
  28. package/dist/esm/open-checkout.d.ts +0 -21
  29. package/dist/esm/open-checkout.js +40 -312
  30. package/dist/esm/sync-checkout-cart.d.ts +3 -3
  31. package/dist/esm/sync-checkout-cart.js +23 -93
  32. package/dist/esm/types.d.ts +0 -199
  33. package/dist/esm/version.d.ts +1 -1
  34. package/dist/esm/version.js +1 -1
  35. package/package.json +3 -3
  36. package/dist/cjs/acquisition.d.cts +0 -189
  37. package/dist/cjs/acquisition.d.ts +0 -189
  38. package/dist/cjs/acquisition.js +0 -789
  39. package/dist/cjs/compatibility.d.cts +0 -66
  40. package/dist/cjs/compatibility.d.ts +0 -66
  41. package/dist/cjs/compatibility.js +0 -174
  42. package/dist/cjs/open-payment-intent.d.cts +0 -35
  43. package/dist/cjs/open-payment-intent.d.ts +0 -35
  44. package/dist/cjs/open-payment-intent.js +0 -157
  45. package/dist/cjs/open-setup-intent.d.cts +0 -49
  46. package/dist/cjs/open-setup-intent.d.ts +0 -49
  47. package/dist/cjs/open-setup-intent.js +0 -157
  48. package/dist/cjs/open-subscription.d.cts +0 -75
  49. package/dist/cjs/open-subscription.d.ts +0 -75
  50. package/dist/cjs/open-subscription.js +0 -307
  51. package/dist/cjs/subscription-params.d.cts +0 -33
  52. package/dist/cjs/subscription-params.d.ts +0 -33
  53. package/dist/cjs/subscription-params.js +0 -237
  54. package/dist/esm/acquisition.d.ts +0 -189
  55. package/dist/esm/acquisition.js +0 -763
  56. package/dist/esm/compatibility.d.ts +0 -66
  57. package/dist/esm/compatibility.js +0 -168
  58. package/dist/esm/open-payment-intent.d.ts +0 -35
  59. package/dist/esm/open-payment-intent.js +0 -154
  60. package/dist/esm/open-setup-intent.d.ts +0 -49
  61. package/dist/esm/open-setup-intent.js +0 -153
  62. package/dist/esm/open-subscription.d.ts +0 -75
  63. package/dist/esm/open-subscription.js +0 -304
  64. package/dist/esm/subscription-params.d.ts +0 -33
  65. package/dist/esm/subscription-params.js +0 -232
@@ -10,109 +10,17 @@ export type StripeMetadataValue = string | number | null;
10
10
  export type StripeMetadata = Record<string, StripeMetadataValue> | null | undefined;
11
11
  export type StripeMetadataParam = Record<string, StripeMetadataValue> | undefined;
12
12
  export interface StripeCheckoutSessionLike {
13
- readonly amount_subtotal?: number | null;
14
- readonly amount_total?: number | null;
15
13
  readonly client_secret?: string | null;
16
- readonly currency?: string | null;
17
- readonly customer?: null | string | {
18
- readonly id: string;
19
- };
20
14
  readonly id: string;
21
- readonly line_items?: StripeCheckoutLineItemListLike | null;
22
15
  readonly metadata?: StripeMetadata;
23
- readonly mode?: "payment" | "setup" | "subscription" | null;
24
- readonly payment_intent?: string | {
25
- readonly id: string;
26
- } | null;
27
- readonly payment_status?: "no_payment_required" | "paid" | "unpaid" | string;
28
- readonly status?: "complete" | "expired" | "open" | string | null;
29
- readonly ui_mode?: string | null;
30
- readonly url?: string | null;
31
- }
32
- export interface StripeCheckoutLineItemListLike {
33
- readonly data?: readonly StripeCheckoutLineItemLike[];
34
- readonly has_more?: boolean;
35
- }
36
- export interface StripeCheckoutLineItemLike {
37
- readonly description?: string | null;
38
- readonly id?: string;
39
- readonly price?: string | {
40
- readonly currency?: string | null;
41
- readonly id?: string;
42
- readonly product?: string | {
43
- readonly id?: string;
44
- } | null;
45
- readonly recurring?: {
46
- readonly interval?: string;
47
- readonly interval_count?: number;
48
- readonly usage_type?: string;
49
- } | null;
50
- readonly type?: "one_time" | "recurring" | string;
51
- readonly unit_amount?: number | null;
52
- readonly unit_amount_decimal?: unknown;
53
- } | null;
54
- readonly quantity?: number | null;
55
- }
56
- export interface StripeCheckoutLineItemPageLike extends StripeCheckoutLineItemListLike {
57
16
  }
58
17
  export interface StripeSubscriptionLike {
59
- readonly customer?: string | StripeObjectReferenceLike | null;
60
- readonly default_payment_method?: string | StripeObjectReferenceLike | null;
61
18
  readonly id: string;
62
- readonly latest_invoice?: string | StripeInvoiceLike | null;
63
19
  readonly metadata?: StripeMetadata;
64
- readonly status?: string | null;
65
20
  }
66
21
  export interface StripePaymentIntentLike {
67
- readonly amount?: number;
68
- readonly amount_received?: number;
69
- readonly capture_method?: "automatic" | "automatic_async" | "manual" | string;
70
- readonly client_secret?: string | null;
71
- readonly currency?: string;
72
- readonly customer?: null | string | {
73
- readonly id: string;
74
- };
75
- readonly id: string;
76
- readonly metadata?: StripeMetadata;
77
- readonly status?: "canceled" | "processing" | "requires_action" | "requires_capture" | "requires_confirmation" | "requires_payment_method" | "succeeded" | string;
78
- }
79
- export interface StripeObjectReferenceLike {
80
- readonly id: string;
81
- }
82
- export interface StripeSetupIntentLike {
83
- readonly client_secret?: string | null;
84
- readonly customer?: string | StripeObjectReferenceLike | null;
85
22
  readonly id: string;
86
23
  readonly metadata?: StripeMetadata;
87
- readonly payment_method?: string | StripeObjectReferenceLike | null;
88
- readonly payment_method_types?: readonly string[];
89
- readonly status?: string;
90
- readonly usage?: string;
91
- }
92
- export interface StripePaymentMethodLike {
93
- readonly customer?: string | StripeObjectReferenceLike | null;
94
- readonly id: string;
95
- }
96
- export interface StripePriceLike {
97
- readonly active?: boolean;
98
- readonly currency?: string;
99
- readonly id: string;
100
- readonly recurring?: {
101
- readonly interval?: string;
102
- readonly interval_count?: number;
103
- readonly usage_type?: string;
104
- } | null;
105
- readonly unit_amount?: number | null;
106
- }
107
- export interface StripeInvoiceLike {
108
- readonly amount_due?: number;
109
- readonly confirmation_secret?: {
110
- readonly client_secret?: string | null;
111
- readonly type?: string;
112
- } | null;
113
- readonly id: string;
114
- readonly payment_intent?: string | StripePaymentIntentLike | null;
115
- readonly status?: string | null;
116
24
  }
117
25
  export interface StripeCheckoutSessionUpdateParams {
118
26
  readonly line_items?: unknown;
@@ -124,77 +32,10 @@ export type StripeCheckoutSessionCreateParams = object & {
124
32
  readonly enabled?: boolean;
125
33
  };
126
34
  };
127
- readonly line_items?: unknown;
128
35
  readonly metadata?: StripeMetadataParam;
129
36
  readonly mode?: "payment" | "setup" | "subscription";
130
37
  readonly payment_intent_data?: unknown;
131
- readonly return_url?: string;
132
- readonly success_url?: string;
133
38
  readonly subscription_data?: unknown;
134
- readonly ui_mode?: string;
135
- };
136
- export type StripePaymentIntentCreateParams = object & {
137
- readonly amount?: number;
138
- readonly application_fee_amount?: number;
139
- readonly application_fee_percent?: number;
140
- readonly capture_method?: string;
141
- readonly currency?: string;
142
- readonly metadata?: StripeMetadataParam;
143
- readonly on_behalf_of?: unknown;
144
- readonly transfer_data?: unknown;
145
- };
146
- export type StripeSetupIntentCreateParams = object & {
147
- readonly customer?: string;
148
- readonly metadata?: StripeMetadataParam;
149
- readonly payment_method?: unknown;
150
- readonly payment_method_types?: readonly string[];
151
- readonly usage?: string;
152
- };
153
- export interface StripeSubscriptionItemCreateParamsLike {
154
- readonly price?: string;
155
- readonly price_data?: unknown;
156
- readonly quantity?: number;
157
- }
158
- export interface StripeSubscriptionPaymentSettingsLike {
159
- readonly payment_method_options?: {
160
- readonly card?: {
161
- readonly request_three_d_secure?: "any" | "automatic";
162
- };
163
- };
164
- }
165
- /**
166
- * Narrow create shape used by the direct Subscription helper. Additional
167
- * merchant fields remain structurally accepted, then the runtime option policy
168
- * rejects fields that would move pricing or collection outside the supported
169
- * fixed `charge_automatically` contract.
170
- */
171
- export type StripeSubscriptionCreateParams = object & {
172
- readonly add_invoice_items?: unknown;
173
- readonly application_fee_percent?: unknown;
174
- readonly automatic_tax?: {
175
- readonly enabled?: boolean;
176
- } | null;
177
- readonly billing_cycle_anchor?: unknown;
178
- readonly cancel_at?: unknown;
179
- readonly collection_method?: string;
180
- readonly customer?: string;
181
- readonly days_until_due?: unknown;
182
- readonly default_payment_method?: string;
183
- readonly discounts?: readonly unknown[];
184
- readonly expand?: readonly string[];
185
- readonly invoice_settings?: unknown;
186
- readonly items?: readonly StripeSubscriptionItemCreateParamsLike[];
187
- readonly metadata?: StripeMetadataParam;
188
- readonly off_session?: unknown;
189
- readonly on_behalf_of?: unknown;
190
- readonly payment_behavior?: string;
191
- readonly payment_settings?: StripeSubscriptionPaymentSettingsLike;
192
- readonly pending_invoice_item_interval?: unknown;
193
- readonly proration_behavior?: string;
194
- readonly schedule?: unknown;
195
- readonly transfer_data?: unknown;
196
- readonly trial_end?: number | "now";
197
- readonly trial_period_days?: number;
198
39
  };
199
40
  export interface StripeRequestOptionsLike {
200
41
  readonly idempotencyKey?: string;
@@ -206,51 +47,11 @@ export interface StripeRequestOptionsWithoutIdempotencyLike {
206
47
  }
207
48
  export interface StripeCheckoutSessionsApiLike {
208
49
  create(params: unknown, options?: unknown): Promise<StripeCheckoutSessionLike>;
209
- listLineItems?(id: string, params?: unknown, options?: unknown): Promise<StripeCheckoutLineItemPageLike>;
210
50
  retrieve(id: string, params?: unknown, options?: unknown): Promise<StripeCheckoutSessionLike>;
211
- }
212
- /** Checkout Session mutation is used only by the legacy cart-sync helper. */
213
- export interface StripeMutableCheckoutSessionsApiLike extends StripeCheckoutSessionsApiLike {
214
51
  update(id: string, params: unknown, options?: unknown): Promise<StripeCheckoutSessionLike>;
215
52
  }
216
- export interface StripePaymentIntentsApiLike {
217
- create(params: unknown, options?: unknown): Promise<StripePaymentIntentLike>;
218
- retrieve(id: string, params?: unknown, options?: unknown): Promise<StripePaymentIntentLike>;
219
- }
220
- export interface StripeSetupIntentsApiLike {
221
- create(params: unknown, options?: unknown): Promise<StripeSetupIntentLike>;
222
- retrieve(id: string, params?: unknown, options?: unknown): Promise<StripeSetupIntentLike>;
223
- }
224
- export interface StripeSubscriptionsApiLike {
225
- create(params: unknown, options?: unknown): Promise<StripeSubscriptionLike>;
226
- retrieve(id: string, params?: unknown, options?: unknown): Promise<StripeSubscriptionLike>;
227
- }
228
- export interface StripePaymentMethodsApiLike {
229
- retrieve(id: string, params?: unknown, options?: unknown): Promise<StripePaymentMethodLike>;
230
- }
231
- export interface StripePricesApiLike {
232
- retrieve(id: string, params?: unknown, options?: unknown): Promise<StripePriceLike>;
233
- }
234
- export interface StripeSetupIntentClientLike {
235
- readonly setupIntents: StripeSetupIntentsApiLike;
236
- }
237
- export interface StripeDirectSubscriptionClientLike {
238
- readonly paymentMethods: StripePaymentMethodsApiLike;
239
- readonly prices: StripePricesApiLike;
240
- readonly subscriptions: StripeSubscriptionsApiLike;
241
- }
242
- export type StripeSetupSubscriptionClientLike = StripeDirectSubscriptionClientLike & StripeSetupIntentClientLike;
243
53
  export interface StripeClientLike {
244
54
  readonly checkout: {
245
55
  readonly sessions: StripeCheckoutSessionsApiLike;
246
56
  };
247
- readonly paymentIntents?: StripePaymentIntentsApiLike;
248
- }
249
- export interface StripeMutableCheckoutClientLike extends StripeClientLike {
250
- readonly checkout: {
251
- readonly sessions: StripeMutableCheckoutSessionsApiLike;
252
- };
253
- }
254
- export interface StripePaymentIntentClientLike {
255
- readonly paymentIntents: StripePaymentIntentsApiLike;
256
57
  }
@@ -1,2 +1,2 @@
1
1
  export declare const proxyCheckoutStripeServerSdkName = "@proxy-checkout/stripe-server-js";
2
- export declare const proxyCheckoutStripeServerSdkVersion = "0.1.0-prx-146.161.1";
2
+ export declare const proxyCheckoutStripeServerSdkVersion = "0.1.0";
@@ -1,2 +1,2 @@
1
1
  export const proxyCheckoutStripeServerSdkName = "@proxy-checkout/stripe-server-js";
2
- export const proxyCheckoutStripeServerSdkVersion = "0.1.0-prx-146.161.1";
2
+ export const proxyCheckoutStripeServerSdkVersion = "0.1.0";
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "description": "Server-side Stripe adapter for Proxy Checkout acquisition, Checkout, SetupIntent, direct Subscription, and cart sync workflows.",
2
+ "description": "Server-side Stripe adapter for Proxy Checkout: required metadata, provider binding, openCheckout, and cart sync.",
3
3
  "license": "MIT",
4
4
  "module": "./dist/esm/index.js",
5
5
  "name": "@proxy-checkout/stripe-server-js",
@@ -7,14 +7,14 @@
7
7
  "sideEffects": false,
8
8
  "type": "module",
9
9
  "types": "./dist/esm/index.d.ts",
10
- "version": "0.1.0-prx-146.161.1",
10
+ "version": "0.1.0",
11
11
  "devDependencies": {
12
12
  "@types/node": "^24.12.4",
13
13
  "@vitest/coverage-v8": "4.1.7",
14
14
  "stripe": "^21.0.1",
15
15
  "typescript": "^6.0.3",
16
16
  "vitest": "4.1.7",
17
- "@proxy-checkout/server-js": "0.1.0-prx-146.161.1"
17
+ "@proxy-checkout/server-js": "0.1.0"
18
18
  },
19
19
  "exports": {
20
20
  ".": {
@@ -1,189 +0,0 @@
1
- import type { PayerOpenedResult, ProviderAcquisition, ProviderAcquisitionCartConfirmationInput, ProviderAcquisitionCheckoutUiMode, ProviderAcquisitionCommercialMode, ProviderAcquisitionDirectSubscriptionSource, ProviderAcquisitionIntegrationPath, ProviderAcquisitionObjectType, ProviderAcquisitionPricingMode, ProviderAcquisitionReservation, ProxyCartValidator, ProxyCheckoutServerClient, ProxySessionProviderBinding } from "@proxy-checkout/server-js";
2
- import type { StripeCheckoutSessionLike, StripeClientLike, StripeMetadata, StripeMetadataParam, StripeMetadataValue, StripeRequestOptionsLike, StripeRequestOptionsWithoutIdempotencyLike } from "./types.js";
3
- export interface StripeAcquisitionProxyClient {
4
- readonly providerAcquisitions: Pick<ProxyCheckoutServerClient["providerAcquisitions"], "attachProviderAcquisitionObject" | "listProviderAcquisitions" | "reserveProviderAcquisition">;
5
- readonly sessions: Pick<ProxyCheckoutServerClient["sessions"], "parseCart" | "payerOpened">;
6
- }
7
- export interface StripeAcquisitionMetadata {
8
- readonly proxy_acquisition_attempt_id: string;
9
- readonly proxy_contract_version: "2";
10
- readonly proxy_integration_path: ProviderAcquisitionIntegrationPath;
11
- readonly proxy_session_id: string;
12
- }
13
- export interface StripeRootObjectLike {
14
- readonly customer?: null | string | {
15
- readonly id: string;
16
- };
17
- readonly id: string;
18
- }
19
- export interface AcquireStripeRootOptions<TObject extends StripeRootObjectLike> {
20
- readonly checkoutUiMode?: ProviderAcquisitionCheckoutUiMode;
21
- readonly commercialMode: ProviderAcquisitionCommercialMode;
22
- readonly create: (reservation: ProviderAcquisitionReservation) => Promise<TObject>;
23
- readonly directMerchandiseSubtotalMinor?: number;
24
- readonly integrationPath: ProviderAcquisitionIntegrationPath;
25
- readonly objectType: ProviderAcquisitionObjectType;
26
- readonly pricingMode: ProviderAcquisitionPricingMode;
27
- readonly providerOptionsFingerprint: string;
28
- readonly proxy: ProxyCheckoutServerClient;
29
- readonly proxySession: PayerOpenedResult;
30
- readonly requestId?: string;
31
- readonly retrieve: (id: string) => Promise<TObject>;
32
- readonly toConfirmation: (object: TObject) => ProviderAcquisitionCartConfirmationInput;
33
- readonly validateObject: (object: TObject, acquisition: ProviderAcquisition) => void;
34
- }
35
- export interface AcquiredStripeRoot<TObject extends StripeRootObjectLike> {
36
- readonly acquisition: ProviderAcquisition;
37
- readonly object: TObject;
38
- readonly outcome: "acquired";
39
- readonly reservation: ProviderAcquisitionReservation | null;
40
- }
41
- export interface StripeAcquisitionObjectReplayResult<TObject extends StripeRootObjectLike> {
42
- readonly acquisition: ProviderAcquisition;
43
- /** False only when the object still needs a null-or-same Proxy attachment. */
44
- readonly alreadyAttached: boolean;
45
- readonly object: TObject;
46
- }
47
- export interface TerminalStripeRootAcquisition {
48
- readonly outcome: "terminal";
49
- readonly proxySession: PayerOpenedResult;
50
- }
51
- export type AcquireStripeRootResult<TObject extends StripeRootObjectLike> = AcquiredStripeRoot<TObject> | TerminalStripeRootAcquisition;
52
- export type SharedAcquisitionTerminalResult<TCart> = {
53
- readonly cart: TCart;
54
- readonly outcome: "already_paid";
55
- readonly proxySession: PayerOpenedResult;
56
- readonly proxySessionId: string;
57
- readonly sessionStatus: "paid" | "provisionable" | "provisioned" | "provisioning_failed";
58
- } | {
59
- readonly cart: TCart;
60
- readonly outcome: "action_required";
61
- readonly proxySession: PayerOpenedResult;
62
- readonly proxySessionId: string;
63
- readonly sessionStatus: "merchant_action_required";
64
- } | {
65
- readonly cart: TCart;
66
- readonly outcome: "unavailable";
67
- readonly proxySession: PayerOpenedResult;
68
- readonly proxySessionId: string;
69
- readonly sessionStatus: "cancelled" | "created" | "expired" | "failed";
70
- };
71
- export type SharedAcquisitionTerminal<TCart> = SharedAcquisitionTerminalResult<TCart>;
72
- export interface SharedAcquisitionActive<TCart> {
73
- readonly cart: TCart;
74
- readonly outcome: "active";
75
- readonly proxySession: PayerOpenedResult;
76
- readonly proxySessionId: string;
77
- }
78
- export type SharedAcquisitionSession<TCart> = SharedAcquisitionActive<TCart> | SharedAcquisitionTerminal<TCart>;
79
- export interface OpenSharedAcquisitionSessionOptions<TCart> {
80
- readonly cartSchema?: ProxyCartValidator<TCart>;
81
- readonly getCartBuyerReference?: (cart: TCart) => string | null | undefined;
82
- readonly proxy: StripeAcquisitionProxyClient;
83
- readonly proxySessionId: string;
84
- readonly requestId?: string;
85
- }
86
- /** Connect routing is outside every first-class Proxy acquisition path. */
87
- export declare function assertNoConnectRequestOptions(options: StripeRequestOptionsWithoutIdempotencyLike | undefined): void;
88
- export declare function terminalAcquisitionResult<TCart>(proxySession: PayerOpenedResult, cart: TCart): SharedAcquisitionTerminalResult<TCart>;
89
- export declare function openSharedAcquisitionSession<TCart>(options: OpenSharedAcquisitionSessionOptions<TCart>): Promise<SharedAcquisitionSession<TCart>>;
90
- /**
91
- * One order-scoped owner for reserve/join, deterministic provider creation,
92
- * null-or-same attachment, and exact provider/cart confirmation. There is no
93
- * payer lease: every identical caller can execute this function concurrently.
94
- */
95
- export declare function acquireStripeRoot<TObject extends StripeRootObjectLike>(options: AcquireStripeRootOptions<TObject>): Promise<AcquireStripeRootResult<TObject>>;
96
- /**
97
- * Re-read only a terminal reserve conflict. Failures after reserve are never
98
- * converted because a Stripe root may already exist and must remain visible.
99
- */
100
- export declare function terminalAfterAcquisitionFailure(input: {
101
- cause: unknown;
102
- proxy: {
103
- readonly sessions: Pick<ProxyCheckoutServerClient["sessions"], "payerOpened">;
104
- };
105
- proxySessionId: string;
106
- requestId?: string;
107
- }): Promise<PayerOpenedResult>;
108
- /** Compatibility bridge for 0.0.x Checkout callers while the public helper
109
- * moves all provider-binding ownership out of open-checkout.ts. */
110
- export declare function recordOrReconcileLegacyCheckoutBinding(input: {
111
- checkoutSessionId: string;
112
- commercialMode: "one_time" | "subscription";
113
- expectedCartVersion: number;
114
- proxy: ProxyCheckoutServerClient;
115
- proxySessionId: string;
116
- psp: string;
117
- requestId?: string;
118
- stripe: StripeClientLike;
119
- stripeRequestOptions?: StripeRequestOptionsWithoutIdempotencyLike;
120
- }): Promise<ProxySessionProviderBinding>;
121
- export declare function fingerprintStripeProviderOptions(path: ProviderAcquisitionIntegrationPath, params: unknown): string;
122
- export declare function hashProviderCartEvidence(path: ProviderAcquisitionIntegrationPath, value: unknown): string;
123
- export declare function checkoutOptionsForFingerprint(params: Record<string, unknown>): {
124
- [x: string]: unknown;
125
- };
126
- /** Canonical provider-options identity used when replacing a hosted Checkout acquisition. */
127
- export declare function fingerprintHostedCheckoutProviderOptions(params: Record<string, unknown>): string;
128
- export declare function retrieveCheckoutSessionWithLineEvidence(input: {
129
- id: string;
130
- initial?: StripeCheckoutSessionLike;
131
- requestOptions?: StripeRequestOptionsWithoutIdempotencyLike;
132
- stripe: StripeClientLike;
133
- }): Promise<StripeCheckoutSessionLike>;
134
- export declare function checkoutCartConfirmation(input: {
135
- cartVersion: number;
136
- checkoutSession: StripeCheckoutSessionLike;
137
- expectedLineItems: unknown;
138
- }): ProviderAcquisitionCartConfirmationInput;
139
- export declare function paymentIntentOptionsForFingerprint(params: Record<string, unknown>): {
140
- [x: string]: unknown;
141
- };
142
- export declare function acquisitionMetadata(reservation: ProviderAcquisitionReservation): StripeAcquisitionMetadata;
143
- export declare function mergeAcquisitionMetadata(existing: StripeMetadata | StripeMetadataParam, required: StripeAcquisitionMetadata, field?: string): Record<string, StripeMetadataValue>;
144
- export declare function assertMerchantDoesNotSetAcquisitionMetadata(metadata: StripeMetadata | StripeMetadataParam, field?: string): void;
145
- export declare function assertAcquisitionMetadata(metadata: StripeMetadata, expected: StripeAcquisitionMetadata, objectLabel: string): void;
146
- export declare function reserveDirectSubscriptionAcquisition(input: {
147
- directSubscriptionSource: ProviderAcquisitionDirectSubscriptionSource;
148
- providerOptionsFingerprint: string;
149
- proxy: StripeAcquisitionProxyClient;
150
- proxySessionId: string;
151
- requestId?: string;
152
- }): Promise<ProviderAcquisitionReservation>;
153
- export declare function recoverSetupIntentReservation(input: {
154
- acquisitionAttemptId: string;
155
- providerOptionsFingerprint: string;
156
- proxy: StripeAcquisitionProxyClient;
157
- proxySessionId: string;
158
- requestId?: string;
159
- setupIntentId: string;
160
- }): Promise<ProviderAcquisitionReservation>;
161
- export declare function attachAcquisitionObject(input: {
162
- acquisitionAttempt: ProviderAcquisition;
163
- objectId: string;
164
- objectType: ProviderAcquisitionObjectType;
165
- providerConfirmation?: ProviderAcquisitionCartConfirmationInput;
166
- providerCustomerId?: string;
167
- proxy: StripeAcquisitionProxyClient;
168
- proxySessionId: string;
169
- requestId?: string;
170
- role: "root" | "setup_intent";
171
- }): Promise<ProviderAcquisition>;
172
- /**
173
- * Canonical deterministic-create replay used by every Stripe acquisition role.
174
- * A second create uses the same caller-owned idempotency key and therefore
175
- * recovers the first result; it never authorizes another physical object.
176
- */
177
- export declare function createOrRecoverStripeAcquisitionObject<TObject extends StripeRootObjectLike>(input: {
178
- acquisition: ProviderAcquisition;
179
- create: () => Promise<TObject>;
180
- objectType: ProviderAcquisitionObjectType;
181
- proxy: StripeAcquisitionProxyClient;
182
- proxySessionId: string;
183
- requestId?: string;
184
- retrieve: (id: string) => Promise<TObject>;
185
- role: "root" | "setup_intent";
186
- }): Promise<StripeAcquisitionObjectReplayResult<TObject>>;
187
- export declare function stripeRequestOptions(merchantOptions: StripeRequestOptionsWithoutIdempotencyLike | undefined, idempotencyKey: string): StripeRequestOptionsLike;
188
- export declare function requireStripeObjectId(value: unknown, prefix: string, field: string): string;
189
- export declare function assertDirectSubscriptionReservation(reservation: ProviderAcquisitionReservation, source: ProviderAcquisitionDirectSubscriptionSource, proxySessionId: string, providerOptionsFingerprint?: string): void;
@@ -1,189 +0,0 @@
1
- import type { PayerOpenedResult, ProviderAcquisition, ProviderAcquisitionCartConfirmationInput, ProviderAcquisitionCheckoutUiMode, ProviderAcquisitionCommercialMode, ProviderAcquisitionDirectSubscriptionSource, ProviderAcquisitionIntegrationPath, ProviderAcquisitionObjectType, ProviderAcquisitionPricingMode, ProviderAcquisitionReservation, ProxyCartValidator, ProxyCheckoutServerClient, ProxySessionProviderBinding } from "@proxy-checkout/server-js";
2
- import type { StripeCheckoutSessionLike, StripeClientLike, StripeMetadata, StripeMetadataParam, StripeMetadataValue, StripeRequestOptionsLike, StripeRequestOptionsWithoutIdempotencyLike } from "./types.js";
3
- export interface StripeAcquisitionProxyClient {
4
- readonly providerAcquisitions: Pick<ProxyCheckoutServerClient["providerAcquisitions"], "attachProviderAcquisitionObject" | "listProviderAcquisitions" | "reserveProviderAcquisition">;
5
- readonly sessions: Pick<ProxyCheckoutServerClient["sessions"], "parseCart" | "payerOpened">;
6
- }
7
- export interface StripeAcquisitionMetadata {
8
- readonly proxy_acquisition_attempt_id: string;
9
- readonly proxy_contract_version: "2";
10
- readonly proxy_integration_path: ProviderAcquisitionIntegrationPath;
11
- readonly proxy_session_id: string;
12
- }
13
- export interface StripeRootObjectLike {
14
- readonly customer?: null | string | {
15
- readonly id: string;
16
- };
17
- readonly id: string;
18
- }
19
- export interface AcquireStripeRootOptions<TObject extends StripeRootObjectLike> {
20
- readonly checkoutUiMode?: ProviderAcquisitionCheckoutUiMode;
21
- readonly commercialMode: ProviderAcquisitionCommercialMode;
22
- readonly create: (reservation: ProviderAcquisitionReservation) => Promise<TObject>;
23
- readonly directMerchandiseSubtotalMinor?: number;
24
- readonly integrationPath: ProviderAcquisitionIntegrationPath;
25
- readonly objectType: ProviderAcquisitionObjectType;
26
- readonly pricingMode: ProviderAcquisitionPricingMode;
27
- readonly providerOptionsFingerprint: string;
28
- readonly proxy: ProxyCheckoutServerClient;
29
- readonly proxySession: PayerOpenedResult;
30
- readonly requestId?: string;
31
- readonly retrieve: (id: string) => Promise<TObject>;
32
- readonly toConfirmation: (object: TObject) => ProviderAcquisitionCartConfirmationInput;
33
- readonly validateObject: (object: TObject, acquisition: ProviderAcquisition) => void;
34
- }
35
- export interface AcquiredStripeRoot<TObject extends StripeRootObjectLike> {
36
- readonly acquisition: ProviderAcquisition;
37
- readonly object: TObject;
38
- readonly outcome: "acquired";
39
- readonly reservation: ProviderAcquisitionReservation | null;
40
- }
41
- export interface StripeAcquisitionObjectReplayResult<TObject extends StripeRootObjectLike> {
42
- readonly acquisition: ProviderAcquisition;
43
- /** False only when the object still needs a null-or-same Proxy attachment. */
44
- readonly alreadyAttached: boolean;
45
- readonly object: TObject;
46
- }
47
- export interface TerminalStripeRootAcquisition {
48
- readonly outcome: "terminal";
49
- readonly proxySession: PayerOpenedResult;
50
- }
51
- export type AcquireStripeRootResult<TObject extends StripeRootObjectLike> = AcquiredStripeRoot<TObject> | TerminalStripeRootAcquisition;
52
- export type SharedAcquisitionTerminalResult<TCart> = {
53
- readonly cart: TCart;
54
- readonly outcome: "already_paid";
55
- readonly proxySession: PayerOpenedResult;
56
- readonly proxySessionId: string;
57
- readonly sessionStatus: "paid" | "provisionable" | "provisioned" | "provisioning_failed";
58
- } | {
59
- readonly cart: TCart;
60
- readonly outcome: "action_required";
61
- readonly proxySession: PayerOpenedResult;
62
- readonly proxySessionId: string;
63
- readonly sessionStatus: "merchant_action_required";
64
- } | {
65
- readonly cart: TCart;
66
- readonly outcome: "unavailable";
67
- readonly proxySession: PayerOpenedResult;
68
- readonly proxySessionId: string;
69
- readonly sessionStatus: "cancelled" | "created" | "expired" | "failed";
70
- };
71
- export type SharedAcquisitionTerminal<TCart> = SharedAcquisitionTerminalResult<TCart>;
72
- export interface SharedAcquisitionActive<TCart> {
73
- readonly cart: TCart;
74
- readonly outcome: "active";
75
- readonly proxySession: PayerOpenedResult;
76
- readonly proxySessionId: string;
77
- }
78
- export type SharedAcquisitionSession<TCart> = SharedAcquisitionActive<TCart> | SharedAcquisitionTerminal<TCart>;
79
- export interface OpenSharedAcquisitionSessionOptions<TCart> {
80
- readonly cartSchema?: ProxyCartValidator<TCart>;
81
- readonly getCartBuyerReference?: (cart: TCart) => string | null | undefined;
82
- readonly proxy: StripeAcquisitionProxyClient;
83
- readonly proxySessionId: string;
84
- readonly requestId?: string;
85
- }
86
- /** Connect routing is outside every first-class Proxy acquisition path. */
87
- export declare function assertNoConnectRequestOptions(options: StripeRequestOptionsWithoutIdempotencyLike | undefined): void;
88
- export declare function terminalAcquisitionResult<TCart>(proxySession: PayerOpenedResult, cart: TCart): SharedAcquisitionTerminalResult<TCart>;
89
- export declare function openSharedAcquisitionSession<TCart>(options: OpenSharedAcquisitionSessionOptions<TCart>): Promise<SharedAcquisitionSession<TCart>>;
90
- /**
91
- * One order-scoped owner for reserve/join, deterministic provider creation,
92
- * null-or-same attachment, and exact provider/cart confirmation. There is no
93
- * payer lease: every identical caller can execute this function concurrently.
94
- */
95
- export declare function acquireStripeRoot<TObject extends StripeRootObjectLike>(options: AcquireStripeRootOptions<TObject>): Promise<AcquireStripeRootResult<TObject>>;
96
- /**
97
- * Re-read only a terminal reserve conflict. Failures after reserve are never
98
- * converted because a Stripe root may already exist and must remain visible.
99
- */
100
- export declare function terminalAfterAcquisitionFailure(input: {
101
- cause: unknown;
102
- proxy: {
103
- readonly sessions: Pick<ProxyCheckoutServerClient["sessions"], "payerOpened">;
104
- };
105
- proxySessionId: string;
106
- requestId?: string;
107
- }): Promise<PayerOpenedResult>;
108
- /** Compatibility bridge for 0.0.x Checkout callers while the public helper
109
- * moves all provider-binding ownership out of open-checkout.ts. */
110
- export declare function recordOrReconcileLegacyCheckoutBinding(input: {
111
- checkoutSessionId: string;
112
- commercialMode: "one_time" | "subscription";
113
- expectedCartVersion: number;
114
- proxy: ProxyCheckoutServerClient;
115
- proxySessionId: string;
116
- psp: string;
117
- requestId?: string;
118
- stripe: StripeClientLike;
119
- stripeRequestOptions?: StripeRequestOptionsWithoutIdempotencyLike;
120
- }): Promise<ProxySessionProviderBinding>;
121
- export declare function fingerprintStripeProviderOptions(path: ProviderAcquisitionIntegrationPath, params: unknown): string;
122
- export declare function hashProviderCartEvidence(path: ProviderAcquisitionIntegrationPath, value: unknown): string;
123
- export declare function checkoutOptionsForFingerprint(params: Record<string, unknown>): {
124
- [x: string]: unknown;
125
- };
126
- /** Canonical provider-options identity used when replacing a hosted Checkout acquisition. */
127
- export declare function fingerprintHostedCheckoutProviderOptions(params: Record<string, unknown>): string;
128
- export declare function retrieveCheckoutSessionWithLineEvidence(input: {
129
- id: string;
130
- initial?: StripeCheckoutSessionLike;
131
- requestOptions?: StripeRequestOptionsWithoutIdempotencyLike;
132
- stripe: StripeClientLike;
133
- }): Promise<StripeCheckoutSessionLike>;
134
- export declare function checkoutCartConfirmation(input: {
135
- cartVersion: number;
136
- checkoutSession: StripeCheckoutSessionLike;
137
- expectedLineItems: unknown;
138
- }): ProviderAcquisitionCartConfirmationInput;
139
- export declare function paymentIntentOptionsForFingerprint(params: Record<string, unknown>): {
140
- [x: string]: unknown;
141
- };
142
- export declare function acquisitionMetadata(reservation: ProviderAcquisitionReservation): StripeAcquisitionMetadata;
143
- export declare function mergeAcquisitionMetadata(existing: StripeMetadata | StripeMetadataParam, required: StripeAcquisitionMetadata, field?: string): Record<string, StripeMetadataValue>;
144
- export declare function assertMerchantDoesNotSetAcquisitionMetadata(metadata: StripeMetadata | StripeMetadataParam, field?: string): void;
145
- export declare function assertAcquisitionMetadata(metadata: StripeMetadata, expected: StripeAcquisitionMetadata, objectLabel: string): void;
146
- export declare function reserveDirectSubscriptionAcquisition(input: {
147
- directSubscriptionSource: ProviderAcquisitionDirectSubscriptionSource;
148
- providerOptionsFingerprint: string;
149
- proxy: StripeAcquisitionProxyClient;
150
- proxySessionId: string;
151
- requestId?: string;
152
- }): Promise<ProviderAcquisitionReservation>;
153
- export declare function recoverSetupIntentReservation(input: {
154
- acquisitionAttemptId: string;
155
- providerOptionsFingerprint: string;
156
- proxy: StripeAcquisitionProxyClient;
157
- proxySessionId: string;
158
- requestId?: string;
159
- setupIntentId: string;
160
- }): Promise<ProviderAcquisitionReservation>;
161
- export declare function attachAcquisitionObject(input: {
162
- acquisitionAttempt: ProviderAcquisition;
163
- objectId: string;
164
- objectType: ProviderAcquisitionObjectType;
165
- providerConfirmation?: ProviderAcquisitionCartConfirmationInput;
166
- providerCustomerId?: string;
167
- proxy: StripeAcquisitionProxyClient;
168
- proxySessionId: string;
169
- requestId?: string;
170
- role: "root" | "setup_intent";
171
- }): Promise<ProviderAcquisition>;
172
- /**
173
- * Canonical deterministic-create replay used by every Stripe acquisition role.
174
- * A second create uses the same caller-owned idempotency key and therefore
175
- * recovers the first result; it never authorizes another physical object.
176
- */
177
- export declare function createOrRecoverStripeAcquisitionObject<TObject extends StripeRootObjectLike>(input: {
178
- acquisition: ProviderAcquisition;
179
- create: () => Promise<TObject>;
180
- objectType: ProviderAcquisitionObjectType;
181
- proxy: StripeAcquisitionProxyClient;
182
- proxySessionId: string;
183
- requestId?: string;
184
- retrieve: (id: string) => Promise<TObject>;
185
- role: "root" | "setup_intent";
186
- }): Promise<StripeAcquisitionObjectReplayResult<TObject>>;
187
- export declare function stripeRequestOptions(merchantOptions: StripeRequestOptionsWithoutIdempotencyLike | undefined, idempotencyKey: string): StripeRequestOptionsLike;
188
- export declare function requireStripeObjectId(value: unknown, prefix: string, field: string): string;
189
- export declare function assertDirectSubscriptionReservation(reservation: ProviderAcquisitionReservation, source: ProviderAcquisitionDirectSubscriptionSource, proxySessionId: string, providerOptionsFingerprint?: string): void;