@stripe/stripe-js 3.0.10 → 3.2.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 (133) 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/confirmation-tokens.d.mts +191 -0
  6. package/dist/api/confirmation-tokens.d.ts +191 -0
  7. package/dist/api/financial-connections.d.mts +232 -0
  8. package/dist/api/financial-connections.d.ts +232 -0
  9. package/dist/api/index.d.mts +12 -0
  10. package/dist/api/index.d.ts +12 -0
  11. package/dist/api/orders.d.mts +122 -0
  12. package/dist/api/orders.d.ts +122 -0
  13. package/dist/api/payment-intents.d.mts +330 -0
  14. package/dist/api/payment-intents.d.ts +330 -0
  15. package/dist/api/payment-methods.d.mts +452 -0
  16. package/dist/api/payment-methods.d.ts +452 -0
  17. package/dist/api/setup-intents.d.mts +184 -0
  18. package/dist/api/setup-intents.d.ts +184 -0
  19. package/dist/api/shared.d.mts +125 -0
  20. package/dist/api/shared.d.ts +125 -0
  21. package/dist/api/sources.d.mts +1045 -0
  22. package/dist/api/sources.d.ts +1045 -0
  23. package/dist/api/tokens.d.mts +639 -0
  24. package/dist/api/tokens.d.ts +639 -0
  25. package/dist/api/verification-sessions.d.mts +9 -0
  26. package/dist/api/verification-sessions.d.ts +9 -0
  27. package/dist/index.d.mts +4 -12792
  28. package/dist/index.d.ts +4 -12792
  29. package/dist/{stripe.js → index.js} +1 -1
  30. package/dist/{stripe.mjs → index.mjs} +1 -1
  31. package/dist/pure.d.mts +5 -0
  32. package/dist/pure.d.ts +5 -0
  33. package/dist/pure.js +204 -0
  34. package/dist/pure.mjs +200 -0
  35. package/dist/shared.d.mts +6 -0
  36. package/dist/shared.d.ts +6 -0
  37. package/dist/stripe-js/checkout.d.mts +153 -0
  38. package/dist/stripe-js/checkout.d.ts +153 -0
  39. package/dist/stripe-js/confirmation-tokens.d.mts +1 -0
  40. package/dist/stripe-js/confirmation-tokens.d.ts +1 -0
  41. package/dist/stripe-js/custom-checkout.d.mts +402 -0
  42. package/dist/stripe-js/custom-checkout.d.ts +402 -0
  43. package/dist/stripe-js/elements/address.d.mts +261 -0
  44. package/dist/stripe-js/elements/address.d.ts +261 -0
  45. package/dist/stripe-js/elements/affirm-message.d.mts +65 -0
  46. package/dist/stripe-js/elements/affirm-message.d.ts +65 -0
  47. package/dist/stripe-js/elements/afterpay-clearpay-message.d.mts +119 -0
  48. package/dist/stripe-js/elements/afterpay-clearpay-message.d.ts +119 -0
  49. package/dist/stripe-js/elements/apple-pay.d.mts +156 -0
  50. package/dist/stripe-js/elements/apple-pay.d.ts +156 -0
  51. package/dist/stripe-js/elements/au-bank-account.d.mts +138 -0
  52. package/dist/stripe-js/elements/au-bank-account.d.ts +138 -0
  53. package/dist/stripe-js/elements/base.d.mts +264 -0
  54. package/dist/stripe-js/elements/base.d.ts +264 -0
  55. package/dist/stripe-js/elements/card-cvc.d.mts +119 -0
  56. package/dist/stripe-js/elements/card-cvc.d.ts +119 -0
  57. package/dist/stripe-js/elements/card-expiry.d.mts +119 -0
  58. package/dist/stripe-js/elements/card-expiry.d.ts +119 -0
  59. package/dist/stripe-js/elements/card-number.d.mts +200 -0
  60. package/dist/stripe-js/elements/card-number.d.ts +200 -0
  61. package/dist/stripe-js/elements/card.d.mts +226 -0
  62. package/dist/stripe-js/elements/card.d.ts +226 -0
  63. package/dist/stripe-js/elements/cart.d.mts +224 -0
  64. package/dist/stripe-js/elements/cart.d.ts +224 -0
  65. package/dist/stripe-js/elements/eps-bank.d.mts +140 -0
  66. package/dist/stripe-js/elements/eps-bank.d.ts +140 -0
  67. package/dist/stripe-js/elements/express-checkout.d.mts +446 -0
  68. package/dist/stripe-js/elements/express-checkout.d.ts +446 -0
  69. package/dist/stripe-js/elements/fpx-bank.d.mts +134 -0
  70. package/dist/stripe-js/elements/fpx-bank.d.ts +134 -0
  71. package/dist/stripe-js/elements/iban.d.mts +135 -0
  72. package/dist/stripe-js/elements/iban.d.ts +135 -0
  73. package/dist/stripe-js/elements/ideal-bank.d.mts +140 -0
  74. package/dist/stripe-js/elements/ideal-bank.d.ts +140 -0
  75. package/dist/stripe-js/elements/index.d.mts +22 -0
  76. package/dist/stripe-js/elements/index.d.ts +22 -0
  77. package/dist/stripe-js/elements/issuing/index.d.mts +5 -0
  78. package/dist/stripe-js/elements/issuing/index.d.ts +5 -0
  79. package/dist/stripe-js/elements/issuing/issuing-card-copy-button.d.mts +37 -0
  80. package/dist/stripe-js/elements/issuing/issuing-card-copy-button.d.ts +37 -0
  81. package/dist/stripe-js/elements/issuing/issuing-card-cvc-display.d.mts +32 -0
  82. package/dist/stripe-js/elements/issuing/issuing-card-cvc-display.d.ts +32 -0
  83. package/dist/stripe-js/elements/issuing/issuing-card-expiry-display.d.mts +32 -0
  84. package/dist/stripe-js/elements/issuing/issuing-card-expiry-display.d.ts +32 -0
  85. package/dist/stripe-js/elements/issuing/issuing-card-number-display.d.mts +40 -0
  86. package/dist/stripe-js/elements/issuing/issuing-card-number-display.d.ts +40 -0
  87. package/dist/stripe-js/elements/issuing/issuing-card-pin-display.d.mts +32 -0
  88. package/dist/stripe-js/elements/issuing/issuing-card-pin-display.d.ts +32 -0
  89. package/dist/stripe-js/elements/link-authentication.d.mts +158 -0
  90. package/dist/stripe-js/elements/link-authentication.d.ts +158 -0
  91. package/dist/stripe-js/elements/p24-bank.d.mts +140 -0
  92. package/dist/stripe-js/elements/p24-bank.d.ts +140 -0
  93. package/dist/stripe-js/elements/payment-method-messaging.d.mts +98 -0
  94. package/dist/stripe-js/elements/payment-method-messaging.d.ts +98 -0
  95. package/dist/stripe-js/elements/payment-request-button.d.mts +151 -0
  96. package/dist/stripe-js/elements/payment-request-button.d.ts +151 -0
  97. package/dist/stripe-js/elements/payment.d.mts +275 -0
  98. package/dist/stripe-js/elements/payment.d.ts +275 -0
  99. package/dist/stripe-js/elements/shipping-address.d.mts +215 -0
  100. package/dist/stripe-js/elements/shipping-address.d.ts +215 -0
  101. package/dist/stripe-js/elements-group.d.mts +1143 -0
  102. package/dist/stripe-js/elements-group.d.ts +1143 -0
  103. package/dist/stripe-js/embedded-checkout.d.mts +35 -0
  104. package/dist/stripe-js/embedded-checkout.d.ts +35 -0
  105. package/dist/stripe-js/ephemeral-keys.d.mts +3 -0
  106. package/dist/stripe-js/ephemeral-keys.d.ts +3 -0
  107. package/dist/stripe-js/financial-connections.d.mts +19 -0
  108. package/dist/stripe-js/financial-connections.d.ts +19 -0
  109. package/dist/stripe-js/index.d.mts +13 -0
  110. package/dist/stripe-js/index.d.ts +13 -0
  111. package/dist/stripe-js/orders.d.mts +9 -0
  112. package/dist/stripe-js/orders.d.ts +9 -0
  113. package/dist/stripe-js/payment-intents.d.mts +1473 -0
  114. package/dist/stripe-js/payment-intents.d.ts +1473 -0
  115. package/dist/stripe-js/payment-request.d.mts +529 -0
  116. package/dist/stripe-js/payment-request.d.ts +529 -0
  117. package/dist/stripe-js/setup-intents.d.mts +250 -0
  118. package/dist/stripe-js/setup-intents.d.ts +250 -0
  119. package/dist/stripe-js/stripe.d.mts +1486 -0
  120. package/dist/stripe-js/stripe.d.ts +1486 -0
  121. package/dist/stripe-js/token-and-sources.d.mts +110 -0
  122. package/dist/stripe-js/token-and-sources.d.ts +110 -0
  123. package/dist/utils.d.mts +2 -0
  124. package/dist/utils.d.ts +2 -0
  125. package/lib/index.d.mts +1 -0
  126. package/lib/index.d.ts +1 -0
  127. package/lib/index.js +2 -0
  128. package/lib/index.mjs +1 -0
  129. package/package.json +11 -10
  130. package/pure/index.d.mts +1 -12771
  131. package/pure/index.d.ts +1 -12771
  132. package/pure/index.js +1 -204
  133. 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 StripeP24BankElement = StripeElementBase & {
9
+ /**
10
+ * The change event is triggered when the `Element`'s value changes.
11
+ */
12
+ on(
13
+ eventType: 'change',
14
+ handler: (event: StripeP24BankElementChangeEvent) => any
15
+ ): StripeP24BankElement;
16
+ once(
17
+ eventType: 'change',
18
+ handler: (event: StripeP24BankElementChangeEvent) => any
19
+ ): StripeP24BankElement;
20
+ off(
21
+ eventType: 'change',
22
+ handler: (event: StripeP24BankElementChangeEvent) => any
23
+ ): StripeP24BankElement;
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: 'p24Bank'}) => any
31
+ ): StripeP24BankElement;
32
+ once(
33
+ eventType: 'ready',
34
+ handler: (event: {elementType: 'p24Bank'}) => any
35
+ ): StripeP24BankElement;
36
+ off(
37
+ eventType: 'ready',
38
+ handler: (event: {elementType: 'p24Bank'}) => any
39
+ ): StripeP24BankElement;
40
+
41
+ /**
42
+ * Triggered when the element gains focus.
43
+ */
44
+ on(
45
+ eventType: 'focus',
46
+ handler: (event: {elementType: 'p24Bank'}) => any
47
+ ): StripeP24BankElement;
48
+ once(
49
+ eventType: 'focus',
50
+ handler: (event: {elementType: 'p24Bank'}) => any
51
+ ): StripeP24BankElement;
52
+ off(
53
+ eventType: 'focus',
54
+ handler: (event: {elementType: 'p24Bank'}) => any
55
+ ): StripeP24BankElement;
56
+
57
+ /**
58
+ * Triggered when the element loses focus.
59
+ */
60
+ on(
61
+ eventType: 'blur',
62
+ handler: (event: {elementType: 'p24Bank'}) => any
63
+ ): StripeP24BankElement;
64
+ once(
65
+ eventType: 'blur',
66
+ handler: (event: {elementType: 'p24Bank'}) => any
67
+ ): StripeP24BankElement;
68
+ off(
69
+ eventType: 'blur',
70
+ handler: (event: {elementType: 'p24Bank'}) => any
71
+ ): StripeP24BankElement;
72
+
73
+ /**
74
+ * Triggered when the escape key is pressed within the element.
75
+ */
76
+ on(
77
+ eventType: 'escape',
78
+ handler: (event: {elementType: 'p24Bank'}) => any
79
+ ): StripeP24BankElement;
80
+ once(
81
+ eventType: 'escape',
82
+ handler: (event: {elementType: 'p24Bank'}) => any
83
+ ): StripeP24BankElement;
84
+ off(
85
+ eventType: 'escape',
86
+ handler: (event: {elementType: 'p24Bank'}) => any
87
+ ): StripeP24BankElement;
88
+
89
+ /**
90
+ * Updates the options the `P24BankElement` was initialized with.
91
+ * Updates are merged into the existing configuration.
92
+ *
93
+ * The styles of an `P24BankElement` 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<StripeP24BankElementOptions>): void;
97
+ };
98
+
99
+ export interface StripeP24BankElementOptions {
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 [Przelewy24 guide](https://stripe.com/docs/payments/p24/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 StripeP24BankElementChangeEvent
129
+ extends StripeElementChangeEvent {
130
+ /**
131
+ * The type of element that emitted this event.
132
+ */
133
+ elementType: 'p24Bank';
134
+
135
+ /**
136
+ * A pre-filled value for the Element.
137
+ * Can be one of the banks listed in the [Przelewy24 guide](https://stripe.com/docs/payments/p24/accept-a-payment#bank-values) (e.g., `ing`).
138
+ */
139
+ value?: string;
140
+ }
@@ -0,0 +1,140 @@
1
+ import {
2
+ StripeElementBase,
3
+ StripeElementStyle,
4
+ StripeElementClasses,
5
+ StripeElementChangeEvent,
6
+ } from './base';
7
+
8
+ export type StripeP24BankElement = StripeElementBase & {
9
+ /**
10
+ * The change event is triggered when the `Element`'s value changes.
11
+ */
12
+ on(
13
+ eventType: 'change',
14
+ handler: (event: StripeP24BankElementChangeEvent) => any
15
+ ): StripeP24BankElement;
16
+ once(
17
+ eventType: 'change',
18
+ handler: (event: StripeP24BankElementChangeEvent) => any
19
+ ): StripeP24BankElement;
20
+ off(
21
+ eventType: 'change',
22
+ handler: (event: StripeP24BankElementChangeEvent) => any
23
+ ): StripeP24BankElement;
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: 'p24Bank'}) => any
31
+ ): StripeP24BankElement;
32
+ once(
33
+ eventType: 'ready',
34
+ handler: (event: {elementType: 'p24Bank'}) => any
35
+ ): StripeP24BankElement;
36
+ off(
37
+ eventType: 'ready',
38
+ handler: (event: {elementType: 'p24Bank'}) => any
39
+ ): StripeP24BankElement;
40
+
41
+ /**
42
+ * Triggered when the element gains focus.
43
+ */
44
+ on(
45
+ eventType: 'focus',
46
+ handler: (event: {elementType: 'p24Bank'}) => any
47
+ ): StripeP24BankElement;
48
+ once(
49
+ eventType: 'focus',
50
+ handler: (event: {elementType: 'p24Bank'}) => any
51
+ ): StripeP24BankElement;
52
+ off(
53
+ eventType: 'focus',
54
+ handler: (event: {elementType: 'p24Bank'}) => any
55
+ ): StripeP24BankElement;
56
+
57
+ /**
58
+ * Triggered when the element loses focus.
59
+ */
60
+ on(
61
+ eventType: 'blur',
62
+ handler: (event: {elementType: 'p24Bank'}) => any
63
+ ): StripeP24BankElement;
64
+ once(
65
+ eventType: 'blur',
66
+ handler: (event: {elementType: 'p24Bank'}) => any
67
+ ): StripeP24BankElement;
68
+ off(
69
+ eventType: 'blur',
70
+ handler: (event: {elementType: 'p24Bank'}) => any
71
+ ): StripeP24BankElement;
72
+
73
+ /**
74
+ * Triggered when the escape key is pressed within the element.
75
+ */
76
+ on(
77
+ eventType: 'escape',
78
+ handler: (event: {elementType: 'p24Bank'}) => any
79
+ ): StripeP24BankElement;
80
+ once(
81
+ eventType: 'escape',
82
+ handler: (event: {elementType: 'p24Bank'}) => any
83
+ ): StripeP24BankElement;
84
+ off(
85
+ eventType: 'escape',
86
+ handler: (event: {elementType: 'p24Bank'}) => any
87
+ ): StripeP24BankElement;
88
+
89
+ /**
90
+ * Updates the options the `P24BankElement` was initialized with.
91
+ * Updates are merged into the existing configuration.
92
+ *
93
+ * The styles of an `P24BankElement` 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<StripeP24BankElementOptions>): void;
97
+ };
98
+
99
+ export interface StripeP24BankElementOptions {
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 [Przelewy24 guide](https://stripe.com/docs/payments/p24/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 StripeP24BankElementChangeEvent
129
+ extends StripeElementChangeEvent {
130
+ /**
131
+ * The type of element that emitted this event.
132
+ */
133
+ elementType: 'p24Bank';
134
+
135
+ /**
136
+ * A pre-filled value for the Element.
137
+ * Can be one of the banks listed in the [Przelewy24 guide](https://stripe.com/docs/payments/p24/accept-a-payment#bank-values) (e.g., `ing`).
138
+ */
139
+ value?: string;
140
+ }
@@ -0,0 +1,98 @@
1
+ export type StripePaymentMethodMessagingElement = {
2
+ /**
3
+ * The `element.mount` method attaches your [Element](https://stripe.com/docs/js/element) to the DOM.
4
+ * `element.mount` accepts either a CSS Selector (e.g., `'#payment-method-messaging'`) or a DOM element.
5
+ */
6
+ mount(domElement: string | HTMLElement): void;
7
+
8
+ /**
9
+ * Removes the element from the DOM and destroys it.
10
+ * A destroyed element can not be re-activated or re-mounted to the DOM.
11
+ */
12
+ destroy(): void;
13
+
14
+ /**
15
+ * Unmounts the element from the DOM.
16
+ * Call `element.mount` to re-attach it to the DOM.
17
+ */
18
+ unmount(): void;
19
+
20
+ /**
21
+ * Updates the options the `PaymentMethodMessagingElement` was initialized with.
22
+ * Updates are merged into the existing configuration.
23
+ */
24
+ update(options: Partial<StripePaymentMethodMessagingElementOptions>): void;
25
+
26
+ /**
27
+ * Triggered when the element is fully loaded and ready to perform method calls.
28
+ */
29
+ on(
30
+ eventType: 'ready',
31
+ handler: (event: {elementType: 'paymentMethodMessaging'}) => any
32
+ ): StripePaymentMethodMessagingElement;
33
+ };
34
+
35
+ export interface StripePaymentMethodMessagingElementOptions {
36
+ /**
37
+ * The total amount in the smallest currency unit.
38
+ */
39
+ amount: number;
40
+
41
+ /**
42
+ * The currency to display.
43
+ */
44
+ currency:
45
+ | 'USD'
46
+ | 'GBP'
47
+ | 'EUR'
48
+ | 'DKK'
49
+ | 'NOK'
50
+ | 'SEK'
51
+ | 'AUD'
52
+ | 'CAD'
53
+ | 'NZD';
54
+
55
+ /**
56
+ * Payment methods to show messaging for.
57
+ */
58
+ paymentMethodTypes: Array<'afterpay_clearpay' | 'klarna' | 'affirm'>;
59
+
60
+ /**
61
+ * @deprecated Use `paymentMethodTypes` instead.
62
+ */
63
+ paymentMethods?: Array<'afterpay_clearpay' | 'klarna' | 'affirm'>;
64
+
65
+ /**
66
+ * The country the end-buyer is in.
67
+ */
68
+ countryCode:
69
+ | 'US'
70
+ | 'CA'
71
+ | 'AU'
72
+ | 'NZ'
73
+ | 'GB'
74
+ | 'IE'
75
+ | 'FR'
76
+ | 'ES'
77
+ | 'DE'
78
+ | 'AT'
79
+ | 'BE'
80
+ | 'DK'
81
+ | 'FI'
82
+ | 'IT'
83
+ | 'NL'
84
+ | 'NO'
85
+ | 'SE';
86
+
87
+ /**
88
+ * The logo color to display in the message. Defaults to black
89
+ */
90
+ logoColor?: 'black' | 'white' | 'color';
91
+
92
+ /**
93
+ * The font size of the promotional message.
94
+ */
95
+ metaData?: {
96
+ messagingClientReferenceId: string | null;
97
+ };
98
+ }
@@ -0,0 +1,98 @@
1
+ export type StripePaymentMethodMessagingElement = {
2
+ /**
3
+ * The `element.mount` method attaches your [Element](https://stripe.com/docs/js/element) to the DOM.
4
+ * `element.mount` accepts either a CSS Selector (e.g., `'#payment-method-messaging'`) or a DOM element.
5
+ */
6
+ mount(domElement: string | HTMLElement): void;
7
+
8
+ /**
9
+ * Removes the element from the DOM and destroys it.
10
+ * A destroyed element can not be re-activated or re-mounted to the DOM.
11
+ */
12
+ destroy(): void;
13
+
14
+ /**
15
+ * Unmounts the element from the DOM.
16
+ * Call `element.mount` to re-attach it to the DOM.
17
+ */
18
+ unmount(): void;
19
+
20
+ /**
21
+ * Updates the options the `PaymentMethodMessagingElement` was initialized with.
22
+ * Updates are merged into the existing configuration.
23
+ */
24
+ update(options: Partial<StripePaymentMethodMessagingElementOptions>): void;
25
+
26
+ /**
27
+ * Triggered when the element is fully loaded and ready to perform method calls.
28
+ */
29
+ on(
30
+ eventType: 'ready',
31
+ handler: (event: {elementType: 'paymentMethodMessaging'}) => any
32
+ ): StripePaymentMethodMessagingElement;
33
+ };
34
+
35
+ export interface StripePaymentMethodMessagingElementOptions {
36
+ /**
37
+ * The total amount in the smallest currency unit.
38
+ */
39
+ amount: number;
40
+
41
+ /**
42
+ * The currency to display.
43
+ */
44
+ currency:
45
+ | 'USD'
46
+ | 'GBP'
47
+ | 'EUR'
48
+ | 'DKK'
49
+ | 'NOK'
50
+ | 'SEK'
51
+ | 'AUD'
52
+ | 'CAD'
53
+ | 'NZD';
54
+
55
+ /**
56
+ * Payment methods to show messaging for.
57
+ */
58
+ paymentMethodTypes: Array<'afterpay_clearpay' | 'klarna' | 'affirm'>;
59
+
60
+ /**
61
+ * @deprecated Use `paymentMethodTypes` instead.
62
+ */
63
+ paymentMethods?: Array<'afterpay_clearpay' | 'klarna' | 'affirm'>;
64
+
65
+ /**
66
+ * The country the end-buyer is in.
67
+ */
68
+ countryCode:
69
+ | 'US'
70
+ | 'CA'
71
+ | 'AU'
72
+ | 'NZ'
73
+ | 'GB'
74
+ | 'IE'
75
+ | 'FR'
76
+ | 'ES'
77
+ | 'DE'
78
+ | 'AT'
79
+ | 'BE'
80
+ | 'DK'
81
+ | 'FI'
82
+ | 'IT'
83
+ | 'NL'
84
+ | 'NO'
85
+ | 'SE';
86
+
87
+ /**
88
+ * The logo color to display in the message. Defaults to black
89
+ */
90
+ logoColor?: 'black' | 'white' | 'color';
91
+
92
+ /**
93
+ * The font size of the promotional message.
94
+ */
95
+ metaData?: {
96
+ messagingClientReferenceId: string | null;
97
+ };
98
+ }
@@ -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
+ }