@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,151 @@
1
+ import {StripeElementBase, StripeElementClasses} from './base';
2
+ import {PaymentRequest} from '../payment-request';
3
+ import {Omit} from '../../utils';
4
+
5
+ export type StripePaymentRequestButtonElement = StripeElementBase & {
6
+ /**
7
+ * Triggered when the payment request button is clicked.
8
+ */
9
+ on(
10
+ eventType: 'click',
11
+ handler: (event: StripePaymentRequestButtonElementClickEvent) => any
12
+ ): StripePaymentRequestButtonElement;
13
+ once(
14
+ eventType: 'click',
15
+ handler: (event: StripePaymentRequestButtonElementClickEvent) => any
16
+ ): StripePaymentRequestButtonElement;
17
+ off(
18
+ eventType: 'click',
19
+ handler?: (event: StripePaymentRequestButtonElementClickEvent) => any
20
+ ): StripePaymentRequestButtonElement;
21
+
22
+ /**
23
+ * Triggered when the element is fully rendered and can accept `element.focus` calls.
24
+ */
25
+ on(
26
+ eventType: 'ready',
27
+ handler: (event: {elementType: 'paymentRequestButton'}) => any
28
+ ): StripePaymentRequestButtonElement;
29
+ once(
30
+ eventType: 'ready',
31
+ handler: (event: {elementType: 'paymentRequestButton'}) => any
32
+ ): StripePaymentRequestButtonElement;
33
+ off(
34
+ eventType: 'ready',
35
+ handler?: (event: {elementType: 'paymentRequestButton'}) => any
36
+ ): StripePaymentRequestButtonElement;
37
+
38
+ /**
39
+ * Triggered when the element gains focus.
40
+ */
41
+ on(
42
+ eventType: 'focus',
43
+ handler: (event: {elementType: 'paymentRequestButton'}) => any
44
+ ): StripePaymentRequestButtonElement;
45
+ once(
46
+ eventType: 'focus',
47
+ handler: (event: {elementType: 'paymentRequestButton'}) => any
48
+ ): StripePaymentRequestButtonElement;
49
+ off(
50
+ eventType: 'focus',
51
+ handler?: (event: {elementType: 'paymentRequestButton'}) => any
52
+ ): StripePaymentRequestButtonElement;
53
+
54
+ /**
55
+ * Triggered when the element loses focus.
56
+ */
57
+ on(
58
+ eventType: 'blur',
59
+ handler: (event: {elementType: 'paymentRequestButton'}) => any
60
+ ): StripePaymentRequestButtonElement;
61
+ once(
62
+ eventType: 'blur',
63
+ handler: (event: {elementType: 'paymentRequestButton'}) => any
64
+ ): StripePaymentRequestButtonElement;
65
+ off(
66
+ eventType: 'blur',
67
+ handler?: (event: {elementType: 'paymentRequestButton'}) => any
68
+ ): StripePaymentRequestButtonElement;
69
+
70
+ /**
71
+ * Updates the options the `PaymentRequestButtonElement` was initialized with.
72
+ * Updates are merged into the existing configuration.
73
+ *
74
+ * The styles of an `PaymentRequestButtonElement` can be dynamically changed using `element.update`.
75
+ * This method can be used to simulate CSS media queries that automatically adjust the size of elements when viewed on different devices.
76
+ */
77
+ update(
78
+ options: Partial<
79
+ Omit<StripePaymentRequestButtonElementOptions, 'paymentRequest'>
80
+ >
81
+ ): void;
82
+ };
83
+
84
+ export interface StripePaymentRequestButtonElementOptions {
85
+ classes?: StripeElementClasses;
86
+
87
+ /**
88
+ * An object used to customize the appearance of the Payment Request Button.
89
+ * The object must have a single `paymentRequestButton` field, containing any of the following sub-fields
90
+ */
91
+ style?: {
92
+ paymentRequestButton: {
93
+ /**
94
+ * Preferred button type to display. Available types, by wallet:
95
+ *
96
+ * Browser card: default, book, buy, or donate.
97
+ *
98
+ * Google Pay: default, buy, or donate.
99
+ *
100
+ * Apple Pay: default, book, buy, donate, check-out, subscribe, reload, add-money, top-up, order, rent, support, contribute, tip
101
+ *
102
+ * When a wallet does not support the provided value, default is used as a fallback.
103
+ */
104
+ type?:
105
+ | 'default'
106
+ | 'book'
107
+ | 'buy'
108
+ | 'donate'
109
+ | 'check-out'
110
+ | 'subscribe'
111
+ | 'reload'
112
+ | 'add-money'
113
+ | 'top-up'
114
+ | 'order'
115
+ | 'rent'
116
+ | 'support'
117
+ | 'contribute'
118
+ | 'tip';
119
+
120
+ /**
121
+ * One of dark, light, or light-outline. The default is dark.
122
+ */
123
+ theme?: 'dark' | 'light' | 'light-outline';
124
+
125
+ /**
126
+ * The height of the Payment Request Button. Accepts px unit values.
127
+ */
128
+ height?: string;
129
+
130
+ /**
131
+ * The gap between buttons when multile buttons are shown. Accepts px unit values.
132
+ */
133
+ buttonSpacing?: string;
134
+ };
135
+ };
136
+
137
+ /**
138
+ * A `PaymentRequest` object used to configure the element.
139
+ */
140
+ paymentRequest: PaymentRequest;
141
+
142
+ /**
143
+ * Disable showing multiple buttons.
144
+ * Default is `false`.
145
+ */
146
+ disableMultipleButtons?: boolean;
147
+ }
148
+
149
+ export interface StripePaymentRequestButtonElementClickEvent {
150
+ preventDefault: () => void;
151
+ }
@@ -0,0 +1,275 @@
1
+ import {StripeElementBase} from './base';
2
+ import {StripeError} from '../stripe';
3
+ import {ApplePayOption} from './apple-pay';
4
+
5
+ export type StripePaymentElement = StripeElementBase & {
6
+ /**
7
+ * The change event is triggered when the `Element`'s value changes.
8
+ */
9
+ on(
10
+ eventType: 'change',
11
+ handler: (event: StripePaymentElementChangeEvent) => any
12
+ ): StripePaymentElement;
13
+ once(
14
+ eventType: 'change',
15
+ handler: (event: StripePaymentElementChangeEvent) => any
16
+ ): StripePaymentElement;
17
+ off(
18
+ eventType: 'change',
19
+ handler?: (event: StripePaymentElementChangeEvent) => any
20
+ ): StripePaymentElement;
21
+
22
+ /**
23
+ * Triggered when the element is fully rendered and can accept `element.focus` calls.
24
+ */
25
+ on(
26
+ eventType: 'ready',
27
+ handler: (event: {elementType: 'payment'}) => any
28
+ ): StripePaymentElement;
29
+ once(
30
+ eventType: 'ready',
31
+ handler: (event: {elementType: 'payment'}) => any
32
+ ): StripePaymentElement;
33
+ off(
34
+ eventType: 'ready',
35
+ handler?: (event: {elementType: 'payment'}) => any
36
+ ): StripePaymentElement;
37
+
38
+ /**
39
+ * Triggered when the element gains focus.
40
+ */
41
+ on(
42
+ eventType: 'focus',
43
+ handler: (event: {elementType: 'payment'}) => any
44
+ ): StripePaymentElement;
45
+ once(
46
+ eventType: 'focus',
47
+ handler: (event: {elementType: 'payment'}) => any
48
+ ): StripePaymentElement;
49
+ off(
50
+ eventType: 'focus',
51
+ handler?: (event: {elementType: 'payment'}) => any
52
+ ): StripePaymentElement;
53
+
54
+ /**
55
+ * Triggered when the element loses focus.
56
+ */
57
+ on(
58
+ eventType: 'blur',
59
+ handler: (event: {elementType: 'payment'}) => any
60
+ ): StripePaymentElement;
61
+ once(
62
+ eventType: 'blur',
63
+ handler: (event: {elementType: 'payment'}) => any
64
+ ): StripePaymentElement;
65
+ off(
66
+ eventType: 'blur',
67
+ handler?: (event: {elementType: 'payment'}) => any
68
+ ): StripePaymentElement;
69
+
70
+ /**
71
+ * Triggered when the escape key is pressed within the element.
72
+ */
73
+ on(
74
+ eventType: 'escape',
75
+ handler: (event: {elementType: 'payment'}) => any
76
+ ): StripePaymentElement;
77
+ once(
78
+ eventType: 'escape',
79
+ handler: (event: {elementType: 'payment'}) => any
80
+ ): StripePaymentElement;
81
+ off(
82
+ eventType: 'escape',
83
+ handler?: (event: {elementType: 'payment'}) => any
84
+ ): StripePaymentElement;
85
+
86
+ /**
87
+ * Triggered when the element fails to load.
88
+ */
89
+ on(
90
+ eventType: 'loaderror',
91
+ handler: (event: {elementType: 'payment'; error: StripeError}) => any
92
+ ): StripePaymentElement;
93
+ once(
94
+ eventType: 'loaderror',
95
+ handler: (event: {elementType: 'payment'; error: StripeError}) => any
96
+ ): StripePaymentElement;
97
+ off(
98
+ eventType: 'loaderror',
99
+ handler?: (event: {elementType: 'payment'; error: StripeError}) => any
100
+ ): StripePaymentElement;
101
+
102
+ /**
103
+ * Triggered when the loader UI is mounted to the DOM and ready to be displayed.
104
+ */
105
+ on(
106
+ eventType: 'loaderstart',
107
+ handler: (event: {elementType: 'payment'}) => any
108
+ ): StripePaymentElement;
109
+ once(
110
+ eventType: 'loaderstart',
111
+ handler: (event: {elementType: 'payment'}) => any
112
+ ): StripePaymentElement;
113
+ off(
114
+ eventType: 'loaderstart',
115
+ handler?: (event: {elementType: 'payment'}) => any
116
+ ): StripePaymentElement;
117
+
118
+ /**
119
+ * Updates the options the `PaymentElement` was initialized with.
120
+ * Updates are merged into the existing configuration.
121
+ */
122
+ update(options: Partial<StripePaymentElementOptions>): StripePaymentElement;
123
+
124
+ /**
125
+ * Collapses the Payment Element into a row of payment method tabs.
126
+ */
127
+ collapse(): StripePaymentElement;
128
+ };
129
+
130
+ export interface DefaultValuesOption {
131
+ billingDetails?: {
132
+ name?: string;
133
+ email?: string;
134
+ phone?: string;
135
+ address?: {
136
+ country?: string;
137
+ postal_code?: string;
138
+ state?: string;
139
+ city?: string;
140
+ line1?: string;
141
+ line2?: string;
142
+ };
143
+ };
144
+ }
145
+
146
+ export type FieldOption = 'auto' | 'never';
147
+
148
+ export interface FieldsOption {
149
+ billingDetails?:
150
+ | FieldOption
151
+ | {
152
+ name?: FieldOption;
153
+ email?: FieldOption;
154
+ phone?: FieldOption;
155
+ address?:
156
+ | FieldOption
157
+ | {
158
+ country?: FieldOption;
159
+ postalCode?: FieldOption;
160
+ state?: FieldOption;
161
+ city?: FieldOption;
162
+ line1?: FieldOption;
163
+ line2?: FieldOption;
164
+ };
165
+ };
166
+ }
167
+
168
+ export type TermOption = 'auto' | 'always' | 'never';
169
+
170
+ export interface TermsOption {
171
+ applePay?: TermOption;
172
+ auBecsDebit?: TermOption;
173
+ bancontact?: TermOption;
174
+ card?: TermOption;
175
+ cashapp?: TermOption;
176
+ googlePay?: TermOption;
177
+ ideal?: TermOption;
178
+ paypal?: TermOption;
179
+ sepaDebit?: TermOption;
180
+ sofort?: TermOption;
181
+ usBankAccount?: TermOption;
182
+ }
183
+
184
+ export type PaymentWalletOption = 'auto' | 'never';
185
+
186
+ export interface PaymentWalletsOption {
187
+ applePay?: PaymentWalletOption;
188
+ googlePay?: PaymentWalletOption;
189
+ }
190
+
191
+ export type Layout = 'tabs' | 'accordion' | 'auto';
192
+
193
+ export interface LayoutObject {
194
+ type: Layout;
195
+ defaultCollapsed?: boolean;
196
+ radios?: boolean;
197
+ spacedAccordionItems?: boolean;
198
+ }
199
+
200
+ export interface StripePaymentElementOptions {
201
+ /**
202
+ * Provide initial customer information that will be displayed in the Payment Element.
203
+ */
204
+ defaultValues?: DefaultValuesOption;
205
+
206
+ /**
207
+ * Override the business name displayed in the Payment Element.
208
+ * By default the PaymentElement will use your Stripe account or business name.
209
+ */
210
+ business?: {name: string};
211
+
212
+ /**
213
+ * Override the order in which payment methods are displayed in the Payment Element.
214
+ * By default, the Payment Element will use a dynamic ordering that optimizes payment method display for each user.
215
+ */
216
+ paymentMethodOrder?: string[];
217
+
218
+ /**
219
+ * Control which fields are displayed in the Payment Element.
220
+ */
221
+ fields?: FieldsOption;
222
+
223
+ /**
224
+ * Apply a read-only state to the Payment Element so that payment details can’t be changed.
225
+ * Default is false.
226
+ */
227
+ readOnly?: boolean;
228
+
229
+ /**
230
+ * Control terms display in the Payment Element.
231
+ */
232
+ terms?: TermsOption;
233
+
234
+ /**
235
+ * Control wallets display in the Payment Element.
236
+ */
237
+ wallets?: PaymentWalletsOption;
238
+
239
+ /**
240
+ * Specify a layout to use when rendering a Payment Element.
241
+ */
242
+ layout?: Layout | LayoutObject;
243
+
244
+ /**
245
+ * Specify the options to be used when the Apple Pay payment interface opens.
246
+ */
247
+ applePay?: ApplePayOption;
248
+ }
249
+
250
+ export interface StripePaymentElementChangeEvent {
251
+ /**
252
+ * The type of element that emitted this event.
253
+ */
254
+ elementType: 'payment';
255
+
256
+ /**
257
+ * `true` if the all inputs in the Payment Element are empty.
258
+ */
259
+ empty: boolean;
260
+
261
+ /**
262
+ * `true` if the every input in the Payment Element is well-formed and potentially complete.
263
+ */
264
+ complete: boolean;
265
+
266
+ /**
267
+ * Whether or not the Payment Element is currently collapsed.
268
+ */
269
+ collapsed: boolean;
270
+
271
+ /**
272
+ * An object containing the currently selected PaymentMethod type (in snake_case, for example "afterpay_clearpay").
273
+ */
274
+ value: {type: string};
275
+ }
@@ -0,0 +1,275 @@
1
+ import {StripeElementBase} from './base';
2
+ import {StripeError} from '../stripe';
3
+ import {ApplePayOption} from './apple-pay';
4
+
5
+ export type StripePaymentElement = StripeElementBase & {
6
+ /**
7
+ * The change event is triggered when the `Element`'s value changes.
8
+ */
9
+ on(
10
+ eventType: 'change',
11
+ handler: (event: StripePaymentElementChangeEvent) => any
12
+ ): StripePaymentElement;
13
+ once(
14
+ eventType: 'change',
15
+ handler: (event: StripePaymentElementChangeEvent) => any
16
+ ): StripePaymentElement;
17
+ off(
18
+ eventType: 'change',
19
+ handler?: (event: StripePaymentElementChangeEvent) => any
20
+ ): StripePaymentElement;
21
+
22
+ /**
23
+ * Triggered when the element is fully rendered and can accept `element.focus` calls.
24
+ */
25
+ on(
26
+ eventType: 'ready',
27
+ handler: (event: {elementType: 'payment'}) => any
28
+ ): StripePaymentElement;
29
+ once(
30
+ eventType: 'ready',
31
+ handler: (event: {elementType: 'payment'}) => any
32
+ ): StripePaymentElement;
33
+ off(
34
+ eventType: 'ready',
35
+ handler?: (event: {elementType: 'payment'}) => any
36
+ ): StripePaymentElement;
37
+
38
+ /**
39
+ * Triggered when the element gains focus.
40
+ */
41
+ on(
42
+ eventType: 'focus',
43
+ handler: (event: {elementType: 'payment'}) => any
44
+ ): StripePaymentElement;
45
+ once(
46
+ eventType: 'focus',
47
+ handler: (event: {elementType: 'payment'}) => any
48
+ ): StripePaymentElement;
49
+ off(
50
+ eventType: 'focus',
51
+ handler?: (event: {elementType: 'payment'}) => any
52
+ ): StripePaymentElement;
53
+
54
+ /**
55
+ * Triggered when the element loses focus.
56
+ */
57
+ on(
58
+ eventType: 'blur',
59
+ handler: (event: {elementType: 'payment'}) => any
60
+ ): StripePaymentElement;
61
+ once(
62
+ eventType: 'blur',
63
+ handler: (event: {elementType: 'payment'}) => any
64
+ ): StripePaymentElement;
65
+ off(
66
+ eventType: 'blur',
67
+ handler?: (event: {elementType: 'payment'}) => any
68
+ ): StripePaymentElement;
69
+
70
+ /**
71
+ * Triggered when the escape key is pressed within the element.
72
+ */
73
+ on(
74
+ eventType: 'escape',
75
+ handler: (event: {elementType: 'payment'}) => any
76
+ ): StripePaymentElement;
77
+ once(
78
+ eventType: 'escape',
79
+ handler: (event: {elementType: 'payment'}) => any
80
+ ): StripePaymentElement;
81
+ off(
82
+ eventType: 'escape',
83
+ handler?: (event: {elementType: 'payment'}) => any
84
+ ): StripePaymentElement;
85
+
86
+ /**
87
+ * Triggered when the element fails to load.
88
+ */
89
+ on(
90
+ eventType: 'loaderror',
91
+ handler: (event: {elementType: 'payment'; error: StripeError}) => any
92
+ ): StripePaymentElement;
93
+ once(
94
+ eventType: 'loaderror',
95
+ handler: (event: {elementType: 'payment'; error: StripeError}) => any
96
+ ): StripePaymentElement;
97
+ off(
98
+ eventType: 'loaderror',
99
+ handler?: (event: {elementType: 'payment'; error: StripeError}) => any
100
+ ): StripePaymentElement;
101
+
102
+ /**
103
+ * Triggered when the loader UI is mounted to the DOM and ready to be displayed.
104
+ */
105
+ on(
106
+ eventType: 'loaderstart',
107
+ handler: (event: {elementType: 'payment'}) => any
108
+ ): StripePaymentElement;
109
+ once(
110
+ eventType: 'loaderstart',
111
+ handler: (event: {elementType: 'payment'}) => any
112
+ ): StripePaymentElement;
113
+ off(
114
+ eventType: 'loaderstart',
115
+ handler?: (event: {elementType: 'payment'}) => any
116
+ ): StripePaymentElement;
117
+
118
+ /**
119
+ * Updates the options the `PaymentElement` was initialized with.
120
+ * Updates are merged into the existing configuration.
121
+ */
122
+ update(options: Partial<StripePaymentElementOptions>): StripePaymentElement;
123
+
124
+ /**
125
+ * Collapses the Payment Element into a row of payment method tabs.
126
+ */
127
+ collapse(): StripePaymentElement;
128
+ };
129
+
130
+ export interface DefaultValuesOption {
131
+ billingDetails?: {
132
+ name?: string;
133
+ email?: string;
134
+ phone?: string;
135
+ address?: {
136
+ country?: string;
137
+ postal_code?: string;
138
+ state?: string;
139
+ city?: string;
140
+ line1?: string;
141
+ line2?: string;
142
+ };
143
+ };
144
+ }
145
+
146
+ export type FieldOption = 'auto' | 'never';
147
+
148
+ export interface FieldsOption {
149
+ billingDetails?:
150
+ | FieldOption
151
+ | {
152
+ name?: FieldOption;
153
+ email?: FieldOption;
154
+ phone?: FieldOption;
155
+ address?:
156
+ | FieldOption
157
+ | {
158
+ country?: FieldOption;
159
+ postalCode?: FieldOption;
160
+ state?: FieldOption;
161
+ city?: FieldOption;
162
+ line1?: FieldOption;
163
+ line2?: FieldOption;
164
+ };
165
+ };
166
+ }
167
+
168
+ export type TermOption = 'auto' | 'always' | 'never';
169
+
170
+ export interface TermsOption {
171
+ applePay?: TermOption;
172
+ auBecsDebit?: TermOption;
173
+ bancontact?: TermOption;
174
+ card?: TermOption;
175
+ cashapp?: TermOption;
176
+ googlePay?: TermOption;
177
+ ideal?: TermOption;
178
+ paypal?: TermOption;
179
+ sepaDebit?: TermOption;
180
+ sofort?: TermOption;
181
+ usBankAccount?: TermOption;
182
+ }
183
+
184
+ export type PaymentWalletOption = 'auto' | 'never';
185
+
186
+ export interface PaymentWalletsOption {
187
+ applePay?: PaymentWalletOption;
188
+ googlePay?: PaymentWalletOption;
189
+ }
190
+
191
+ export type Layout = 'tabs' | 'accordion' | 'auto';
192
+
193
+ export interface LayoutObject {
194
+ type: Layout;
195
+ defaultCollapsed?: boolean;
196
+ radios?: boolean;
197
+ spacedAccordionItems?: boolean;
198
+ }
199
+
200
+ export interface StripePaymentElementOptions {
201
+ /**
202
+ * Provide initial customer information that will be displayed in the Payment Element.
203
+ */
204
+ defaultValues?: DefaultValuesOption;
205
+
206
+ /**
207
+ * Override the business name displayed in the Payment Element.
208
+ * By default the PaymentElement will use your Stripe account or business name.
209
+ */
210
+ business?: {name: string};
211
+
212
+ /**
213
+ * Override the order in which payment methods are displayed in the Payment Element.
214
+ * By default, the Payment Element will use a dynamic ordering that optimizes payment method display for each user.
215
+ */
216
+ paymentMethodOrder?: string[];
217
+
218
+ /**
219
+ * Control which fields are displayed in the Payment Element.
220
+ */
221
+ fields?: FieldsOption;
222
+
223
+ /**
224
+ * Apply a read-only state to the Payment Element so that payment details can’t be changed.
225
+ * Default is false.
226
+ */
227
+ readOnly?: boolean;
228
+
229
+ /**
230
+ * Control terms display in the Payment Element.
231
+ */
232
+ terms?: TermsOption;
233
+
234
+ /**
235
+ * Control wallets display in the Payment Element.
236
+ */
237
+ wallets?: PaymentWalletsOption;
238
+
239
+ /**
240
+ * Specify a layout to use when rendering a Payment Element.
241
+ */
242
+ layout?: Layout | LayoutObject;
243
+
244
+ /**
245
+ * Specify the options to be used when the Apple Pay payment interface opens.
246
+ */
247
+ applePay?: ApplePayOption;
248
+ }
249
+
250
+ export interface StripePaymentElementChangeEvent {
251
+ /**
252
+ * The type of element that emitted this event.
253
+ */
254
+ elementType: 'payment';
255
+
256
+ /**
257
+ * `true` if the all inputs in the Payment Element are empty.
258
+ */
259
+ empty: boolean;
260
+
261
+ /**
262
+ * `true` if the every input in the Payment Element is well-formed and potentially complete.
263
+ */
264
+ complete: boolean;
265
+
266
+ /**
267
+ * Whether or not the Payment Element is currently collapsed.
268
+ */
269
+ collapsed: boolean;
270
+
271
+ /**
272
+ * An object containing the currently selected PaymentMethod type (in snake_case, for example "afterpay_clearpay").
273
+ */
274
+ value: {type: string};
275
+ }