@capacitor-community/stripe-terminal 6.0.2 → 6.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 (36) hide show
  1. package/CapacitorCommunityStripeTerminal.podspec +1 -1
  2. package/README.md +767 -28
  3. package/android/build.gradle +1 -1
  4. package/android/src/main/java/com/getcapacitor/community/stripe/terminal/StripeTerminal.java +372 -51
  5. package/android/src/main/java/com/getcapacitor/community/stripe/terminal/StripeTerminalPlugin.java +61 -5
  6. package/android/src/main/java/com/getcapacitor/community/stripe/terminal/TerminalEvent.kt +14 -0
  7. package/android/src/main/java/com/getcapacitor/community/stripe/terminal/helper/TerminalMappers.java +96 -0
  8. package/dist/docs.json +1389 -111
  9. package/dist/esm/definitions.d.ts +263 -11
  10. package/dist/esm/definitions.js +1 -8
  11. package/dist/esm/definitions.js.map +1 -1
  12. package/dist/esm/events.enum.d.ts +15 -1
  13. package/dist/esm/events.enum.js +14 -0
  14. package/dist/esm/events.enum.js.map +1 -1
  15. package/dist/esm/stripe-types/proto.d.ts +501 -0
  16. package/dist/esm/stripe-types/proto.js +2 -0
  17. package/dist/esm/stripe-types/proto.js.map +1 -0
  18. package/dist/esm/stripe.enum.d.ts +154 -0
  19. package/dist/esm/stripe.enum.js +170 -0
  20. package/dist/esm/stripe.enum.js.map +1 -0
  21. package/dist/esm/terminalMappers.d.ts +23 -0
  22. package/dist/esm/terminalMappers.js +119 -0
  23. package/dist/esm/terminalMappers.js.map +1 -0
  24. package/dist/esm/web.d.ts +25 -2
  25. package/dist/esm/web.js +137 -13
  26. package/dist/esm/web.js.map +1 -1
  27. package/dist/plugin.cjs.js +428 -13
  28. package/dist/plugin.cjs.js.map +1 -1
  29. package/dist/plugin.js +429 -15
  30. package/dist/plugin.js.map +1 -1
  31. package/ios/Plugin/StripeTerminal.swift +345 -61
  32. package/ios/Plugin/StripeTerminalPlugin.m +7 -0
  33. package/ios/Plugin/StripeTerminalPlugin.swift +29 -4
  34. package/ios/Plugin/TerminalEvents.swift +14 -0
  35. package/ios/Plugin/TerminalMappers.swift +269 -0
  36. package/package.json +4 -1
package/README.md CHANGED
@@ -1,20 +1,21 @@
1
1
  # @capacitor-community/stripe-terminal
2
2
 
3
- Stripe SDK bindings for Capacitor Applications. __This plugin is still in beta.__
3
+ Stripe SDK bindings for Capacitor Applications. __This plugin is still in rc(pre-release) version.__
4
4
  We have confirmed that it works well in the demo project. Please refer to https://github.com/capacitor-community/stripe/tree/main/demo/angular for the implementation.
5
5
 
6
- - [x] Tap To Pay
7
- - [x] Internet
8
- - [x] Bluetooth
9
- - [x] USB
10
-
11
6
  ## Install
12
7
 
13
8
  ```bash
14
- npm install @capacitor-community/stripe-terminal
9
+ npm install @capacitor-community/stripe-terminal @stripe/terminal-js
15
10
  npx cap sync
16
11
  ```
17
12
 
13
+ ### Web
14
+
15
+ No additional steps are necessary.
16
+
17
+ __Note: Stripe Web SDK is beta version. So this plugin's implement is experimental. Please refer to https://github.com/stripe/terminal-js for more information.__
18
+
18
19
  ### iOS
19
20
 
20
21
  - [iOS Configure your app](https://stripe.com/docs/terminal/payments/setup-integration?terminal-sdk-platform=ios#configure)
@@ -57,7 +58,9 @@ And update minSdkVersion to 26 And compileSdkVersion to 34 in your `android/app/
57
58
 
58
59
  ## Usage
59
60
 
60
- ### use native http client for getting a token
61
+ ### Simple collect payment
62
+
63
+ #### Use plugin client
61
64
 
62
65
  ```typescript
63
66
  (async ()=> {
@@ -81,7 +84,7 @@ And update minSdkVersion to 26 And compileSdkVersion to 34 in your `android/app/
81
84
  });
82
85
  ```
83
86
 
84
- ### set string token
87
+ #### set string token
85
88
 
86
89
  ```typescript
87
90
  (async ()=> {
@@ -109,6 +112,95 @@ And update minSdkVersion to 26 And compileSdkVersion to 34 in your `android/app/
109
112
  });
110
113
  ````
111
114
 
115
+ ### Listen device update
116
+
117
+ The device will **if necessary** automatically start updating itself. It is important to handle them as needed so as not to disrupt business operations.
118
+
119
+ ```ts
120
+ (async ()=> {
121
+ StripeTerminal.addListener(TerminalEventsEnum.ReportAvailableUpdate, async ({ update }) => {
122
+ if (window.confirm("Will you update the device?")) {
123
+ await StripeTerminal.installAvailableUpdate();
124
+ }
125
+ });
126
+ StripeTerminal.addListener(TerminalEventsEnum.StartInstallingUpdate, async ({ update }) => {
127
+ console.log(update);
128
+ if (window.confirm("Will you interrupt the update?")) {
129
+ StripeTerminal.cancelInstallUpdate();
130
+ }
131
+ });
132
+ StripeTerminal.addListener(TerminalEventsEnum.ReaderSoftwareUpdateProgress, async ({ progress }) => {
133
+ // be able to use this value to create a progress bar.
134
+ });
135
+ StripeTerminal.addListener(TerminalEventsEnum.FinishInstallingUpdate, async ({ update }) => {
136
+ console.log(update);
137
+ });
138
+ });
139
+ ```
140
+
141
+ ### Get terminal processing information
142
+
143
+ For devices without leader screen, processing information must be retrieved and displayed on the mobile device. Get it with a listener.
144
+
145
+ ```ts
146
+ /**
147
+ * Listen battery level. If the battery level is low, you can notify the user to charge the device.
148
+ */
149
+ StripeTerminal.addListener(TerminalEventsEnum.BatteryLevel, async ({ level, charging, status }) => {
150
+ console.log(level, charging, status);
151
+ });
152
+
153
+ /**
154
+ * Listen reader event. You can get the reader's status and display it on the mobile device.
155
+ */
156
+ StripeTerminal.addListener(TerminalEventsEnum.ReaderEvent, async ({ event }) => {
157
+ console.log(event);
158
+ });
159
+
160
+ /**
161
+ * Listen display message. You can get the message to be displayed on the mobile device.
162
+ */
163
+ StripeTerminal.addListener(TerminalEventsEnum.RequestDisplayMessage, async ({ messageType, message }) => {
164
+ console.log(messageType, message);
165
+ });
166
+
167
+ /**
168
+ * Listen reader input. You can get the message what can be used for payment.
169
+ */
170
+ StripeTerminal.addListener(TerminalEventsEnum.RequestReaderInput, async ({ options, message }) => {
171
+ console.log(options, message);
172
+ });
173
+ ```
174
+
175
+ ### More details on the leader screen
176
+
177
+ The contents of the payment can be shown on the display. This requires a leader screen on the device.
178
+ This should be run before `collectPaymentMethod`.
179
+
180
+ ```ts
181
+ await StripeTerminal.setReaderDisplay({
182
+ currency: 'usd',
183
+ tax: 0,
184
+ total: 1000,
185
+ lineItems: [{
186
+ displayName: 'winecode',
187
+ quantity: 2,
188
+ amount: 500
189
+ }] as CartLineItem[],
190
+ })
191
+
192
+ // Of course, erasure is also possible.
193
+ await StripeTerminal.clearReaderDisplay();
194
+ ```
195
+
196
+ ### Simulate reader status changes for testing
197
+
198
+ To implement updates, etc., we are facilitating an API to change the state of the simulator. This should be done before discoverReaders.
199
+
200
+ ```ts
201
+ await StripeTerminal.setSimulatorConfiguration({ update: SimulateReaderUpdate.UpdateAvailable })
202
+ ```
203
+
112
204
  ## API
113
205
 
114
206
  <docgen-index>
@@ -116,6 +208,7 @@ And update minSdkVersion to 26 And compileSdkVersion to 34 in your `android/app/
116
208
  * [`initialize(...)`](#initialize)
117
209
  * [`discoverReaders(...)`](#discoverreaders)
118
210
  * [`setConnectionToken(...)`](#setconnectiontoken)
211
+ * [`setSimulatorConfiguration(...)`](#setsimulatorconfiguration)
119
212
  * [`connectReader(...)`](#connectreader)
120
213
  * [`getConnectedReader()`](#getconnectedreader)
121
214
  * [`disconnectReader()`](#disconnectreader)
@@ -123,14 +216,35 @@ And update minSdkVersion to 26 And compileSdkVersion to 34 in your `android/app/
123
216
  * [`collectPaymentMethod(...)`](#collectpaymentmethod)
124
217
  * [`cancelCollectPaymentMethod()`](#cancelcollectpaymentmethod)
125
218
  * [`confirmPaymentIntent()`](#confirmpaymentintent)
219
+ * [`installAvailableUpdate()`](#installavailableupdate)
220
+ * [`cancelInstallUpdate()`](#cancelinstallupdate)
221
+ * [`setReaderDisplay(...)`](#setreaderdisplay)
222
+ * [`clearReaderDisplay()`](#clearreaderdisplay)
223
+ * [`rebootReader()`](#rebootreader)
224
+ * [`cancelReaderReconnection()`](#cancelreaderreconnection)
126
225
  * [`addListener(TerminalEventsEnum.Loaded, ...)`](#addlistenerterminaleventsenumloaded)
127
226
  * [`addListener(TerminalEventsEnum.RequestedConnectionToken, ...)`](#addlistenerterminaleventsenumrequestedconnectiontoken)
128
227
  * [`addListener(TerminalEventsEnum.DiscoveredReaders, ...)`](#addlistenerterminaleventsenumdiscoveredreaders)
129
228
  * [`addListener(TerminalEventsEnum.ConnectedReader, ...)`](#addlistenerterminaleventsenumconnectedreader)
229
+ * [`addListener(TerminalEventsEnum.DisconnectedReader, ...)`](#addlistenerterminaleventsenumdisconnectedreader)
230
+ * [`addListener(TerminalEventsEnum.ConnectionStatusChange, ...)`](#addlistenerterminaleventsenumconnectionstatuschange)
231
+ * [`addListener(TerminalEventsEnum.UnexpectedReaderDisconnect, ...)`](#addlistenerterminaleventsenumunexpectedreaderdisconnect)
130
232
  * [`addListener(TerminalEventsEnum.ConfirmedPaymentIntent, ...)`](#addlistenerterminaleventsenumconfirmedpaymentintent)
131
233
  * [`addListener(TerminalEventsEnum.CollectedPaymentIntent, ...)`](#addlistenerterminaleventsenumcollectedpaymentintent)
132
234
  * [`addListener(TerminalEventsEnum.Canceled, ...)`](#addlistenerterminaleventsenumcanceled)
133
235
  * [`addListener(TerminalEventsEnum.Failed, ...)`](#addlistenerterminaleventsenumfailed)
236
+ * [`addListener(TerminalEventsEnum.ReportAvailableUpdate, ...)`](#addlistenerterminaleventsenumreportavailableupdate)
237
+ * [`addListener(TerminalEventsEnum.StartInstallingUpdate, ...)`](#addlistenerterminaleventsenumstartinstallingupdate)
238
+ * [`addListener(TerminalEventsEnum.ReaderSoftwareUpdateProgress, ...)`](#addlistenerterminaleventsenumreadersoftwareupdateprogress)
239
+ * [`addListener(TerminalEventsEnum.FinishInstallingUpdate, ...)`](#addlistenerterminaleventsenumfinishinstallingupdate)
240
+ * [`addListener(TerminalEventsEnum.BatteryLevel, ...)`](#addlistenerterminaleventsenumbatterylevel)
241
+ * [`addListener(TerminalEventsEnum.ReaderEvent, ...)`](#addlistenerterminaleventsenumreaderevent)
242
+ * [`addListener(TerminalEventsEnum.RequestDisplayMessage, ...)`](#addlistenerterminaleventsenumrequestdisplaymessage)
243
+ * [`addListener(TerminalEventsEnum.RequestReaderInput, ...)`](#addlistenerterminaleventsenumrequestreaderinput)
244
+ * [`addListener(TerminalEventsEnum.PaymentStatusChange, ...)`](#addlistenerterminaleventsenumpaymentstatuschange)
245
+ * [`addListener(TerminalEventsEnum.ReaderReconnectStarted, ...)`](#addlistenerterminaleventsenumreaderreconnectstarted)
246
+ * [`addListener(TerminalEventsEnum.ReaderReconnectSucceeded, ...)`](#addlistenerterminaleventsenumreaderreconnectsucceeded)
247
+ * [`addListener(TerminalEventsEnum.ReaderReconnectFailed, ...)`](#addlistenerterminaleventsenumreaderreconnectfailed)
134
248
  * [Interfaces](#interfaces)
135
249
  * [Type Aliases](#type-aliases)
136
250
  * [Enums](#enums)
@@ -181,15 +295,30 @@ setConnectionToken(options: { token: string; }) => Promise<void>
181
295
  --------------------
182
296
 
183
297
 
298
+ ### setSimulatorConfiguration(...)
299
+
300
+ ```typescript
301
+ setSimulatorConfiguration(options: { update?: SimulateReaderUpdate; simulatedCard?: SimulatedCardType; simulatedTipAmount?: number; }) => Promise<void>
302
+ ```
303
+
304
+ [*Stripe docs reference*](https://stripe.dev/stripe-terminal-android/external/com.stripe.stripeterminal.external.models/-simulator-configuration/index.html)
305
+
306
+ | Param | Type |
307
+ | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
308
+ | **`options`** | <code>{ update?: <a href="#simulatereaderupdate">SimulateReaderUpdate</a>; simulatedCard?: <a href="#simulatedcardtype">SimulatedCardType</a>; simulatedTipAmount?: number; }</code> |
309
+
310
+ --------------------
311
+
312
+
184
313
  ### connectReader(...)
185
314
 
186
315
  ```typescript
187
- connectReader(options: { reader: ReaderInterface; }) => Promise<void>
316
+ connectReader(options: { reader: ReaderInterface; autoReconnectOnUnexpectedDisconnect?: boolean; merchantDisplayName?: string; onBehalfOf?: string; }) => Promise<void>
188
317
  ```
189
318
 
190
- | Param | Type |
191
- | ------------- | ------------------------------------------------------------------------ |
192
- | **`options`** | <code>{ reader: <a href="#readerinterface">ReaderInterface</a>; }</code> |
319
+ | Param | Type |
320
+ | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
321
+ | **`options`** | <code>{ reader: <a href="#readerinterface">ReaderInterface</a>; autoReconnectOnUnexpectedDisconnect?: boolean; merchantDisplayName?: string; onBehalfOf?: string; }</code> |
193
322
 
194
323
  --------------------
195
324
 
@@ -254,6 +383,64 @@ confirmPaymentIntent() => Promise<void>
254
383
  --------------------
255
384
 
256
385
 
386
+ ### installAvailableUpdate()
387
+
388
+ ```typescript
389
+ installAvailableUpdate() => Promise<void>
390
+ ```
391
+
392
+ --------------------
393
+
394
+
395
+ ### cancelInstallUpdate()
396
+
397
+ ```typescript
398
+ cancelInstallUpdate() => Promise<void>
399
+ ```
400
+
401
+ --------------------
402
+
403
+
404
+ ### setReaderDisplay(...)
405
+
406
+ ```typescript
407
+ setReaderDisplay(options: Cart) => Promise<void>
408
+ ```
409
+
410
+ | Param | Type |
411
+ | ------------- | ------------------------------------- |
412
+ | **`options`** | <code><a href="#cart">Cart</a></code> |
413
+
414
+ --------------------
415
+
416
+
417
+ ### clearReaderDisplay()
418
+
419
+ ```typescript
420
+ clearReaderDisplay() => Promise<void>
421
+ ```
422
+
423
+ --------------------
424
+
425
+
426
+ ### rebootReader()
427
+
428
+ ```typescript
429
+ rebootReader() => Promise<void>
430
+ ```
431
+
432
+ --------------------
433
+
434
+
435
+ ### cancelReaderReconnection()
436
+
437
+ ```typescript
438
+ cancelReaderReconnection() => Promise<void>
439
+ ```
440
+
441
+ --------------------
442
+
443
+
257
444
  ### addListener(TerminalEventsEnum.Loaded, ...)
258
445
 
259
446
  ```typescript
@@ -289,13 +476,13 @@ addListener(eventName: TerminalEventsEnum.RequestedConnectionToken, listenerFunc
289
476
  ### addListener(TerminalEventsEnum.DiscoveredReaders, ...)
290
477
 
291
478
  ```typescript
292
- addListener(eventName: TerminalEventsEnum.DiscoveredReaders, listenerFunc: () => { reader: ReaderInterface; }) => Promise<PluginListenerHandle>
479
+ addListener(eventName: TerminalEventsEnum.DiscoveredReaders, listenerFunc: ({ readers }: { readers: ReaderInterface[]; }) => void) => Promise<PluginListenerHandle>
293
480
  ```
294
481
 
295
482
  | Param | Type |
296
483
  | ------------------ | ----------------------------------------------------------------------------------- |
297
484
  | **`eventName`** | <code><a href="#terminaleventsenum">TerminalEventsEnum.DiscoveredReaders</a></code> |
298
- | **`listenerFunc`** | <code>() =&gt; { reader: <a href="#readerinterface">ReaderInterface</a>; }</code> |
485
+ | **`listenerFunc`** | <code>({ readers }: { readers: ReaderInterface[]; }) =&gt; void</code> |
299
486
 
300
487
  **Returns:** <code>Promise&lt;<a href="#pluginlistenerhandle">PluginListenerHandle</a>&gt;</code>
301
488
 
@@ -318,6 +505,88 @@ addListener(eventName: TerminalEventsEnum.ConnectedReader, listenerFunc: () => v
318
505
  --------------------
319
506
 
320
507
 
508
+ ### addListener(TerminalEventsEnum.DisconnectedReader, ...)
509
+
510
+ ```typescript
511
+ addListener(eventName: TerminalEventsEnum.DisconnectedReader, listenerFunc: ({ reason }: { reason?: DisconnectReason | undefined; }) => void) => Promise<PluginListenerHandle>
512
+ ```
513
+
514
+ Emitted when the reader is disconnected, either in response to [`disconnectReader()`](#disconnectreader)
515
+ or some connection error.
516
+
517
+ For all reader types, this is emitted in response to [`disconnectReader()`](#disconnectreader)
518
+ without a `reason` property.
519
+
520
+ For Bluetooth and USB readers, this is emitted with a `reason` property when the reader disconnects.
521
+
522
+ **Note:** For Bluetooth and USB readers, when you call [`disconnectReader()`](#disconnectreader), this event
523
+ will be emitted twice: one without a `reason` in acknowledgement of your call, and again with a `reason` when the reader
524
+ finishes disconnecting.
525
+
526
+ | Param | Type |
527
+ | ------------------ | ---------------------------------------------------------------------------------------------------- |
528
+ | **`eventName`** | <code><a href="#terminaleventsenum">TerminalEventsEnum.DisconnectedReader</a></code> |
529
+ | **`listenerFunc`** | <code>({ reason }: { reason?: <a href="#disconnectreason">DisconnectReason</a>; }) =&gt; void</code> |
530
+
531
+ **Returns:** <code>Promise&lt;<a href="#pluginlistenerhandle">PluginListenerHandle</a>&gt;</code>
532
+
533
+ --------------------
534
+
535
+
536
+ ### addListener(TerminalEventsEnum.ConnectionStatusChange, ...)
537
+
538
+ ```typescript
539
+ addListener(eventName: TerminalEventsEnum.ConnectionStatusChange, listenerFunc: ({ status }: { status: ConnectionStatus; }) => void) => Promise<PluginListenerHandle>
540
+ ```
541
+
542
+ Emitted when the Terminal's connection status changed.
543
+
544
+ Note: You should *not* use this method to detect when a reader unexpectedly disconnects from your app,
545
+ as it cannot be used to accurately distinguish between expected and unexpected disconnect events.
546
+
547
+ To detect unexpected disconnects (e.g. to automatically notify your user), you should instead use
548
+ the UnexpectedReaderDisconnect event.
549
+
550
+ [*Stripe docs reference*](https://stripe.dev/stripe-terminal-android/external/com.stripe.stripeterminal.external.callable/-terminal-listener/on-connection-status-change.html)
551
+
552
+ | Param | Type |
553
+ | ------------------ | --------------------------------------------------------------------------------------------------- |
554
+ | **`eventName`** | <code><a href="#terminaleventsenum">TerminalEventsEnum.ConnectionStatusChange</a></code> |
555
+ | **`listenerFunc`** | <code>({ status }: { status: <a href="#connectionstatus">ConnectionStatus</a>; }) =&gt; void</code> |
556
+
557
+ **Returns:** <code>Promise&lt;<a href="#pluginlistenerhandle">PluginListenerHandle</a>&gt;</code>
558
+
559
+ --------------------
560
+
561
+
562
+ ### addListener(TerminalEventsEnum.UnexpectedReaderDisconnect, ...)
563
+
564
+ ```typescript
565
+ addListener(eventName: TerminalEventsEnum.UnexpectedReaderDisconnect, listenerFunc: ({ reader }: { reader: ReaderInterface; }) => void) => Promise<PluginListenerHandle>
566
+ ```
567
+
568
+ The Terminal disconnected unexpectedly from the reader.
569
+
570
+ In your implementation of this method, you may want to notify your user that the reader disconnected.
571
+ You may also call [`discoverReaders()`](#discoverreaders) to begin scanning for readers, and attempt
572
+ to automatically reconnect to the disconnected reader. Be sure to either set a timeout or make it
573
+ possible to cancel calls to `discoverReaders()`
574
+
575
+ When connected to a Bluetooth or USB reader, you can get more information about the disconnect by
576
+ implementing the DisconnectedReader event.
577
+
578
+ [*Stripe docs reference*](https://stripe.dev/stripe-terminal-android/external/com.stripe.stripeterminal.external.callable/-terminal-listener/on-unexpected-reader-disconnect.html)
579
+
580
+ | Param | Type |
581
+ | ------------------ | ------------------------------------------------------------------------------------------------- |
582
+ | **`eventName`** | <code><a href="#terminaleventsenum">TerminalEventsEnum.UnexpectedReaderDisconnect</a></code> |
583
+ | **`listenerFunc`** | <code>({ reader }: { reader: <a href="#readerinterface">ReaderInterface</a>; }) =&gt; void</code> |
584
+
585
+ **Returns:** <code>Promise&lt;<a href="#pluginlistenerhandle">PluginListenerHandle</a>&gt;</code>
586
+
587
+ --------------------
588
+
589
+
321
590
  ### addListener(TerminalEventsEnum.ConfirmedPaymentIntent, ...)
322
591
 
323
592
  ```typescript
@@ -356,6 +625,9 @@ addListener(eventName: TerminalEventsEnum.CollectedPaymentIntent, listenerFunc:
356
625
  addListener(eventName: TerminalEventsEnum.Canceled, listenerFunc: () => void) => Promise<PluginListenerHandle>
357
626
  ```
358
627
 
628
+ Emitted when [`cancelCollectPaymentMethod()`](#cancelcollectpaymentmethod) is called and succeeds.
629
+ The Promise returned by `cancelCollectPaymentMethod()` will also be resolved.
630
+
359
631
  | Param | Type |
360
632
  | ------------------ | -------------------------------------------------------------------------- |
361
633
  | **`eventName`** | <code><a href="#terminaleventsenum">TerminalEventsEnum.Canceled</a></code> |
@@ -372,6 +644,9 @@ addListener(eventName: TerminalEventsEnum.Canceled, listenerFunc: () => void) =>
372
644
  addListener(eventName: TerminalEventsEnum.Failed, listenerFunc: () => void) => Promise<PluginListenerHandle>
373
645
  ```
374
646
 
647
+ Emitted when either [`collectPaymentMethod()`](#collectpaymentmethod) or [`confirmPaymentIntent()`](#confirmpaymentintent)
648
+ fails. The Promise returned by the relevant call will also be rejected.
649
+
375
650
  | Param | Type |
376
651
  | ------------------ | ------------------------------------------------------------------------ |
377
652
  | **`eventName`** | <code><a href="#terminaleventsenum">TerminalEventsEnum.Failed</a></code> |
@@ -382,6 +657,256 @@ addListener(eventName: TerminalEventsEnum.Failed, listenerFunc: () => void) => P
382
657
  --------------------
383
658
 
384
659
 
660
+ ### addListener(TerminalEventsEnum.ReportAvailableUpdate, ...)
661
+
662
+ ```typescript
663
+ addListener(eventName: TerminalEventsEnum.ReportAvailableUpdate, listenerFunc: ({ update, }: { update: ReaderSoftwareUpdateInterface; }) => void) => Promise<PluginListenerHandle>
664
+ ```
665
+
666
+ Emitted when a software update is available for the connected reader.
667
+
668
+ | Param | Type |
669
+ | ------------------ | ------------------------------------------------------------------------------------------------------------------------------ |
670
+ | **`eventName`** | <code><a href="#terminaleventsenum">TerminalEventsEnum.ReportAvailableUpdate</a></code> |
671
+ | **`listenerFunc`** | <code>({ update, }: { update: <a href="#readersoftwareupdateinterface">ReaderSoftwareUpdateInterface</a>; }) =&gt; void</code> |
672
+
673
+ **Returns:** <code>Promise&lt;<a href="#pluginlistenerhandle">PluginListenerHandle</a>&gt;</code>
674
+
675
+ --------------------
676
+
677
+
678
+ ### addListener(TerminalEventsEnum.StartInstallingUpdate, ...)
679
+
680
+ ```typescript
681
+ addListener(eventName: TerminalEventsEnum.StartInstallingUpdate, listenerFunc: ({ update, }: { update: ReaderSoftwareUpdateInterface; }) => void) => Promise<PluginListenerHandle>
682
+ ```
683
+
684
+ **Only applicable to Bluetooth and USB readers.**
685
+
686
+ Emitted when the connected reader begins installing a software update.
687
+ If a mandatory software update is available when a reader first connects, that update is
688
+ automatically installed. The update will be installed before ConnectedReader is emitted and
689
+ before the Promise returned by [`connectReader()`](#connectreader) resolves.
690
+ In this case, you will receive this sequence of events:
691
+
692
+ 1. StartInstallingUpdate
693
+ 2. ReaderSoftwareUpdateProgress (repeatedly)
694
+ 3. FinishInstallingUpdates
695
+ 4. ConnectedReader
696
+ 5. `connectReader()` Promise resolves
697
+
698
+ Your app should show UI to the user indiciating that a software update is being installed
699
+ to explain why connecting is taking longer than usual.
700
+
701
+ [*Stripe docs reference*](https://stripe.dev/stripe-terminal-android/external/com.stripe.stripeterminal.external.callable/-reader-listener/on-start-installing-update.html)
702
+
703
+ | Param | Type |
704
+ | ------------------ | ------------------------------------------------------------------------------------------------------------------------------ |
705
+ | **`eventName`** | <code><a href="#terminaleventsenum">TerminalEventsEnum.StartInstallingUpdate</a></code> |
706
+ | **`listenerFunc`** | <code>({ update, }: { update: <a href="#readersoftwareupdateinterface">ReaderSoftwareUpdateInterface</a>; }) =&gt; void</code> |
707
+
708
+ **Returns:** <code>Promise&lt;<a href="#pluginlistenerhandle">PluginListenerHandle</a>&gt;</code>
709
+
710
+ --------------------
711
+
712
+
713
+ ### addListener(TerminalEventsEnum.ReaderSoftwareUpdateProgress, ...)
714
+
715
+ ```typescript
716
+ addListener(eventName: TerminalEventsEnum.ReaderSoftwareUpdateProgress, listenerFunc: ({ progress }: { progress: number; }) => void) => Promise<PluginListenerHandle>
717
+ ```
718
+
719
+ **Only applicable to Bluetooth and USB readers.**
720
+
721
+ Emitted periodically while reader software is updating to inform of the installation progress.
722
+ `progress` is a float between 0 and 1.
723
+
724
+ [*Stripe docs reference*](https://stripe.dev/stripe-terminal-android/external/com.stripe.stripeterminal.external.callable/-reader-listener/on-report-reader-software-update-progress.html)
725
+
726
+ | Param | Type |
727
+ | ------------------ | ---------------------------------------------------------------------------------------------- |
728
+ | **`eventName`** | <code><a href="#terminaleventsenum">TerminalEventsEnum.ReaderSoftwareUpdateProgress</a></code> |
729
+ | **`listenerFunc`** | <code>({ progress }: { progress: number; }) =&gt; void</code> |
730
+
731
+ **Returns:** <code>Promise&lt;<a href="#pluginlistenerhandle">PluginListenerHandle</a>&gt;</code>
732
+
733
+ --------------------
734
+
735
+
736
+ ### addListener(TerminalEventsEnum.FinishInstallingUpdate, ...)
737
+
738
+ ```typescript
739
+ addListener(eventName: TerminalEventsEnum.FinishInstallingUpdate, listenerFunc: (args: { update: ReaderSoftwareUpdateInterface; } | { error: string; }) => void) => Promise<PluginListenerHandle>
740
+ ```
741
+
742
+ **Only applicable to Bluetooth and USB readers.**
743
+
744
+ [*Stripe docs reference*](https://stripe.dev/stripe-terminal-android/external/com.stripe.stripeterminal.external.callable/-reader-listener/on-finish-installing-update.html)
745
+
746
+ | Param | Type |
747
+ | ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------- |
748
+ | **`eventName`** | <code><a href="#terminaleventsenum">TerminalEventsEnum.FinishInstallingUpdate</a></code> |
749
+ | **`listenerFunc`** | <code>(args: { update: <a href="#readersoftwareupdateinterface">ReaderSoftwareUpdateInterface</a>; } \| { error: string; }) =&gt; void</code> |
750
+
751
+ **Returns:** <code>Promise&lt;<a href="#pluginlistenerhandle">PluginListenerHandle</a>&gt;</code>
752
+
753
+ --------------------
754
+
755
+
756
+ ### addListener(TerminalEventsEnum.BatteryLevel, ...)
757
+
758
+ ```typescript
759
+ addListener(eventName: TerminalEventsEnum.BatteryLevel, listenerFunc: ({ level, charging, status, }: { level: number; charging: boolean; status: BatteryStatus; }) => void) => Promise<PluginListenerHandle>
760
+ ```
761
+
762
+ **Only applicable to Bluetooth and USB readers.**
763
+
764
+ Emitted upon connection and every 10 minutes.
765
+
766
+ [*Stripe docs reference*](https://stripe.dev/stripe-terminal-android/external/com.stripe.stripeterminal.external.callable/-reader-listener/on-battery-level-update.html)
767
+
768
+ | Param | Type |
769
+ | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------- |
770
+ | **`eventName`** | <code><a href="#terminaleventsenum">TerminalEventsEnum.BatteryLevel</a></code> |
771
+ | **`listenerFunc`** | <code>({ level, charging, status, }: { level: number; charging: boolean; status: <a href="#batterystatus">BatteryStatus</a>; }) =&gt; void</code> |
772
+
773
+ **Returns:** <code>Promise&lt;<a href="#pluginlistenerhandle">PluginListenerHandle</a>&gt;</code>
774
+
775
+ --------------------
776
+
777
+
778
+ ### addListener(TerminalEventsEnum.ReaderEvent, ...)
779
+
780
+ ```typescript
781
+ addListener(eventName: TerminalEventsEnum.ReaderEvent, listenerFunc: ({ event }: { event: ReaderEvent; }) => void) => Promise<PluginListenerHandle>
782
+ ```
783
+
784
+ **Only applicable to Bluetooth and USB readers.**
785
+
786
+ [*Stripe docs reference*](https://stripe.dev/stripe-terminal-android/external/com.stripe.stripeterminal.external.callable/-reader-listenable/on-report-reader-event.html)
787
+
788
+ | Param | Type |
789
+ | ------------------ | --------------------------------------------------------------------------------------- |
790
+ | **`eventName`** | <code><a href="#terminaleventsenum">TerminalEventsEnum.ReaderEvent</a></code> |
791
+ | **`listenerFunc`** | <code>({ event }: { event: <a href="#readerevent">ReaderEvent</a>; }) =&gt; void</code> |
792
+
793
+ **Returns:** <code>Promise&lt;<a href="#pluginlistenerhandle">PluginListenerHandle</a>&gt;</code>
794
+
795
+ --------------------
796
+
797
+
798
+ ### addListener(TerminalEventsEnum.RequestDisplayMessage, ...)
799
+
800
+ ```typescript
801
+ addListener(eventName: TerminalEventsEnum.RequestDisplayMessage, listenerFunc: ({ messageType, message, }: { messageType: ReaderDisplayMessage; message: string; }) => void) => Promise<PluginListenerHandle>
802
+ ```
803
+
804
+ **Only applicable to Bluetooth and USB readers.**
805
+
806
+ Emitted when the Terminal requests that a message be displayed in your app.
807
+
808
+ [*Stripe docs reference*](https://stripe.dev/stripe-terminal-android/external/com.stripe.stripeterminal.external.callable/-reader-listener/on-request-reader-display-message.html)
809
+
810
+ | Param | Type |
811
+ | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |
812
+ | **`eventName`** | <code><a href="#terminaleventsenum">TerminalEventsEnum.RequestDisplayMessage</a></code> |
813
+ | **`listenerFunc`** | <code>({ messageType, message, }: { messageType: <a href="#readerdisplaymessage">ReaderDisplayMessage</a>; message: string; }) =&gt; void</code> |
814
+
815
+ **Returns:** <code>Promise&lt;<a href="#pluginlistenerhandle">PluginListenerHandle</a>&gt;</code>
816
+
817
+ --------------------
818
+
819
+
820
+ ### addListener(TerminalEventsEnum.RequestReaderInput, ...)
821
+
822
+ ```typescript
823
+ addListener(eventName: TerminalEventsEnum.RequestReaderInput, listenerFunc: ({ options, message, }: { options: ReaderInputOption[]; message: string; }) => void) => Promise<PluginListenerHandle>
824
+ ```
825
+
826
+ **Only applicable to Bluetooth and USB readers.**
827
+
828
+ Emitted when the reader begins waiting for input. Your app should prompt the customer
829
+ to present a source using one of the given input options. If the reader emits a message,
830
+ the RequestDisplayMessage event will be emitted.
831
+
832
+ [*Stripe docs reference*](https://stripe.dev/stripe-terminal-android/external/com.stripe.stripeterminal.external.callable/-reader-listener/on-request-reader-input.html)
833
+
834
+ | Param | Type |
835
+ | ------------------ | --------------------------------------------------------------------------------------------------- |
836
+ | **`eventName`** | <code><a href="#terminaleventsenum">TerminalEventsEnum.RequestReaderInput</a></code> |
837
+ | **`listenerFunc`** | <code>({ options, message, }: { options: ReaderInputOption[]; message: string; }) =&gt; void</code> |
838
+
839
+ **Returns:** <code>Promise&lt;<a href="#pluginlistenerhandle">PluginListenerHandle</a>&gt;</code>
840
+
841
+ --------------------
842
+
843
+
844
+ ### addListener(TerminalEventsEnum.PaymentStatusChange, ...)
845
+
846
+ ```typescript
847
+ addListener(eventName: TerminalEventsEnum.PaymentStatusChange, listenerFunc: ({ status }: { status: PaymentStatus; }) => void) => Promise<PluginListenerHandle>
848
+ ```
849
+
850
+ [*Stripe docs reference*](https://stripe.dev/stripe-terminal-android/external/com.stripe.stripeterminal.external.callable/-terminal-listener/on-payment-status-change.html)
851
+
852
+ | Param | Type |
853
+ | ------------------ | --------------------------------------------------------------------------------------------- |
854
+ | **`eventName`** | <code><a href="#terminaleventsenum">TerminalEventsEnum.PaymentStatusChange</a></code> |
855
+ | **`listenerFunc`** | <code>({ status }: { status: <a href="#paymentstatus">PaymentStatus</a>; }) =&gt; void</code> |
856
+
857
+ **Returns:** <code>Promise&lt;<a href="#pluginlistenerhandle">PluginListenerHandle</a>&gt;</code>
858
+
859
+ --------------------
860
+
861
+
862
+ ### addListener(TerminalEventsEnum.ReaderReconnectStarted, ...)
863
+
864
+ ```typescript
865
+ addListener(eventName: TerminalEventsEnum.ReaderReconnectStarted, listenerFunc: ({ reader, reason, }: { reader: ReaderInterface; reason: string; }) => void) => Promise<PluginListenerHandle>
866
+ ```
867
+
868
+ | Param | Type |
869
+ | ------------------ | -------------------------------------------------------------------------------------------------------------------------- |
870
+ | **`eventName`** | <code><a href="#terminaleventsenum">TerminalEventsEnum.ReaderReconnectStarted</a></code> |
871
+ | **`listenerFunc`** | <code>({ reader, reason, }: { reader: <a href="#readerinterface">ReaderInterface</a>; reason: string; }) =&gt; void</code> |
872
+
873
+ **Returns:** <code>Promise&lt;<a href="#pluginlistenerhandle">PluginListenerHandle</a>&gt;</code>
874
+
875
+ --------------------
876
+
877
+
878
+ ### addListener(TerminalEventsEnum.ReaderReconnectSucceeded, ...)
879
+
880
+ ```typescript
881
+ addListener(eventName: TerminalEventsEnum.ReaderReconnectSucceeded, listenerFunc: ({ reader }: { reader: ReaderInterface; }) => void) => Promise<PluginListenerHandle>
882
+ ```
883
+
884
+ | Param | Type |
885
+ | ------------------ | ------------------------------------------------------------------------------------------------- |
886
+ | **`eventName`** | <code><a href="#terminaleventsenum">TerminalEventsEnum.ReaderReconnectSucceeded</a></code> |
887
+ | **`listenerFunc`** | <code>({ reader }: { reader: <a href="#readerinterface">ReaderInterface</a>; }) =&gt; void</code> |
888
+
889
+ **Returns:** <code>Promise&lt;<a href="#pluginlistenerhandle">PluginListenerHandle</a>&gt;</code>
890
+
891
+ --------------------
892
+
893
+
894
+ ### addListener(TerminalEventsEnum.ReaderReconnectFailed, ...)
895
+
896
+ ```typescript
897
+ addListener(eventName: TerminalEventsEnum.ReaderReconnectFailed, listenerFunc: ({ reader }: { reader: ReaderInterface; }) => void) => Promise<PluginListenerHandle>
898
+ ```
899
+
900
+ | Param | Type |
901
+ | ------------------ | ------------------------------------------------------------------------------------------------- |
902
+ | **`eventName`** | <code><a href="#terminaleventsenum">TerminalEventsEnum.ReaderReconnectFailed</a></code> |
903
+ | **`listenerFunc`** | <code>({ reader }: { reader: <a href="#readerinterface">ReaderInterface</a>; }) =&gt; void</code> |
904
+
905
+ **Returns:** <code>Promise&lt;<a href="#pluginlistenerhandle">PluginListenerHandle</a>&gt;</code>
906
+
907
+ --------------------
908
+
909
+
385
910
  ### Interfaces
386
911
 
387
912
 
@@ -397,12 +922,96 @@ addListener(eventName: TerminalEventsEnum.Failed, listenerFunc: () => void) => P
397
922
 
398
923
  #### ReaderInterface
399
924
 
400
- <code>{ index: number; serialNumber: string; }</code>
925
+ <code>{ /** * The unique serial number is primary identifier inner plugin. */ serialNumber: string; label: string; batteryLevel: number; batteryStatus: <a href="#batterystatus">BatteryStatus</a>; simulated: boolean; id: number; availableUpdate: <a href="#readersoftwareupdateinterface">ReaderSoftwareUpdateInterface</a>; locationId: string; ipAddress: string; status: <a href="#networkstatus">NetworkStatus</a>; location: <a href="#locationinterface">LocationInterface</a>; locationStatus: <a href="#locationstatus">LocationStatus</a>; deviceType: <a href="#devicetype">DeviceType</a>; deviceSoftwareVersion: string | null; /** * iOS Only properties. These properties are not available on Android. */ isCharging: number; /** * Android Only properties. These properties are not available on iOS. */ baseUrl: string; bootloaderVersion: string; configVersion: string; emvKeyProfileId: string; firmwareVersion: string; hardwareVersion: string; macKeyProfileId: string; pinKeyProfileId: string; trackKeyProfileId: string; settingsVersion: string; pinKeysetId: string; /** * @deprecated This property has been deprecated and should use the `serialNumber` property. */ index?: number; }</code>
926
+
927
+
928
+ #### ReaderSoftwareUpdateInterface
929
+
930
+ <code>{ deviceSoftwareVersion: string; estimatedUpdateTime: <a href="#updatetimeestimate">UpdateTimeEstimate</a>; requiredAt: number; }</code>
931
+
932
+
933
+ #### LocationInterface
934
+
935
+ <code>{ id: string; displayName: string; address: { city: string; country: string; postalCode: string; line1: string; line2: string; state: string; }; ipAddress: string; }</code>
936
+
937
+
938
+ #### DeviceType
939
+
940
+ <code>Stripe.Terminal.Reader.<a href="#devicetype">DeviceType</a></code>
941
+
942
+
943
+ #### Cart
944
+
945
+ <code>{ currency: string; tax: number; total: number; lineItems: CartLineItem[]; }</code>
946
+
947
+
948
+ #### CartLineItem
949
+
950
+ <code>{ displayName: string; quantity: number; amount: number; }</code>
401
951
 
402
952
 
403
953
  ### Enums
404
954
 
405
955
 
956
+ #### BatteryStatus
957
+
958
+ | Members | Value |
959
+ | -------------- | ----------------------- |
960
+ | **`Unknown`** | <code>'UNKNOWN'</code> |
961
+ | **`Critical`** | <code>'CRITICAL'</code> |
962
+ | **`Low`** | <code>'LOW'</code> |
963
+ | **`Nominal`** | <code>'NOMINAL'</code> |
964
+
965
+
966
+ #### UpdateTimeEstimate
967
+
968
+ | Members | Value |
969
+ | -------------------------- | -------------------------------------- |
970
+ | **`LessThanOneMinute`** | <code>'LESS_THAN_ONE_MINUTE'</code> |
971
+ | **`OneToTwoMinutes`** | <code>'ONE_TO_TWO_MINUTES'</code> |
972
+ | **`TwoToFiveMinutes`** | <code>'TWO_TO_FIVE_MINUTES'</code> |
973
+ | **`FiveToFifteenMinutes`** | <code>'FIVE_TO_FIFTEEN_MINUTES'</code> |
974
+
975
+
976
+ #### NetworkStatus
977
+
978
+ | Members | Value |
979
+ | ------------- | ---------------------- |
980
+ | **`Unknown`** | <code>'UNKNOWN'</code> |
981
+ | **`Online`** | <code>'ONLINE'</code> |
982
+ | **`Offline`** | <code>'OFFLINE'</code> |
983
+
984
+
985
+ #### LocationStatus
986
+
987
+ | Members | Value |
988
+ | ------------- | ---------------------- |
989
+ | **`NotSet`** | <code>'NOT_SET'</code> |
990
+ | **`Set`** | <code>'SET'</code> |
991
+ | **`Unknown`** | <code>'UNKNOWN'</code> |
992
+
993
+
994
+ #### DeviceType
995
+
996
+ | Members | Value |
997
+ | ---------------------- | ------------------------------- |
998
+ | **`cotsDevice`** | <code>'cotsDevice'</code> |
999
+ | **`wisePad3s`** | <code>'wisePad3s'</code> |
1000
+ | **`appleBuiltIn`** | <code>'appleBuiltIn'</code> |
1001
+ | **`chipper1X`** | <code>'chipper1X'</code> |
1002
+ | **`chipper2X`** | <code>'chipper2X'</code> |
1003
+ | **`etna`** | <code>'etna'</code> |
1004
+ | **`stripeM2`** | <code>'stripeM2'</code> |
1005
+ | **`stripeS700`** | <code>'stripeS700'</code> |
1006
+ | **`stripeS700DevKit`** | <code>'stripeS700Devkit'</code> |
1007
+ | **`verifoneP400`** | <code>'verifoneP400'</code> |
1008
+ | **`wiseCube`** | <code>'wiseCube'</code> |
1009
+ | **`wisePad3`** | <code>'wisePad3'</code> |
1010
+ | **`wisePosE`** | <code>'wisePosE'</code> |
1011
+ | **`wisePosEDevKit`** | <code>'wisePosEDevkit'</code> |
1012
+ | **`unknown`** | <code>'unknown'</code> |
1013
+
1014
+
406
1015
  #### TerminalConnectTypes
407
1016
 
408
1017
  | Members | Value |
@@ -414,19 +1023,149 @@ addListener(eventName: TerminalEventsEnum.Failed, listenerFunc: () => void) => P
414
1023
  | **`TapToPay`** | <code>'tap-to-pay'</code> |
415
1024
 
416
1025
 
1026
+ #### SimulateReaderUpdate
1027
+
1028
+ | Members | Value |
1029
+ | ------------------------------ | ------------------------------------------ |
1030
+ | **`UpdateAvailable`** | <code>'UPDATE_AVAILABLE'</code> |
1031
+ | **`None`** | <code>'NONE'</code> |
1032
+ | **`Required`** | <code>'REQUIRED'</code> |
1033
+ | **`Random`** | <code>'RANDOM'</code> |
1034
+ | **`LowBattery`** | <code>'LOW_BATTERY'</code> |
1035
+ | **`LowBatterySucceedConnect`** | <code>'LOW_BATTERY_SUCCEED_CONNECT'</code> |
1036
+
1037
+
1038
+ #### SimulatedCardType
1039
+
1040
+ | Members | Value |
1041
+ | ------------------------------------- | ------------------------------------------------- |
1042
+ | **`Visa`** | <code>'VISA'</code> |
1043
+ | **`VisaDebit`** | <code>'VISA_DEBIT'</code> |
1044
+ | **`Mastercard`** | <code>'MASTERCARD'</code> |
1045
+ | **`MastercardDebit`** | <code>'MASTERCARD_DEBIT'</code> |
1046
+ | **`MastercardPrepaid`** | <code>'MASTERCARD_PREPAID'</code> |
1047
+ | **`Amex`** | <code>'AMEX'</code> |
1048
+ | **`Amex2`** | <code>'AMEX_2'</code> |
1049
+ | **`Discover`** | <code>'DISCOVER'</code> |
1050
+ | **`Discover2`** | <code>'DISCOVER_2'</code> |
1051
+ | **`DinersClub`** | <code>'DINERS'</code> |
1052
+ | **`DinersClulb14Digits`** | <code>'DINERS_14_DIGITS'</code> |
1053
+ | **`JCB`** | <code>'JCB'</code> |
1054
+ | **`UnionPay`** | <code>'UNION_PAY'</code> |
1055
+ | **`Interac`** | <code>'INTERAC'</code> |
1056
+ | **`EftposAustraliaDebit`** | <code>'EFTPOS_AU_DEBIT'</code> |
1057
+ | **`VisaUsCommonDebit`** | <code>'VISA_US_COMMON_DEBIT'</code> |
1058
+ | **`ChargeDeclined`** | <code>'CHARGE_DECLINED'</code> |
1059
+ | **`ChargeDeclinedInsufficientFunds`** | <code>'CHARGE_DECLINED_INSUFFICIENT_FUNDS'</code> |
1060
+ | **`ChargeDeclinedLostCard`** | <code>'CHARGE_DECLINED_LOST_CARD'</code> |
1061
+ | **`ChargeDeclinedStolenCard`** | <code>'CHARGE_DECLINED_STOLEN_CARD'</code> |
1062
+ | **`ChargeDeclinedExpiredCard`** | <code>'CHARGE_DECLINED_EXPIRED_CARD'</code> |
1063
+ | **`ChargeDeclinedProcessingError`** | <code>'CHARGE_DECLINED_PROCESSING_ERROR'</code> |
1064
+ | **`EftposAustraliaVisaDebit`** | <code>'EFTPOS_AU_VISA_DEBIT'</code> |
1065
+ | **`EftposAustraliaMastercardDebit`** | <code>'EFTPOS_AU_DEBIT_MASTERCARD'</code> |
1066
+ | **`OfflinePinCVM`** | <code>'OFFLINE_PIN_CVM'</code> |
1067
+ | **`OfflinePinSCARetry`** | <code>'OFFLINE_PIN_SCA_RETRY'</code> |
1068
+ | **`OnlinePinCVM`** | <code>'ONLINE_PIN_CVM'</code> |
1069
+ | **`OnlinePinSCARetry`** | <code>'ONLINE_PIN_SCA_RETRY'</code> |
1070
+
1071
+
417
1072
  #### TerminalEventsEnum
418
1073
 
419
- | Members | Value |
420
- | ------------------------------ | ----------------------------------------------- |
421
- | **`Loaded`** | <code>'terminalLoaded'</code> |
422
- | **`DiscoveredReaders`** | <code>'terminalDiscoveredReaders'</code> |
423
- | **`CancelDiscoveredReaders`** | <code>'terminalCancelDiscoveredReaders'</code> |
424
- | **`ConnectedReader`** | <code>'terminalConnectedReader'</code> |
425
- | **`DisconnectedReader`** | <code>'terminalDisconnectedReader'</code> |
426
- | **`ConfirmedPaymentIntent`** | <code>'terminalConfirmedPaymentIntent'</code> |
427
- | **`CollectedPaymentIntent`** | <code>'terminalCollectedPaymentIntent'</code> |
428
- | **`Canceled`** | <code>'terminalCanceled'</code> |
429
- | **`Failed`** | <code>'terminalFailed'</code> |
430
- | **`RequestedConnectionToken`** | <code>'terminalRequestedConnectionToken'</code> |
1074
+ | Members | Value |
1075
+ | ---------------------------------- | --------------------------------------------------- |
1076
+ | **`Loaded`** | <code>'terminalLoaded'</code> |
1077
+ | **`DiscoveredReaders`** | <code>'terminalDiscoveredReaders'</code> |
1078
+ | **`CancelDiscoveredReaders`** | <code>'terminalCancelDiscoveredReaders'</code> |
1079
+ | **`ConnectedReader`** | <code>'terminalConnectedReader'</code> |
1080
+ | **`DisconnectedReader`** | <code>'terminalDisconnectedReader'</code> |
1081
+ | **`ConnectionStatusChange`** | <code>'terminalConnectionStatusChange'</code> |
1082
+ | **`UnexpectedReaderDisconnect`** | <code>'terminalUnexpectedReaderDisconnect'</code> |
1083
+ | **`ConfirmedPaymentIntent`** | <code>'terminalConfirmedPaymentIntent'</code> |
1084
+ | **`CollectedPaymentIntent`** | <code>'terminalCollectedPaymentIntent'</code> |
1085
+ | **`Canceled`** | <code>'terminalCanceled'</code> |
1086
+ | **`Failed`** | <code>'terminalFailed'</code> |
1087
+ | **`RequestedConnectionToken`** | <code>'terminalRequestedConnectionToken'</code> |
1088
+ | **`ReportAvailableUpdate`** | <code>'terminalReportAvailableUpdate'</code> |
1089
+ | **`StartInstallingUpdate`** | <code>'terminalStartInstallingUpdate'</code> |
1090
+ | **`ReaderSoftwareUpdateProgress`** | <code>'terminalReaderSoftwareUpdateProgress'</code> |
1091
+ | **`FinishInstallingUpdate`** | <code>'terminalFinishInstallingUpdate'</code> |
1092
+ | **`BatteryLevel`** | <code>'terminalBatteryLevel'</code> |
1093
+ | **`ReaderEvent`** | <code>'terminalReaderEvent'</code> |
1094
+ | **`RequestDisplayMessage`** | <code>'terminalRequestDisplayMessage'</code> |
1095
+ | **`RequestReaderInput`** | <code>'terminalRequestReaderInput'</code> |
1096
+ | **`PaymentStatusChange`** | <code>'terminalPaymentStatusChange'</code> |
1097
+ | **`ReaderReconnectStarted`** | <code>'terminalReaderReconnectStarted'</code> |
1098
+ | **`ReaderReconnectSucceeded`** | <code>'terminalReaderReconnectSucceeded'</code> |
1099
+ | **`ReaderReconnectFailed`** | <code>'terminalReaderReconnectFailed'</code> |
1100
+
1101
+
1102
+ #### DisconnectReason
1103
+
1104
+ | Members | Value |
1105
+ | -------------------------- | ------------------------------------- |
1106
+ | **`Unknown`** | <code>'UNKNOWN'</code> |
1107
+ | **`DisconnectRequested`** | <code>'DISCONNECT_REQUESTED'</code> |
1108
+ | **`RebootRequested`** | <code>'REBOOT_REQUESTED'</code> |
1109
+ | **`SecurityReboot`** | <code>'SECURITY_REBOOT'</code> |
1110
+ | **`CriticallyLowBattery`** | <code>'CRITICALLY_LOW_BATTERY'</code> |
1111
+ | **`PoweredOff`** | <code>'POWERED_OFF'</code> |
1112
+ | **`BluetoothDisabled`** | <code>'BLUETOOTH_DISABLED'</code> |
1113
+
1114
+
1115
+ #### ConnectionStatus
1116
+
1117
+ | Members | Value |
1118
+ | ------------------ | ---------------------------- |
1119
+ | **`Unknown`** | <code>'UNKNOWN'</code> |
1120
+ | **`NotConnected`** | <code>'NOT_CONNECTED'</code> |
1121
+ | **`Connecting`** | <code>'CONNECTING'</code> |
1122
+ | **`Connected`** | <code>'CONNECTED'</code> |
1123
+
1124
+
1125
+ #### ReaderEvent
1126
+
1127
+ | Members | Value |
1128
+ | ------------------ | ---------------------------- |
1129
+ | **`Unknown`** | <code>'UNKNOWN'</code> |
1130
+ | **`CardInserted`** | <code>'CARD_INSERTED'</code> |
1131
+ | **`CardRemoved`** | <code>'CARD_REMOVED'</code> |
1132
+
1133
+
1134
+ #### ReaderDisplayMessage
1135
+
1136
+ | Members | Value |
1137
+ | -------------------------------------- | -------------------------------------------------- |
1138
+ | **`CheckMobileDevice`** | <code>'CHECK_MOBILE_DEVICE'</code> |
1139
+ | **`RetryCard`** | <code>'RETRY_CARD'</code> |
1140
+ | **`InsertCard`** | <code>'INSERT_CARD'</code> |
1141
+ | **`InsertOrSwipeCard`** | <code>'INSERT_OR_SWIPE_CARD'</code> |
1142
+ | **`SwipeCard`** | <code>'SWIPE_CARD'</code> |
1143
+ | **`RemoveCard`** | <code>'REMOVE_CARD'</code> |
1144
+ | **`MultipleContactlessCardsDetected`** | <code>'MULTIPLE_CONTACTLESS_CARDS_DETECTED'</code> |
1145
+ | **`TryAnotherReadMethod`** | <code>'TRY_ANOTHER_READ_METHOD'</code> |
1146
+ | **`TryAnotherCard`** | <code>'TRY_ANOTHER_CARD'</code> |
1147
+ | **`CardRemovedTooEarly`** | <code>'CARD_REMOVED_TOO_EARLY'</code> |
1148
+
1149
+
1150
+ #### ReaderInputOption
1151
+
1152
+ | Members | Value |
1153
+ | ----------------- | --------------------------- |
1154
+ | **`None`** | <code>'NONE'</code> |
1155
+ | **`Insert`** | <code>'INSERT'</code> |
1156
+ | **`Swipe`** | <code>'SWIPE'</code> |
1157
+ | **`Tap`** | <code>'TAP'</code> |
1158
+ | **`ManualEntry`** | <code>'MANUAL_ENTRY'</code> |
1159
+
1160
+
1161
+ #### PaymentStatus
1162
+
1163
+ | Members | Value |
1164
+ | --------------------- | -------------------------------- |
1165
+ | **`Unknown`** | <code>'UNKNOWN'</code> |
1166
+ | **`NotReady`** | <code>'NOT_READY'</code> |
1167
+ | **`Ready`** | <code>'READY'</code> |
1168
+ | **`WaitingForInput`** | <code>'WAITING_FOR_INPUT'</code> |
1169
+ | **`Processing`** | <code>'PROCESSING'</code> |
431
1170
 
432
1171
  </docgen-api>