@stripe/stripe-js 3.0.7 → 3.0.9

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 (129) hide show
  1. package/dist/api/bank-accounts.d.mts +61 -0
  2. package/dist/api/bank-accounts.d.ts +61 -0
  3. package/dist/api/cards.d.mts +130 -0
  4. package/dist/api/cards.d.ts +130 -0
  5. package/dist/api/financial-connections.d.mts +232 -0
  6. package/dist/api/financial-connections.d.ts +232 -0
  7. package/dist/api/index.d.mts +11 -0
  8. package/dist/api/index.d.ts +11 -0
  9. package/dist/api/orders.d.mts +122 -0
  10. package/dist/api/orders.d.ts +122 -0
  11. package/dist/api/payment-intents.d.mts +330 -0
  12. package/dist/api/payment-intents.d.ts +330 -0
  13. package/dist/api/payment-methods.d.mts +452 -0
  14. package/dist/api/payment-methods.d.ts +452 -0
  15. package/dist/api/setup-intents.d.mts +184 -0
  16. package/dist/api/setup-intents.d.ts +184 -0
  17. package/dist/api/shared.d.mts +125 -0
  18. package/dist/api/shared.d.ts +125 -0
  19. package/dist/api/sources.d.mts +1045 -0
  20. package/dist/api/sources.d.ts +1045 -0
  21. package/dist/api/tokens.d.mts +639 -0
  22. package/dist/api/tokens.d.ts +639 -0
  23. package/dist/api/verification-sessions.d.mts +9 -0
  24. package/dist/api/verification-sessions.d.ts +9 -0
  25. package/dist/index.d.mts +4 -12782
  26. package/dist/index.d.ts +4 -12782
  27. package/dist/{stripe.js → index.js} +1 -1
  28. package/dist/{stripe.mjs → index.mjs} +1 -1
  29. package/dist/pure.d.mts +5 -0
  30. package/dist/pure.d.ts +5 -0
  31. package/dist/pure.js +204 -0
  32. package/dist/pure.mjs +200 -0
  33. package/dist/shared.d.mts +6 -0
  34. package/dist/shared.d.ts +6 -0
  35. package/dist/stripe-js/checkout.d.mts +153 -0
  36. package/dist/stripe-js/checkout.d.ts +153 -0
  37. package/dist/stripe-js/custom-checkout.d.mts +402 -0
  38. package/dist/stripe-js/custom-checkout.d.ts +402 -0
  39. package/dist/stripe-js/elements/address.d.mts +261 -0
  40. package/dist/stripe-js/elements/address.d.ts +261 -0
  41. package/dist/stripe-js/elements/affirm-message.d.mts +65 -0
  42. package/dist/stripe-js/elements/affirm-message.d.ts +65 -0
  43. package/dist/stripe-js/elements/afterpay-clearpay-message.d.mts +119 -0
  44. package/dist/stripe-js/elements/afterpay-clearpay-message.d.ts +119 -0
  45. package/dist/stripe-js/elements/apple-pay.d.mts +156 -0
  46. package/dist/stripe-js/elements/apple-pay.d.ts +156 -0
  47. package/dist/stripe-js/elements/au-bank-account.d.mts +138 -0
  48. package/dist/stripe-js/elements/au-bank-account.d.ts +138 -0
  49. package/dist/stripe-js/elements/base.d.mts +264 -0
  50. package/dist/stripe-js/elements/base.d.ts +264 -0
  51. package/dist/stripe-js/elements/card-cvc.d.mts +119 -0
  52. package/dist/stripe-js/elements/card-cvc.d.ts +119 -0
  53. package/dist/stripe-js/elements/card-expiry.d.mts +119 -0
  54. package/dist/stripe-js/elements/card-expiry.d.ts +119 -0
  55. package/dist/stripe-js/elements/card-number.d.mts +200 -0
  56. package/dist/stripe-js/elements/card-number.d.ts +200 -0
  57. package/dist/stripe-js/elements/card.d.mts +226 -0
  58. package/dist/stripe-js/elements/card.d.ts +226 -0
  59. package/dist/stripe-js/elements/cart.d.mts +224 -0
  60. package/dist/stripe-js/elements/cart.d.ts +224 -0
  61. package/dist/stripe-js/elements/eps-bank.d.mts +140 -0
  62. package/dist/stripe-js/elements/eps-bank.d.ts +140 -0
  63. package/dist/stripe-js/elements/express-checkout.d.mts +446 -0
  64. package/dist/stripe-js/elements/express-checkout.d.ts +446 -0
  65. package/dist/stripe-js/elements/fpx-bank.d.mts +134 -0
  66. package/dist/stripe-js/elements/fpx-bank.d.ts +134 -0
  67. package/dist/stripe-js/elements/iban.d.mts +135 -0
  68. package/dist/stripe-js/elements/iban.d.ts +135 -0
  69. package/dist/stripe-js/elements/ideal-bank.d.mts +140 -0
  70. package/dist/stripe-js/elements/ideal-bank.d.ts +140 -0
  71. package/dist/stripe-js/elements/index.d.mts +22 -0
  72. package/dist/stripe-js/elements/index.d.ts +22 -0
  73. package/dist/stripe-js/elements/issuing/index.d.mts +5 -0
  74. package/dist/stripe-js/elements/issuing/index.d.ts +5 -0
  75. package/dist/stripe-js/elements/issuing/issuing-card-copy-button.d.mts +37 -0
  76. package/dist/stripe-js/elements/issuing/issuing-card-copy-button.d.ts +37 -0
  77. package/dist/stripe-js/elements/issuing/issuing-card-cvc-display.d.mts +32 -0
  78. package/dist/stripe-js/elements/issuing/issuing-card-cvc-display.d.ts +32 -0
  79. package/dist/stripe-js/elements/issuing/issuing-card-expiry-display.d.mts +32 -0
  80. package/dist/stripe-js/elements/issuing/issuing-card-expiry-display.d.ts +32 -0
  81. package/dist/stripe-js/elements/issuing/issuing-card-number-display.d.mts +40 -0
  82. package/dist/stripe-js/elements/issuing/issuing-card-number-display.d.ts +40 -0
  83. package/dist/stripe-js/elements/issuing/issuing-card-pin-display.d.mts +32 -0
  84. package/dist/stripe-js/elements/issuing/issuing-card-pin-display.d.ts +32 -0
  85. package/dist/stripe-js/elements/link-authentication.d.mts +158 -0
  86. package/dist/stripe-js/elements/link-authentication.d.ts +158 -0
  87. package/dist/stripe-js/elements/p24-bank.d.mts +140 -0
  88. package/dist/stripe-js/elements/p24-bank.d.ts +140 -0
  89. package/dist/stripe-js/elements/payment-method-messaging.d.mts +98 -0
  90. package/dist/stripe-js/elements/payment-method-messaging.d.ts +98 -0
  91. package/dist/stripe-js/elements/payment-request-button.d.mts +151 -0
  92. package/dist/stripe-js/elements/payment-request-button.d.ts +151 -0
  93. package/dist/stripe-js/elements/payment.d.mts +275 -0
  94. package/dist/stripe-js/elements/payment.d.ts +275 -0
  95. package/dist/stripe-js/elements/shipping-address.d.mts +215 -0
  96. package/dist/stripe-js/elements/shipping-address.d.ts +215 -0
  97. package/dist/stripe-js/elements-group.d.mts +1129 -0
  98. package/dist/stripe-js/elements-group.d.ts +1129 -0
  99. package/dist/stripe-js/embedded-checkout.d.mts +35 -0
  100. package/dist/stripe-js/embedded-checkout.d.ts +35 -0
  101. package/dist/stripe-js/ephemeral-keys.d.mts +3 -0
  102. package/dist/stripe-js/ephemeral-keys.d.ts +3 -0
  103. package/dist/stripe-js/financial-connections.d.mts +19 -0
  104. package/dist/stripe-js/financial-connections.d.ts +19 -0
  105. package/dist/stripe-js/index.d.mts +13 -0
  106. package/dist/stripe-js/index.d.ts +13 -0
  107. package/dist/stripe-js/orders.d.mts +9 -0
  108. package/dist/stripe-js/orders.d.ts +9 -0
  109. package/dist/stripe-js/payment-intents.d.mts +1470 -0
  110. package/dist/stripe-js/payment-intents.d.ts +1470 -0
  111. package/dist/stripe-js/payment-request.d.mts +529 -0
  112. package/dist/stripe-js/payment-request.d.ts +529 -0
  113. package/dist/stripe-js/setup-intents.d.mts +250 -0
  114. package/dist/stripe-js/setup-intents.d.ts +250 -0
  115. package/dist/stripe-js/stripe.d.mts +1472 -0
  116. package/dist/stripe-js/stripe.d.ts +1472 -0
  117. package/dist/stripe-js/token-and-sources.d.mts +110 -0
  118. package/dist/stripe-js/token-and-sources.d.ts +110 -0
  119. package/dist/utils.d.mts +2 -0
  120. package/dist/utils.d.ts +2 -0
  121. package/lib/index.d.mts +1 -0
  122. package/lib/index.d.ts +1 -0
  123. package/lib/index.js +2 -0
  124. package/lib/index.mjs +1 -0
  125. package/package.json +11 -10
  126. package/pure/index.d.mts +1 -12761
  127. package/pure/index.d.ts +1 -12761
  128. package/pure/index.js +1 -204
  129. package/pure/index.mjs +1 -200
@@ -0,0 +1,140 @@
1
+ import {
2
+ StripeElementBase,
3
+ StripeElementStyle,
4
+ StripeElementClasses,
5
+ StripeElementChangeEvent,
6
+ } from './base';
7
+
8
+ export type StripeEpsBankElement = StripeElementBase & {
9
+ /**
10
+ * The change event is triggered when the `Element`'s value changes.
11
+ */
12
+ on(
13
+ eventType: 'change',
14
+ handler: (event: StripeEpsBankElementChangeEvent) => any
15
+ ): StripeEpsBankElement;
16
+ once(
17
+ eventType: 'change',
18
+ handler: (event: StripeEpsBankElementChangeEvent) => any
19
+ ): StripeEpsBankElement;
20
+ off(
21
+ eventType: 'change',
22
+ handler: (event: StripeEpsBankElementChangeEvent) => any
23
+ ): StripeEpsBankElement;
24
+
25
+ /**
26
+ * Triggered when the element is fully rendered and can accept `element.focus` calls.
27
+ */
28
+ on(
29
+ eventType: 'ready',
30
+ handler: (event: {elementType: 'epsBank'}) => any
31
+ ): StripeEpsBankElement;
32
+ once(
33
+ eventType: 'ready',
34
+ handler: (event: {elementType: 'epsBank'}) => any
35
+ ): StripeEpsBankElement;
36
+ off(
37
+ eventType: 'ready',
38
+ handler: (event: {elementType: 'epsBank'}) => any
39
+ ): StripeEpsBankElement;
40
+
41
+ /**
42
+ * Triggered when the element gains focus.
43
+ */
44
+ on(
45
+ eventType: 'focus',
46
+ handler: (event: {elementType: 'epsBank'}) => any
47
+ ): StripeEpsBankElement;
48
+ once(
49
+ eventType: 'focus',
50
+ handler: (event: {elementType: 'epsBank'}) => any
51
+ ): StripeEpsBankElement;
52
+ off(
53
+ eventType: 'focus',
54
+ handler: (event: {elementType: 'epsBank'}) => any
55
+ ): StripeEpsBankElement;
56
+
57
+ /**
58
+ * Triggered when the element loses focus.
59
+ */
60
+ on(
61
+ eventType: 'blur',
62
+ handler: (event: {elementType: 'epsBank'}) => any
63
+ ): StripeEpsBankElement;
64
+ once(
65
+ eventType: 'blur',
66
+ handler: (event: {elementType: 'epsBank'}) => any
67
+ ): StripeEpsBankElement;
68
+ off(
69
+ eventType: 'blur',
70
+ handler: (event: {elementType: 'epsBank'}) => any
71
+ ): StripeEpsBankElement;
72
+
73
+ /**
74
+ * Triggered when the escape key is pressed within the element.
75
+ */
76
+ on(
77
+ eventType: 'escape',
78
+ handler: (event: {elementType: 'epsBank'}) => any
79
+ ): StripeEpsBankElement;
80
+ once(
81
+ eventType: 'escape',
82
+ handler: (event: {elementType: 'epsBank'}) => any
83
+ ): StripeEpsBankElement;
84
+ off(
85
+ eventType: 'escape',
86
+ handler: (event: {elementType: 'epsBank'}) => any
87
+ ): StripeEpsBankElement;
88
+
89
+ /**
90
+ * Updates the options the `EpsBankElement` was initialized with.
91
+ * Updates are merged into the existing configuration.
92
+ *
93
+ * The styles of an `EpsBankElement` can be dynamically changed using `element.update`.
94
+ * This method can be used to simulate CSS media queries that automatically adjust the size of elements when viewed on different devices.
95
+ */
96
+ update(options: Partial<StripeEpsBankElementOptions>): void;
97
+ };
98
+
99
+ export interface StripeEpsBankElementOptions {
100
+ classes?: StripeElementClasses;
101
+
102
+ style?: StripeElementStyle;
103
+
104
+ /**
105
+ * Appearance of the icon in the Element.
106
+ */
107
+ iconStyle?: 'default' | 'solid';
108
+
109
+ /**
110
+ * A pre-filled value for the Element.
111
+ * Can be one of the banks listed in the [EPS guide](https://stripe.com/docs/payments/eps/accept-a-payment#bank-values) (e.g., `bank_austria`).
112
+ */
113
+ value?: string;
114
+
115
+ /**
116
+ * Hides the icon in the Element.
117
+ * Default is `false`.
118
+ */
119
+ hideIcon?: boolean;
120
+
121
+ /**
122
+ * Applies a disabled state to the Element such that user input is not accepted.
123
+ * Default is false.
124
+ */
125
+ disabled?: boolean;
126
+ }
127
+
128
+ export interface StripeEpsBankElementChangeEvent
129
+ extends StripeElementChangeEvent {
130
+ /**
131
+ * The type of element that emitted this event.
132
+ */
133
+ elementType: 'epsBank';
134
+
135
+ /**
136
+ * A pre-filled value for the Element.
137
+ * Can be one of the banks listed in the [EPS guide](https://stripe.com/docs/payments/eps/accept-a-payment#bank-values) (e.g., `bank_austria`).
138
+ */
139
+ value?: string;
140
+ }
@@ -0,0 +1,446 @@
1
+ import {StripeElementBase} from './base';
2
+ import {StripeError} from '../stripe';
3
+ import {ApplePayOption, ApplePayUpdateOption} from './apple-pay';
4
+
5
+ export type StripeExpressCheckoutElement = StripeElementBase & {
6
+ /**
7
+ * Triggered when the element is fully rendered and can accept `element.focus` calls.
8
+ */
9
+ on(
10
+ eventType: 'ready',
11
+ handler: (event: StripeExpressCheckoutElementReadyEvent) => any
12
+ ): StripeExpressCheckoutElement;
13
+ once(
14
+ eventType: 'ready',
15
+ handler: (event: StripeExpressCheckoutElementReadyEvent) => any
16
+ ): StripeExpressCheckoutElement;
17
+ off(
18
+ eventType: 'ready',
19
+ handler?: (event: StripeExpressCheckoutElementReadyEvent) => any
20
+ ): StripeExpressCheckoutElement;
21
+
22
+ /**
23
+ * Triggered when a button on the element is clicked.
24
+ */
25
+ on(
26
+ eventType: 'click',
27
+ handler: (event: StripeExpressCheckoutElementClickEvent) => any
28
+ ): StripeExpressCheckoutElement;
29
+ once(
30
+ eventType: 'click',
31
+ handler: (event: StripeExpressCheckoutElementClickEvent) => any
32
+ ): StripeExpressCheckoutElement;
33
+ off(
34
+ eventType: 'click',
35
+ handler?: (event: StripeExpressCheckoutElementClickEvent) => any
36
+ ): StripeExpressCheckoutElement;
37
+
38
+ /**
39
+ * Triggered when the element gains focus.
40
+ */
41
+ on(
42
+ eventType: 'focus',
43
+ handler: (event: {elementType: 'expressCheckout'}) => any
44
+ ): StripeExpressCheckoutElement;
45
+ once(
46
+ eventType: 'focus',
47
+ handler: (event: {elementType: 'expressCheckout'}) => any
48
+ ): StripeExpressCheckoutElement;
49
+ off(
50
+ eventType: 'focus',
51
+ handler?: (event: {elementType: 'expressCheckout'}) => any
52
+ ): StripeExpressCheckoutElement;
53
+
54
+ /**
55
+ * Triggered when the element loses focus.
56
+ */
57
+ on(
58
+ eventType: 'blur',
59
+ handler: (event: {elementType: 'expressCheckout'}) => any
60
+ ): StripeExpressCheckoutElement;
61
+ once(
62
+ eventType: 'blur',
63
+ handler: (event: {elementType: 'expressCheckout'}) => any
64
+ ): StripeExpressCheckoutElement;
65
+ off(
66
+ eventType: 'blur',
67
+ handler?: (event: {elementType: 'expressCheckout'}) => any
68
+ ): StripeExpressCheckoutElement;
69
+
70
+ /**
71
+ * Triggered when the escape key is pressed within the element.
72
+ */
73
+ on(
74
+ eventType: 'escape',
75
+ handler: (event: {elementType: 'expressCheckout'}) => any
76
+ ): StripeExpressCheckoutElement;
77
+ once(
78
+ eventType: 'escape',
79
+ handler: (event: {elementType: 'expressCheckout'}) => any
80
+ ): StripeExpressCheckoutElement;
81
+ off(
82
+ eventType: 'escape',
83
+ handler?: (event: {elementType: 'expressCheckout'}) => any
84
+ ): StripeExpressCheckoutElement;
85
+
86
+ /**
87
+ * Triggered when the element fails to load.
88
+ */
89
+ on(
90
+ eventType: 'loaderror',
91
+ handler: (event: {
92
+ elementType: 'expressCheckout';
93
+ error: StripeError;
94
+ }) => any
95
+ ): StripeExpressCheckoutElement;
96
+ once(
97
+ eventType: 'loaderror',
98
+ handler: (event: {
99
+ elementType: 'expressCheckout';
100
+ error: StripeError;
101
+ }) => any
102
+ ): StripeExpressCheckoutElement;
103
+ off(
104
+ eventType: 'loaderror',
105
+ handler?: (event: {
106
+ elementType: 'expressCheckout';
107
+ error: StripeError;
108
+ }) => any
109
+ ): StripeExpressCheckoutElement;
110
+
111
+ /**
112
+ * Triggered when a buyer authorizes a payment within a supported payment method.
113
+ */
114
+ on(
115
+ eventType: 'confirm',
116
+ handler: (event: StripeExpressCheckoutElementConfirmEvent) => any
117
+ ): StripeExpressCheckoutElement;
118
+ once(
119
+ eventType: 'confirm',
120
+ handler: (event: StripeExpressCheckoutElementConfirmEvent) => any
121
+ ): StripeExpressCheckoutElement;
122
+ off(
123
+ eventType: 'confirm',
124
+ handler?: (event: StripeExpressCheckoutElementConfirmEvent) => any
125
+ ): StripeExpressCheckoutElement;
126
+
127
+ /**
128
+ * Triggered when a payment interface is dismissed (e.g., a buyer closes the payment interface)
129
+ */
130
+ on(
131
+ eventType: 'cancel',
132
+ handler: (event: {elementType: 'expressCheckout'}) => any
133
+ ): StripeExpressCheckoutElement;
134
+ once(
135
+ eventType: 'cancel',
136
+ handler: (event: {elementType: 'expressCheckout'}) => any
137
+ ): StripeExpressCheckoutElement;
138
+ off(
139
+ eventType: 'cancel',
140
+ handler?: (event: {elementType: 'expressCheckout'}) => any
141
+ ): StripeExpressCheckoutElement;
142
+
143
+ /**
144
+ * Triggered when a buyer selects a different shipping address.
145
+ */
146
+ on(
147
+ eventType: 'shippingaddresschange',
148
+ handler: (
149
+ event: StripeExpressCheckoutElementShippingAddressChangeEvent
150
+ ) => any
151
+ ): StripeExpressCheckoutElement;
152
+ once(
153
+ eventType: 'shippingaddresschange',
154
+ handler: (
155
+ event: StripeExpressCheckoutElementShippingAddressChangeEvent
156
+ ) => any
157
+ ): StripeExpressCheckoutElement;
158
+ off(
159
+ eventType: 'shippingaddresschange',
160
+ handler?: (
161
+ event: StripeExpressCheckoutElementShippingAddressChangeEvent
162
+ ) => any
163
+ ): StripeExpressCheckoutElement;
164
+
165
+ /**
166
+ * Triggered when a buyer selects a different shipping rate.
167
+ */
168
+ on(
169
+ eventType: 'shippingratechange',
170
+ handler: (event: StripeExpressCheckoutElementShippingRateChangeEvent) => any
171
+ ): StripeExpressCheckoutElement;
172
+ once(
173
+ eventType: 'shippingratechange',
174
+ handler: (event: StripeExpressCheckoutElementShippingRateChangeEvent) => any
175
+ ): StripeExpressCheckoutElement;
176
+ off(
177
+ eventType: 'shippingratechange',
178
+ handler?: (
179
+ event: StripeExpressCheckoutElementShippingRateChangeEvent
180
+ ) => any
181
+ ): StripeExpressCheckoutElement;
182
+
183
+ /**
184
+ * Updates the options the `ExpressCheckoutElement` was initialized with.
185
+ * Updates are merged into the existing configuration.
186
+ */
187
+ update(
188
+ options: StripeExpressCheckoutElementUpdateOptions
189
+ ): StripeExpressCheckoutElement;
190
+ };
191
+
192
+ export type ExpressPaymentType = 'google_pay' | 'apple_pay' | 'link' | 'paypal';
193
+
194
+ export type ExpressCheckoutPartialAddress = {
195
+ city: string;
196
+ state: string;
197
+ postal_code: string;
198
+ country: string;
199
+ };
200
+
201
+ export type ExpressCheckoutAddress = ExpressCheckoutPartialAddress & {
202
+ line1: string;
203
+ line2: string | null;
204
+ };
205
+
206
+ export type BillingDetails = {
207
+ name: string;
208
+ email?: string;
209
+ phone?: string;
210
+ address: ExpressCheckoutAddress;
211
+ };
212
+
213
+ export type ShippingAddress = {
214
+ name: string;
215
+ address: ExpressCheckoutAddress;
216
+ };
217
+
218
+ export type LineItem = {
219
+ name: string;
220
+ amount: number;
221
+ };
222
+
223
+ export type DeliveryUnit = 'hour' | 'day' | 'business_day' | 'week' | 'month';
224
+
225
+ export type DeliveryEstimate = {
226
+ unit: DeliveryUnit;
227
+ value: number;
228
+ };
229
+
230
+ export type ShippingRate = {
231
+ id: string;
232
+ amount: number;
233
+ displayName: string;
234
+ deliveryEstimate?:
235
+ | string
236
+ | {
237
+ maximum?: DeliveryEstimate;
238
+ minimum?: DeliveryEstimate;
239
+ };
240
+ };
241
+
242
+ export type LayoutOption = {
243
+ maxColumns?: number;
244
+ maxRows?: number;
245
+ overflow?: 'auto' | 'never';
246
+ };
247
+
248
+ export type ExpressCheckoutWalletOption = 'always' | 'auto' | 'never';
249
+
250
+ export type ExpressCheckoutWalletsOption = {
251
+ applePay?: ExpressCheckoutWalletOption;
252
+ googlePay?: ExpressCheckoutWalletOption;
253
+ };
254
+
255
+ export type ApplePayButtonTheme = 'black' | 'white' | 'white-outline';
256
+
257
+ export type GooglePayButtonTheme = 'black' | 'white';
258
+
259
+ export type ButtonThemeOption = {
260
+ applePay?: ApplePayButtonTheme;
261
+ googlePay?: GooglePayButtonTheme;
262
+ };
263
+
264
+ export type ApplePayButtonType =
265
+ | 'add-money'
266
+ | 'book'
267
+ | 'buy'
268
+ | 'check-out'
269
+ | 'contribute'
270
+ | 'donate'
271
+ | 'order'
272
+ | 'plain'
273
+ | 'reload'
274
+ | 'rent'
275
+ | 'subscribe'
276
+ | 'support'
277
+ | 'tip'
278
+ | 'top-up';
279
+
280
+ export type GooglePayButtonType =
281
+ | 'book'
282
+ | 'buy'
283
+ | 'checkout'
284
+ | 'donate'
285
+ | 'order'
286
+ | 'pay'
287
+ | 'plain'
288
+ | 'subscribe';
289
+
290
+ export type ButtonTypeOption = {
291
+ applePay?: ApplePayButtonType;
292
+ googlePay?: GooglePayButtonType;
293
+ };
294
+
295
+ export interface StripeExpressCheckoutElementOptions {
296
+ /**
297
+ * Manually sets the height of the buttons shown.
298
+ */
299
+ buttonHeight?: number;
300
+
301
+ /**
302
+ * Controls the color of each button.
303
+ */
304
+ buttonTheme?: ButtonThemeOption;
305
+
306
+ /**
307
+ * Specifies the type of each button.
308
+ */
309
+ buttonType?: ButtonTypeOption;
310
+
311
+ /**
312
+ * Specifies how buttons should be laid out in relation to each other.
313
+ */
314
+ layout?: LayoutOption;
315
+
316
+ /**
317
+ * Override the order in which payment methods are displayed in the Express Checkout Element.
318
+ * By default, the Express Checkout Element will use a dynamic ordering that optimizes payment method display for each user.
319
+ */
320
+ paymentMethodOrder?: string[];
321
+
322
+ /**
323
+ * Control wallets display in the Express Checkout Element.
324
+ */
325
+ wallets?: ExpressCheckoutWalletsOption;
326
+ }
327
+
328
+ /*
329
+ * Updatable options for an `Elements` instance
330
+ */
331
+ export interface StripeExpressCheckoutElementUpdateOptions {
332
+ /**
333
+ * Manually sets the height of the buttons shown.
334
+ */
335
+ buttonHeight?: number;
336
+
337
+ /**
338
+ * Specifies how buttons should be laid out in relation to each other.
339
+ */
340
+ layout?: LayoutOption;
341
+
342
+ /**
343
+ * Override the order in which payment methods are displayed in the Pay Button Element.
344
+ * By default, the Express Checkout Element will use a dynamic ordering that optimizes payment method display for each user.
345
+ */
346
+ paymentMethodOrder?: string[];
347
+ }
348
+
349
+ export type AvailablePaymentMethods = {
350
+ applePay: boolean;
351
+ googlePay: boolean;
352
+ };
353
+
354
+ export interface StripeExpressCheckoutElementReadyEvent {
355
+ /**
356
+ * The type of element that emitted this event.
357
+ */
358
+ elementType: 'expressCheckout';
359
+
360
+ /**
361
+ * The list of payment methods that could possibly show in the element, or undefined if no payment methods can show.
362
+ */
363
+ availablePaymentMethods: undefined | AvailablePaymentMethods;
364
+ }
365
+
366
+ export type ClickResolveDetails = {
367
+ /**
368
+ * An array of two-letter ISO country codes representing which countries
369
+ * are eligible shipping locations.
370
+ */
371
+ allowedShippingCountries?: string[];
372
+
373
+ billingAddressRequired?: boolean;
374
+
375
+ /**
376
+ * Provide information about your business that will be displayed in the payment interface.
377
+ * This information will be retrieved from your Stripe account if not provided.
378
+ */
379
+ business?: {name: string};
380
+
381
+ emailRequired?: boolean;
382
+
383
+ lineItems?: Array<LineItem>;
384
+
385
+ phoneNumberRequired?: boolean;
386
+
387
+ shippingAddressRequired?: boolean;
388
+
389
+ shippingRates?: Array<ShippingRate>;
390
+
391
+ applePay?: ApplePayOption;
392
+ };
393
+
394
+ export interface StripeExpressCheckoutElementClickEvent {
395
+ /**
396
+ * The type of element that emitted this event.
397
+ */
398
+ elementType: 'expressCheckout';
399
+
400
+ /**
401
+ * The payment method associated with the button that was clicked.
402
+ */
403
+ expressPaymentType: ExpressPaymentType;
404
+
405
+ /**
406
+ * Callback to configure the details shown on a payment interface, including which fields to collect.
407
+ * This must be called within 1 second of the 'click' event being emitted.
408
+ */
409
+ resolve: (resolveDetails?: ClickResolveDetails) => void;
410
+ }
411
+
412
+ export interface StripeExpressCheckoutElementConfirmEvent {
413
+ /**
414
+ * Callback when a payment is unsuccessful. Optionally, specifying a reason will show a more detailed error in the payment interface.
415
+ */
416
+ paymentFailed: (payload?: {
417
+ reason?: 'fail' | 'invalid_shipping_address';
418
+ }) => void;
419
+
420
+ billingDetails?: BillingDetails;
421
+
422
+ shippingAddress?: ShippingAddress;
423
+
424
+ shippingRate?: ShippingRate;
425
+
426
+ expressPaymentType: ExpressPaymentType;
427
+ }
428
+
429
+ export type ChangeResolveDetails = {
430
+ lineItems?: Array<LineItem>;
431
+ shippingRates?: Array<ShippingRate>;
432
+ applePay?: ApplePayUpdateOption;
433
+ };
434
+
435
+ export interface StripeExpressCheckoutElementShippingAddressChangeEvent {
436
+ name: string;
437
+ address: ExpressCheckoutPartialAddress;
438
+ resolve: (resolveDetails?: ChangeResolveDetails) => void;
439
+ reject: () => void;
440
+ }
441
+
442
+ export interface StripeExpressCheckoutElementShippingRateChangeEvent {
443
+ shippingRate: ShippingRate;
444
+ resolve: (resolveDetails?: ChangeResolveDetails) => void;
445
+ reject: () => void;
446
+ }