@capacitor-community/stripe-terminal 5.1.0 → 5.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.
package/README.md CHANGED
@@ -51,7 +51,11 @@ android {
51
51
  * [`initialize(...)`](#initialize)
52
52
  * [`discoverReaders(...)`](#discoverreaders)
53
53
  * [`connectReader(...)`](#connectreader)
54
+ * [`getConnectedReader()`](#getconnectedreader)
55
+ * [`disconnectReader()`](#disconnectreader)
56
+ * [`cancelDiscoverReaders()`](#canceldiscoverreaders)
54
57
  * [`collect(...)`](#collect)
58
+ * [`cancelCollect()`](#cancelcollect)
55
59
  * [`addListener(TerminalEventsEnum.Loaded, ...)`](#addlistenerterminaleventsenumloaded)
56
60
  * [`addListener(TerminalEventsEnum.DiscoveredReaders, ...)`](#addlistenerterminaleventsenumdiscoveredreaders)
57
61
  * [`addListener(TerminalEventsEnum.ConnectedReader, ...)`](#addlistenerterminaleventsenumconnectedreader)
@@ -108,6 +112,35 @@ connectReader(options: { reader: ReaderInterface; }) => Promise<void>
108
112
  --------------------
109
113
 
110
114
 
115
+ ### getConnectedReader()
116
+
117
+ ```typescript
118
+ getConnectedReader() => Promise<{ reader: ReaderInterface | null; }>
119
+ ```
120
+
121
+ **Returns:** <code>Promise&lt;{ reader: <a href="#readerinterface">ReaderInterface</a> | null; }&gt;</code>
122
+
123
+ --------------------
124
+
125
+
126
+ ### disconnectReader()
127
+
128
+ ```typescript
129
+ disconnectReader() => Promise<void>
130
+ ```
131
+
132
+ --------------------
133
+
134
+
135
+ ### cancelDiscoverReaders()
136
+
137
+ ```typescript
138
+ cancelDiscoverReaders() => Promise<void>
139
+ ```
140
+
141
+ --------------------
142
+
143
+
111
144
  ### collect(...)
112
145
 
113
146
  ```typescript
@@ -121,6 +154,15 @@ collect(options: { paymentIntent: string; }) => Promise<void>
121
154
  --------------------
122
155
 
123
156
 
157
+ ### cancelCollect()
158
+
159
+ ```typescript
160
+ cancelCollect() => Promise<void>
161
+ ```
162
+
163
+ --------------------
164
+
165
+
124
166
  ### addListener(TerminalEventsEnum.Loaded, ...)
125
167
 
126
168
  ```typescript
@@ -251,13 +293,15 @@ addListener(eventName: TerminalEventsEnum.Failed, listenerFunc: () => void) => P
251
293
 
252
294
  #### TerminalEventsEnum
253
295
 
254
- | Members | Value |
255
- | ----------------------- | ---------------------------------------- |
256
- | **`Loaded`** | <code>'terminalLoaded'</code> |
257
- | **`DiscoveredReaders`** | <code>'terminalDiscoveredReaders'</code> |
258
- | **`ConnectedReader`** | <code>'terminalConnectedReader'</code> |
259
- | **`Completed`** | <code>'terminalCompleted'</code> |
260
- | **`Canceled`** | <code>'terminalCanceled'</code> |
261
- | **`Failed`** | <code>'terminalFailed'</code> |
296
+ | Members | Value |
297
+ | ----------------------------- | ---------------------------------------------- |
298
+ | **`Loaded`** | <code>'terminalLoaded'</code> |
299
+ | **`DiscoveredReaders`** | <code>'terminalDiscoveredReaders'</code> |
300
+ | **`CancelDiscoveredReaders`** | <code>'terminalCancelDiscoveredReaders'</code> |
301
+ | **`ConnectedReader`** | <code>'terminalConnectedReader'</code> |
302
+ | **`DisconnectedReader`** | <code>'terminalDisconnectedReader'</code> |
303
+ | **`Completed`** | <code>'terminalCompleted'</code> |
304
+ | **`Canceled`** | <code>'terminalCanceled'</code> |
305
+ | **`Failed`** | <code>'terminalFailed'</code> |
262
306
 
263
307
  </docgen-api>
@@ -1,2 +1,4 @@
1
1
  <manifest xmlns:android="http://schemas.android.com/apk/res/android">
2
+
3
+ <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
2
4
  </manifest>
@@ -1,11 +1,15 @@
1
1
  package com.getcapacitor.community.stripe.terminal;
2
2
 
3
+ import android.Manifest;
3
4
  import android.app.Activity;
4
5
  import android.app.Application;
6
+ import android.bluetooth.BluetoothAdapter;
5
7
  import android.content.Context;
6
8
  import android.content.pm.ApplicationInfo;
9
+ import android.content.pm.PackageManager;
7
10
  import android.util.Log;
8
11
  import androidx.annotation.NonNull;
12
+ import androidx.core.app.ActivityCompat;
9
13
  import androidx.core.util.Supplier;
10
14
  import com.getcapacitor.JSArray;
11
15
  import com.getcapacitor.JSObject;
@@ -32,12 +36,12 @@ import com.stripe.stripeterminal.log.LogLevel;
32
36
  import java.util.ArrayList;
33
37
  import java.util.List;
34
38
  import java.util.Objects;
35
-
36
39
  import org.json.JSONException;
37
40
 
38
41
  public class StripeTerminal extends Executor {
39
42
 
40
43
  private Cancelable discoveryCancelable;
44
+ private Cancelable collectCancelable;
41
45
  private List<Reader> readers;
42
46
  private String locationId;
43
47
  private PluginCall collectCall;
@@ -58,6 +62,17 @@ public class StripeTerminal extends Executor {
58
62
 
59
63
  public void initialize(final PluginCall call) throws TerminalException {
60
64
  this.isTest = call.getBoolean("isTest", true);
65
+
66
+ BluetoothAdapter bluetooth = BluetoothAdapter.getDefaultAdapter();
67
+ if (!bluetooth.isEnabled()) {
68
+ if (
69
+ ActivityCompat.checkSelfPermission(this.contextSupplier.get(), Manifest.permission.BLUETOOTH_CONNECT) ==
70
+ PackageManager.PERMISSION_GRANTED
71
+ ) {
72
+ bluetooth.enable();
73
+ }
74
+ }
75
+
61
76
  this.activitySupplier.get()
62
77
  .runOnUiThread(
63
78
  () -> {
@@ -101,12 +116,7 @@ public class StripeTerminal extends Executor {
101
116
  return;
102
117
  }
103
118
 
104
- final DiscoveryConfiguration config = new DiscoveryConfiguration(
105
- 0,
106
- this.type,
107
- this.isTest,
108
- call.getString("locationId")
109
- );
119
+ final DiscoveryConfiguration config = new DiscoveryConfiguration(0, this.type, this.isTest, call.getString("locationId"));
110
120
  final DiscoveryListener discoveryListener = readers -> {
111
121
  // 検索したReaderの一覧をListenerで渡す
112
122
  Log.d(logTag, String.valueOf(readers.get(0).getSerialNumber()));
@@ -149,63 +159,102 @@ public class StripeTerminal extends Executor {
149
159
  }
150
160
  }
151
161
 
162
+ public void getConnectedReader(final PluginCall call) {
163
+ Reader reader = Terminal.getInstance().getConnectedReader();
164
+
165
+ if (reader == null) {
166
+ call.resolve(new JSObject().put("reader", JSObject.NULL));
167
+ } else {
168
+ call.resolve(new JSObject().put("reader", new JSObject().put("serialNumber", reader.getSerialNumber())));
169
+ }
170
+ }
171
+
172
+ public void disconnectReader(final PluginCall call) {
173
+ if (Terminal.getInstance().getConnectedReader() == null) {
174
+ call.resolve();
175
+ return;
176
+ }
177
+
178
+ Terminal
179
+ .getInstance()
180
+ .disconnectReader(
181
+ new Callback() {
182
+ @Override
183
+ public void onSuccess() {
184
+ notifyListeners(TerminalEnumEvent.DisconnectedReader.getWebEventName(), emptyObject);
185
+ call.resolve();
186
+ }
187
+
188
+ @Override
189
+ public void onFailure(@NonNull TerminalException ex) {
190
+ call.reject(ex.getLocalizedMessage(), ex);
191
+ }
192
+ }
193
+ );
194
+ }
195
+
152
196
  private void connectLocalMobileReader(final PluginCall call) {
153
197
  JSObject reader = call.getObject("reader");
154
198
  ConnectionConfiguration.LocalMobileConnectionConfiguration config = new ConnectionConfiguration.LocalMobileConnectionConfiguration(
155
- this.locationId
199
+ this.locationId
156
200
  );
157
201
  Terminal
158
- .getInstance()
159
- .connectLocalMobileReader(
160
- this.readers.get(reader.getInteger("index")),
161
- config,
162
- new ReaderCallback() {
163
- @Override
164
- public void onSuccess(Reader r) {
165
- notifyListeners(TerminalEnumEvent.ConnectedReader.getWebEventName(), emptyObject);
166
- call.resolve();
167
- }
168
-
169
- @Override
170
- public void onFailure(@NonNull TerminalException ex) {
171
- ex.printStackTrace();
172
- call.reject(ex.getLocalizedMessage(), ex);
173
- }
174
- }
175
- );
202
+ .getInstance()
203
+ .connectLocalMobileReader(
204
+ this.readers.get(reader.getInteger("index")),
205
+ config,
206
+ new ReaderCallback() {
207
+ @Override
208
+ public void onSuccess(Reader r) {
209
+ notifyListeners(TerminalEnumEvent.ConnectedReader.getWebEventName(), emptyObject);
210
+ call.resolve();
211
+ }
212
+
213
+ @Override
214
+ public void onFailure(@NonNull TerminalException ex) {
215
+ ex.printStackTrace();
216
+ call.reject(ex.getLocalizedMessage(), ex);
217
+ }
218
+ }
219
+ );
176
220
  }
177
221
 
178
222
  private void connectInternetReader(final PluginCall call) {
179
223
  JSObject reader = call.getObject("reader");
180
- ConnectionConfiguration.InternetConnectionConfiguration config =
181
- new ConnectionConfiguration.InternetConnectionConfiguration();
182
- Terminal.getInstance().connectInternetReader(this.readers.get(reader.getInteger("index")), config, new ReaderCallback() {
183
- @Override
184
- public void onSuccess(@NonNull Reader r) {
185
- notifyListeners(TerminalEnumEvent.ConnectedReader.getWebEventName(), emptyObject);
186
- call.resolve();
187
- }
224
+ ConnectionConfiguration.InternetConnectionConfiguration config = new ConnectionConfiguration.InternetConnectionConfiguration();
225
+ Terminal
226
+ .getInstance()
227
+ .connectInternetReader(
228
+ this.readers.get(reader.getInteger("index")),
229
+ config,
230
+ new ReaderCallback() {
231
+ @Override
232
+ public void onSuccess(@NonNull Reader r) {
233
+ notifyListeners(TerminalEnumEvent.ConnectedReader.getWebEventName(), emptyObject);
234
+ call.resolve();
235
+ }
188
236
 
189
- @Override
190
- public void onFailure(@NonNull TerminalException ex) {
191
- ex.printStackTrace();
192
- call.reject(ex.getLocalizedMessage(), ex);
193
- }
194
- });
237
+ @Override
238
+ public void onFailure(@NonNull TerminalException ex) {
239
+ ex.printStackTrace();
240
+ call.reject(ex.getLocalizedMessage(), ex);
241
+ }
242
+ }
243
+ );
195
244
  }
196
245
 
197
- public void cancelDiscovering(final PluginCall call) {
246
+ public void cancelDiscoverReaders(final PluginCall call) {
198
247
  if (discoveryCancelable != null) {
199
248
  discoveryCancelable.cancel(
200
249
  new Callback() {
201
250
  @Override
202
251
  public void onSuccess() {
252
+ notifyListeners(TerminalEnumEvent.CancelDiscoveredReaders.getWebEventName(), emptyObject);
203
253
  call.resolve();
204
254
  }
205
255
 
206
256
  @Override
207
257
  public void onFailure(TerminalException ex) {
208
- Log.d(logTag, ex.getLocalizedMessage());
209
258
  call.reject(ex.getLocalizedMessage(), ex);
210
259
  }
211
260
  }
@@ -222,10 +271,33 @@ public class StripeTerminal extends Executor {
222
271
  Terminal.getInstance().retrievePaymentIntent(call.getString("paymentIntent"), createPaymentIntentCallback);
223
272
  }
224
273
 
274
+ public void cancelCollect(final PluginCall call) {
275
+ if (this.collectCancelable == null || this.collectCancelable.isCompleted()) {
276
+ call.resolve();
277
+ return;
278
+ }
279
+
280
+ this.collectCancelable.cancel(
281
+ new Callback() {
282
+ @Override
283
+ public void onSuccess() {
284
+ collectCancelable = null;
285
+ notifyListeners(TerminalEnumEvent.Canceled.getWebEventName(), emptyObject);
286
+ call.resolve();
287
+ }
288
+
289
+ @Override
290
+ public void onFailure(@NonNull TerminalException e) {
291
+ call.reject(e.getErrorMessage());
292
+ }
293
+ }
294
+ );
295
+ }
296
+
225
297
  private final PaymentIntentCallback createPaymentIntentCallback = new PaymentIntentCallback() {
226
298
  @Override
227
299
  public void onSuccess(@NonNull PaymentIntent paymentIntent) {
228
- Terminal.getInstance().collectPaymentMethod(paymentIntent, collectPaymentMethodCallback);
300
+ collectCancelable = Terminal.getInstance().collectPaymentMethod(paymentIntent, collectPaymentMethodCallback);
229
301
  }
230
302
 
231
303
  @Override
@@ -239,11 +311,13 @@ public class StripeTerminal extends Executor {
239
311
  private final PaymentIntentCallback collectPaymentMethodCallback = new PaymentIntentCallback() {
240
312
  @Override
241
313
  public void onSuccess(@NonNull PaymentIntent paymentIntent) {
314
+ collectCancelable = null;
242
315
  Terminal.getInstance().processPayment(paymentIntent, processPaymentCallback);
243
316
  }
244
317
 
245
318
  @Override
246
319
  public void onFailure(@NonNull TerminalException ex) {
320
+ collectCancelable = null;
247
321
  notifyListeners(TerminalEnumEvent.Failed.getWebEventName(), emptyObject);
248
322
  collectCall.reject(ex.getLocalizedMessage(), ex);
249
323
  }
@@ -19,16 +19,7 @@ import org.json.JSONException;
19
19
  name = "StripeTerminal",
20
20
  permissions = {
21
21
  @Permission(alias = "location", strings = { Manifest.permission.ACCESS_FINE_LOCATION }),
22
- @Permission(
23
- alias = "bluetooth",
24
- strings = {
25
- Manifest.permission.BLUETOOTH,
26
- Manifest.permission.BLUETOOTH_ADMIN,
27
- Manifest.permission.BLUETOOTH_SCAN,
28
- Manifest.permission.BLUETOOTH_ADVERTISE,
29
- Manifest.permission.BLUETOOTH_CONNECT
30
- }
31
- )
22
+ @Permission(alias = "bluetooth", strings = { Manifest.permission.BLUETOOTH_SCAN, Manifest.permission.BLUETOOTH_CONNECT })
32
23
  }
33
24
  )
34
25
  public class StripeTerminalPlugin extends Plugin {
@@ -78,13 +69,33 @@ public class StripeTerminalPlugin extends Plugin {
78
69
  this.implementation.onDiscoverReaders(call);
79
70
  }
80
71
 
72
+ @PluginMethod
73
+ public void cancelDiscoverReaders(PluginCall call) {
74
+ this.implementation.cancelDiscoverReaders(call);
75
+ }
76
+
81
77
  @PluginMethod
82
78
  public void connectReader(PluginCall call) {
83
79
  this.implementation.connectReader(call);
84
80
  }
85
81
 
82
+ @PluginMethod
83
+ public void getConnectedReader(final PluginCall call) {
84
+ this.implementation.getConnectedReader(call);
85
+ }
86
+
87
+ @PluginMethod
88
+ public void disconnectReader(final PluginCall call) {
89
+ this.implementation.disconnectReader(call);
90
+ }
91
+
86
92
  @PluginMethod
87
93
  public void collect(PluginCall call) {
88
94
  this.implementation.collect(call);
89
95
  }
96
+
97
+ @PluginMethod
98
+ public void cancelCollect(final PluginCall call) {
99
+ this.implementation.cancelCollect(call);
100
+ }
90
101
  }
@@ -3,7 +3,9 @@ package com.getcapacitor.community.stripe.terminal;
3
3
  enum class TerminalEnumEvent(val webEventName: String) {
4
4
  Loaded("terminalLoaded"),
5
5
  DiscoveredReaders("terminalDiscoveredReaders"),
6
+ CancelDiscoveredReaders("terminalCancelDiscoveredReaders"),
6
7
  ConnectedReader("terminalConnectedReader"),
8
+ DisconnectedReader("terminalDisconnectedReader"),
7
9
  Completed("terminalCompleted"),
8
10
  Canceled("terminalCanceled"),
9
11
  Failed("terminalFailed"),
package/dist/docs.json CHANGED
@@ -58,6 +58,38 @@
58
58
  ],
59
59
  "slug": "connectreader"
60
60
  },
61
+ {
62
+ "name": "getConnectedReader",
63
+ "signature": "() => Promise<{ reader: ReaderInterface | null; }>",
64
+ "parameters": [],
65
+ "returns": "Promise<{ reader: ReaderInterface | null; }>",
66
+ "tags": [],
67
+ "docs": "",
68
+ "complexTypes": [
69
+ "ReaderInterface"
70
+ ],
71
+ "slug": "getconnectedreader"
72
+ },
73
+ {
74
+ "name": "disconnectReader",
75
+ "signature": "() => Promise<void>",
76
+ "parameters": [],
77
+ "returns": "Promise<void>",
78
+ "tags": [],
79
+ "docs": "",
80
+ "complexTypes": [],
81
+ "slug": "disconnectreader"
82
+ },
83
+ {
84
+ "name": "cancelDiscoverReaders",
85
+ "signature": "() => Promise<void>",
86
+ "parameters": [],
87
+ "returns": "Promise<void>",
88
+ "tags": [],
89
+ "docs": "",
90
+ "complexTypes": [],
91
+ "slug": "canceldiscoverreaders"
92
+ },
61
93
  {
62
94
  "name": "collect",
63
95
  "signature": "(options: { paymentIntent: string; }) => Promise<void>",
@@ -74,6 +106,16 @@
74
106
  "complexTypes": [],
75
107
  "slug": "collect"
76
108
  },
109
+ {
110
+ "name": "cancelCollect",
111
+ "signature": "() => Promise<void>",
112
+ "parameters": [],
113
+ "returns": "Promise<void>",
114
+ "tags": [],
115
+ "docs": "",
116
+ "complexTypes": [],
117
+ "slug": "cancelcollect"
118
+ },
77
119
  {
78
120
  "name": "addListener",
79
121
  "signature": "(eventName: TerminalEventsEnum.Loaded, listenerFunc: () => void) => PluginListenerHandle",
@@ -293,12 +335,24 @@
293
335
  "tags": [],
294
336
  "docs": ""
295
337
  },
338
+ {
339
+ "name": "CancelDiscoveredReaders",
340
+ "value": "'terminalCancelDiscoveredReaders'",
341
+ "tags": [],
342
+ "docs": ""
343
+ },
296
344
  {
297
345
  "name": "ConnectedReader",
298
346
  "value": "'terminalConnectedReader'",
299
347
  "tags": [],
300
348
  "docs": ""
301
349
  },
350
+ {
351
+ "name": "DisconnectedReader",
352
+ "value": "'terminalDisconnectedReader'",
353
+ "tags": [],
354
+ "docs": ""
355
+ },
302
356
  {
303
357
  "name": "Completed",
304
358
  "value": "'terminalCompleted'",
@@ -26,9 +26,15 @@ export interface StripeTerminalPlugin {
26
26
  connectReader(options: {
27
27
  reader: ReaderInterface;
28
28
  }): Promise<void>;
29
+ getConnectedReader(): Promise<{
30
+ reader: ReaderInterface | null;
31
+ }>;
32
+ disconnectReader(): Promise<void>;
33
+ cancelDiscoverReaders(): Promise<void>;
29
34
  collect(options: {
30
35
  paymentIntent: string;
31
36
  }): Promise<void>;
37
+ cancelCollect(): Promise<void>;
32
38
  addListener(eventName: TerminalEventsEnum.Loaded, listenerFunc: () => void): PluginListenerHandle;
33
39
  addListener(eventName: TerminalEventsEnum.DiscoveredReaders, listenerFunc: () => {
34
40
  reader: ReaderInterface;
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"AAIA,MAAM,CAAN,IAAY,oBAMX;AAND,WAAY,oBAAoB;IAC9B,+CAAuB,CAAA;IACvB,6CAAqB,CAAA;IACrB,+CAAuB,CAAA;IACvB,mCAAW,CAAA;IACX,+CAAuB,CAAA;AACzB,CAAC,EANW,oBAAoB,KAApB,oBAAoB,QAM/B;AAOD,cAAc,eAAe,CAAC","sourcesContent":["import type { PluginListenerHandle } from '@capacitor/core';\n\nimport type { TerminalEventsEnum } from './events.enum';\n\nexport enum TerminalConnectTypes {\n Simulated = 'simulated',\n Internet = 'internet',\n Bluetooth = 'bluetooth',\n Usb = 'usb',\n TapToPay = 'tap-to-pay',\n}\n\nexport type ReaderInterface = {\n index: number;\n serialNumber: string;\n};\n\nexport * from './events.enum';\nexport interface StripeTerminalPlugin {\n initialize(options: { tokenProviderEndpoint: string, isTest: boolean }): Promise<void>;\n discoverReaders(options: {\n type: TerminalConnectTypes;\n locationId?: string;\n }): Promise<{\n readers: ReaderInterface[];\n }>;\n connectReader(options: { reader: ReaderInterface }): Promise<void>;\n collect(options: { paymentIntent: string }): Promise<void>;\n addListener(\n eventName: TerminalEventsEnum.Loaded,\n listenerFunc: () => void,\n ): PluginListenerHandle;\n addListener(\n eventName: TerminalEventsEnum.DiscoveredReaders,\n listenerFunc: () => { reader: ReaderInterface },\n ): PluginListenerHandle;\n addListener(\n eventName: TerminalEventsEnum.ConnectedReader,\n listenerFunc: () => void,\n ): PluginListenerHandle;\n addListener(\n eventName: TerminalEventsEnum.Completed,\n listenerFunc: () => void,\n ): PluginListenerHandle;\n addListener(\n eventName: TerminalEventsEnum.Canceled,\n listenerFunc: () => void,\n ): PluginListenerHandle;\n addListener(\n eventName: TerminalEventsEnum.Failed,\n listenerFunc: () => void,\n ): PluginListenerHandle;\n}\n"]}
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"AAIA,MAAM,CAAN,IAAY,oBAMX;AAND,WAAY,oBAAoB;IAC9B,+CAAuB,CAAA;IACvB,6CAAqB,CAAA;IACrB,+CAAuB,CAAA;IACvB,mCAAW,CAAA;IACX,+CAAuB,CAAA;AACzB,CAAC,EANW,oBAAoB,KAApB,oBAAoB,QAM/B;AAOD,cAAc,eAAe,CAAC","sourcesContent":["import type { PluginListenerHandle } from '@capacitor/core';\n\nimport type { TerminalEventsEnum } from './events.enum';\n\nexport enum TerminalConnectTypes {\n Simulated = 'simulated',\n Internet = 'internet',\n Bluetooth = 'bluetooth',\n Usb = 'usb',\n TapToPay = 'tap-to-pay',\n}\n\nexport type ReaderInterface = {\n index: number;\n serialNumber: string;\n};\n\nexport * from './events.enum';\nexport interface StripeTerminalPlugin {\n initialize(options: {\n tokenProviderEndpoint: string;\n isTest: boolean;\n }): Promise<void>;\n discoverReaders(options: {\n type: TerminalConnectTypes;\n locationId?: string;\n }): Promise<{\n readers: ReaderInterface[];\n }>;\n connectReader(options: { reader: ReaderInterface }): Promise<void>;\n getConnectedReader(): Promise<{ reader: ReaderInterface | null }>;\n disconnectReader(): Promise<void>;\n cancelDiscoverReaders(): Promise<void>;\n collect(options: { paymentIntent: string }): Promise<void>;\n cancelCollect(): Promise<void>;\n addListener(\n eventName: TerminalEventsEnum.Loaded,\n listenerFunc: () => void,\n ): PluginListenerHandle;\n addListener(\n eventName: TerminalEventsEnum.DiscoveredReaders,\n listenerFunc: () => { reader: ReaderInterface },\n ): PluginListenerHandle;\n addListener(\n eventName: TerminalEventsEnum.ConnectedReader,\n listenerFunc: () => void,\n ): PluginListenerHandle;\n addListener(\n eventName: TerminalEventsEnum.Completed,\n listenerFunc: () => void,\n ): PluginListenerHandle;\n addListener(\n eventName: TerminalEventsEnum.Canceled,\n listenerFunc: () => void,\n ): PluginListenerHandle;\n addListener(\n eventName: TerminalEventsEnum.Failed,\n listenerFunc: () => void,\n ): PluginListenerHandle;\n}\n"]}
@@ -1,7 +1,9 @@
1
1
  export declare enum TerminalEventsEnum {
2
2
  Loaded = "terminalLoaded",
3
3
  DiscoveredReaders = "terminalDiscoveredReaders",
4
+ CancelDiscoveredReaders = "terminalCancelDiscoveredReaders",
4
5
  ConnectedReader = "terminalConnectedReader",
6
+ DisconnectedReader = "terminalDisconnectedReader",
5
7
  Completed = "terminalCompleted",
6
8
  Canceled = "terminalCanceled",
7
9
  Failed = "terminalFailed"
@@ -2,7 +2,9 @@ export var TerminalEventsEnum;
2
2
  (function (TerminalEventsEnum) {
3
3
  TerminalEventsEnum["Loaded"] = "terminalLoaded";
4
4
  TerminalEventsEnum["DiscoveredReaders"] = "terminalDiscoveredReaders";
5
+ TerminalEventsEnum["CancelDiscoveredReaders"] = "terminalCancelDiscoveredReaders";
5
6
  TerminalEventsEnum["ConnectedReader"] = "terminalConnectedReader";
7
+ TerminalEventsEnum["DisconnectedReader"] = "terminalDisconnectedReader";
6
8
  TerminalEventsEnum["Completed"] = "terminalCompleted";
7
9
  TerminalEventsEnum["Canceled"] = "terminalCanceled";
8
10
  TerminalEventsEnum["Failed"] = "terminalFailed";
@@ -1 +1 @@
1
- {"version":3,"file":"events.enum.js","sourceRoot":"","sources":["../../src/events.enum.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,kBAOX;AAPD,WAAY,kBAAkB;IAC5B,+CAAyB,CAAA;IACzB,qEAA+C,CAAA;IAC/C,iEAA2C,CAAA;IAC3C,qDAA+B,CAAA;IAC/B,mDAA6B,CAAA;IAC7B,+CAAyB,CAAA;AAC3B,CAAC,EAPW,kBAAkB,KAAlB,kBAAkB,QAO7B","sourcesContent":["export enum TerminalEventsEnum {\n Loaded = 'terminalLoaded',\n DiscoveredReaders = 'terminalDiscoveredReaders',\n ConnectedReader = 'terminalConnectedReader',\n Completed = 'terminalCompleted',\n Canceled = 'terminalCanceled',\n Failed = 'terminalFailed',\n}\n\nexport type TerminalResultInterface =\n | TerminalEventsEnum.Completed\n | TerminalEventsEnum.Canceled\n | TerminalEventsEnum.Failed;\n"]}
1
+ {"version":3,"file":"events.enum.js","sourceRoot":"","sources":["../../src/events.enum.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,kBASX;AATD,WAAY,kBAAkB;IAC5B,+CAAyB,CAAA;IACzB,qEAA+C,CAAA;IAC/C,iFAA2D,CAAA;IAC3D,iEAA2C,CAAA;IAC3C,uEAAiD,CAAA;IACjD,qDAA+B,CAAA;IAC/B,mDAA6B,CAAA;IAC7B,+CAAyB,CAAA;AAC3B,CAAC,EATW,kBAAkB,KAAlB,kBAAkB,QAS7B","sourcesContent":["export enum TerminalEventsEnum {\n Loaded = 'terminalLoaded',\n DiscoveredReaders = 'terminalDiscoveredReaders',\n CancelDiscoveredReaders = 'terminalCancelDiscoveredReaders',\n ConnectedReader = 'terminalConnectedReader',\n DisconnectedReader = 'terminalDisconnectedReader',\n Completed = 'terminalCompleted',\n Canceled = 'terminalCanceled',\n Failed = 'terminalFailed',\n}\n\nexport type TerminalResultInterface =\n | TerminalEventsEnum.Completed\n | TerminalEventsEnum.Canceled\n | TerminalEventsEnum.Failed;\n"]}
package/dist/esm/web.d.ts CHANGED
@@ -11,10 +11,16 @@ export declare class StripeTerminalWeb extends WebPlugin implements StripeTermin
11
11
  }): Promise<{
12
12
  readers: ReaderInterface[];
13
13
  }>;
14
+ cancelDiscoverReaders(): Promise<void>;
14
15
  connectReader(options: {
15
16
  reader: ReaderInterface;
16
17
  }): Promise<void>;
18
+ getConnectedReader(): Promise<{
19
+ reader: ReaderInterface | null;
20
+ }>;
21
+ disconnectReader(): Promise<void>;
17
22
  collect(options: {
18
23
  paymentIntent: string;
19
24
  }): Promise<void>;
25
+ cancelCollect(): Promise<void>;
20
26
  }
package/dist/esm/web.js CHANGED
@@ -14,13 +14,30 @@ export class StripeTerminalWeb extends WebPlugin {
14
14
  readers: [],
15
15
  };
16
16
  }
17
+ async cancelDiscoverReaders() {
18
+ console.log('cancelDiscoverReaders');
19
+ this.notifyListeners(TerminalEventsEnum.CancelDiscoveredReaders, null);
20
+ }
17
21
  async connectReader(options) {
18
22
  console.log('connectReader', options);
19
23
  this.notifyListeners(TerminalEventsEnum.ConnectedReader, null);
20
24
  }
25
+ async getConnectedReader() {
26
+ return {
27
+ reader: null,
28
+ };
29
+ }
30
+ async disconnectReader() {
31
+ console.log('disconnectReader');
32
+ this.notifyListeners(TerminalEventsEnum.DisconnectedReader, null);
33
+ }
21
34
  async collect(options) {
22
35
  console.log('collect', options);
23
36
  this.notifyListeners(TerminalEventsEnum.Completed, null);
24
37
  }
38
+ async cancelCollect() {
39
+ console.log('cancelCollect');
40
+ this.notifyListeners(TerminalEventsEnum.Canceled, null);
41
+ }
25
42
  }
26
43
  //# sourceMappingURL=web.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAO5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD,MAAM,OAAO,iBACX,SAAQ,SAAS;IAGjB,KAAK,CAAC,UAAU,CAAC,OAA2D;QAC1E,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAGrB;QAGC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,iBAAiB,EAAE;YACzD,OAAO,EAAE,EAAE;SACZ,CAAC,CAAC;QACH,OAAO;YACL,OAAO,EAAE,EAAE;SACZ,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAoC;QACtD,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAkC;QAC9C,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAChC,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;CACF","sourcesContent":["import { WebPlugin } from '@capacitor/core';\n\nimport type {\n StripeTerminalPlugin,\n TerminalConnectTypes,\n ReaderInterface,\n} from './definitions';\nimport { TerminalEventsEnum } from './events.enum';\n\nexport class StripeTerminalWeb\n extends WebPlugin\n implements StripeTerminalPlugin\n{\n async initialize(options: { tokenProviderEndpoint: string, isTest: boolean }): Promise<void> {\n console.log('initialize', options);\n this.notifyListeners(TerminalEventsEnum.Loaded, null);\n }\n\n async discoverReaders(options: {\n type: TerminalConnectTypes;\n locationId?: string;\n }): Promise<{\n readers: ReaderInterface[];\n }> {\n console.log('discoverReaders', options);\n this.notifyListeners(TerminalEventsEnum.DiscoveredReaders, {\n readers: [],\n });\n return {\n readers: [],\n };\n }\n\n async connectReader(options: { reader: ReaderInterface }): Promise<void> {\n console.log('connectReader', options);\n this.notifyListeners(TerminalEventsEnum.ConnectedReader, null);\n }\n\n async collect(options: { paymentIntent: string }): Promise<void> {\n console.log('collect', options);\n this.notifyListeners(TerminalEventsEnum.Completed, null);\n }\n}\n"]}
1
+ {"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAO5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD,MAAM,OAAO,iBACX,SAAQ,SAAS;IAGjB,KAAK,CAAC,UAAU,CAAC,OAGhB;QACC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAGrB;QAGC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,iBAAiB,EAAE;YACzD,OAAO,EAAE,EAAE;SACZ,CAAC,CAAC;QACH,OAAO;YACL,OAAO,EAAE,EAAE;SACZ,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,qBAAqB;QACzB,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACrC,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAoC;QACtD,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,OAAO;YACL,MAAM,EAAE,IAAI;SACb,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAChC,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAkC;QAC9C,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAChC,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC7B,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;CACF","sourcesContent":["import { WebPlugin } from '@capacitor/core';\n\nimport type {\n StripeTerminalPlugin,\n TerminalConnectTypes,\n ReaderInterface,\n} from './definitions';\nimport { TerminalEventsEnum } from './events.enum';\n\nexport class StripeTerminalWeb\n extends WebPlugin\n implements StripeTerminalPlugin\n{\n async initialize(options: {\n tokenProviderEndpoint: string;\n isTest: boolean;\n }): Promise<void> {\n console.log('initialize', options);\n this.notifyListeners(TerminalEventsEnum.Loaded, null);\n }\n\n async discoverReaders(options: {\n type: TerminalConnectTypes;\n locationId?: string;\n }): Promise<{\n readers: ReaderInterface[];\n }> {\n console.log('discoverReaders', options);\n this.notifyListeners(TerminalEventsEnum.DiscoveredReaders, {\n readers: [],\n });\n return {\n readers: [],\n };\n }\n\n async cancelDiscoverReaders(): Promise<void> {\n console.log('cancelDiscoverReaders');\n this.notifyListeners(TerminalEventsEnum.CancelDiscoveredReaders, null);\n }\n\n async connectReader(options: { reader: ReaderInterface }): Promise<void> {\n console.log('connectReader', options);\n this.notifyListeners(TerminalEventsEnum.ConnectedReader, null);\n }\n\n async getConnectedReader(): Promise<{ reader: ReaderInterface | null }> {\n return {\n reader: null,\n };\n }\n\n async disconnectReader(): Promise<void> {\n console.log('disconnectReader');\n this.notifyListeners(TerminalEventsEnum.DisconnectedReader, null);\n }\n\n async collect(options: { paymentIntent: string }): Promise<void> {\n console.log('collect', options);\n this.notifyListeners(TerminalEventsEnum.Completed, null);\n }\n\n async cancelCollect(): Promise<void> {\n console.log('cancelCollect');\n this.notifyListeners(TerminalEventsEnum.Canceled, null);\n }\n}\n"]}
@@ -8,7 +8,9 @@ exports.TerminalEventsEnum = void 0;
8
8
  (function (TerminalEventsEnum) {
9
9
  TerminalEventsEnum["Loaded"] = "terminalLoaded";
10
10
  TerminalEventsEnum["DiscoveredReaders"] = "terminalDiscoveredReaders";
11
+ TerminalEventsEnum["CancelDiscoveredReaders"] = "terminalCancelDiscoveredReaders";
11
12
  TerminalEventsEnum["ConnectedReader"] = "terminalConnectedReader";
13
+ TerminalEventsEnum["DisconnectedReader"] = "terminalDisconnectedReader";
12
14
  TerminalEventsEnum["Completed"] = "terminalCompleted";
13
15
  TerminalEventsEnum["Canceled"] = "terminalCanceled";
14
16
  TerminalEventsEnum["Failed"] = "terminalFailed";
@@ -41,14 +43,31 @@ class StripeTerminalWeb extends core.WebPlugin {
41
43
  readers: [],
42
44
  };
43
45
  }
46
+ async cancelDiscoverReaders() {
47
+ console.log('cancelDiscoverReaders');
48
+ this.notifyListeners(exports.TerminalEventsEnum.CancelDiscoveredReaders, null);
49
+ }
44
50
  async connectReader(options) {
45
51
  console.log('connectReader', options);
46
52
  this.notifyListeners(exports.TerminalEventsEnum.ConnectedReader, null);
47
53
  }
54
+ async getConnectedReader() {
55
+ return {
56
+ reader: null,
57
+ };
58
+ }
59
+ async disconnectReader() {
60
+ console.log('disconnectReader');
61
+ this.notifyListeners(exports.TerminalEventsEnum.DisconnectedReader, null);
62
+ }
48
63
  async collect(options) {
49
64
  console.log('collect', options);
50
65
  this.notifyListeners(exports.TerminalEventsEnum.Completed, null);
51
66
  }
67
+ async cancelCollect() {
68
+ console.log('cancelCollect');
69
+ this.notifyListeners(exports.TerminalEventsEnum.Canceled, null);
70
+ }
52
71
  }
53
72
 
54
73
  var web = /*#__PURE__*/Object.freeze({
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.cjs.js","sources":["esm/events.enum.js","esm/definitions.js","esm/index.js","esm/web.js"],"sourcesContent":["export var TerminalEventsEnum;\n(function (TerminalEventsEnum) {\n TerminalEventsEnum[\"Loaded\"] = \"terminalLoaded\";\n TerminalEventsEnum[\"DiscoveredReaders\"] = \"terminalDiscoveredReaders\";\n TerminalEventsEnum[\"ConnectedReader\"] = \"terminalConnectedReader\";\n TerminalEventsEnum[\"Completed\"] = \"terminalCompleted\";\n TerminalEventsEnum[\"Canceled\"] = \"terminalCanceled\";\n TerminalEventsEnum[\"Failed\"] = \"terminalFailed\";\n})(TerminalEventsEnum || (TerminalEventsEnum = {}));\n//# sourceMappingURL=events.enum.js.map","export var TerminalConnectTypes;\n(function (TerminalConnectTypes) {\n TerminalConnectTypes[\"Simulated\"] = \"simulated\";\n TerminalConnectTypes[\"Internet\"] = \"internet\";\n TerminalConnectTypes[\"Bluetooth\"] = \"bluetooth\";\n TerminalConnectTypes[\"Usb\"] = \"usb\";\n TerminalConnectTypes[\"TapToPay\"] = \"tap-to-pay\";\n})(TerminalConnectTypes || (TerminalConnectTypes = {}));\nexport * from './events.enum';\n//# sourceMappingURL=definitions.js.map","import { registerPlugin } from '@capacitor/core';\nconst StripeTerminal = registerPlugin('StripeTerminal', {\n web: () => import('./web').then(m => new m.StripeTerminalWeb()),\n});\nexport * from './definitions';\nexport { StripeTerminal };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nimport { TerminalEventsEnum } from './events.enum';\nexport class StripeTerminalWeb extends WebPlugin {\n async initialize(options) {\n console.log('initialize', options);\n this.notifyListeners(TerminalEventsEnum.Loaded, null);\n }\n async discoverReaders(options) {\n console.log('discoverReaders', options);\n this.notifyListeners(TerminalEventsEnum.DiscoveredReaders, {\n readers: [],\n });\n return {\n readers: [],\n };\n }\n async connectReader(options) {\n console.log('connectReader', options);\n this.notifyListeners(TerminalEventsEnum.ConnectedReader, null);\n }\n async collect(options) {\n console.log('collect', options);\n this.notifyListeners(TerminalEventsEnum.Completed, null);\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["TerminalEventsEnum","TerminalConnectTypes","registerPlugin","WebPlugin"],"mappings":";;;;;;AAAWA,oCAAmB;AAC9B,CAAC,UAAU,kBAAkB,EAAE;AAC/B,IAAI,kBAAkB,CAAC,QAAQ,CAAC,GAAG,gBAAgB,CAAC;AACpD,IAAI,kBAAkB,CAAC,mBAAmB,CAAC,GAAG,2BAA2B,CAAC;AAC1E,IAAI,kBAAkB,CAAC,iBAAiB,CAAC,GAAG,yBAAyB,CAAC;AACtE,IAAI,kBAAkB,CAAC,WAAW,CAAC,GAAG,mBAAmB,CAAC;AAC1D,IAAI,kBAAkB,CAAC,UAAU,CAAC,GAAG,kBAAkB,CAAC;AACxD,IAAI,kBAAkB,CAAC,QAAQ,CAAC,GAAG,gBAAgB,CAAC;AACpD,CAAC,EAAEA,0BAAkB,KAAKA,0BAAkB,GAAG,EAAE,CAAC,CAAC;;ACRxCC,sCAAqB;AAChC,CAAC,UAAU,oBAAoB,EAAE;AACjC,IAAI,oBAAoB,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC;AACpD,IAAI,oBAAoB,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC;AAClD,IAAI,oBAAoB,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC;AACpD,IAAI,oBAAoB,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;AACxC,IAAI,oBAAoB,CAAC,UAAU,CAAC,GAAG,YAAY,CAAC;AACpD,CAAC,EAAEA,4BAAoB,KAAKA,4BAAoB,GAAG,EAAE,CAAC,CAAC;;ACNlD,MAAC,cAAc,GAAGC,mBAAc,CAAC,gBAAgB,EAAE;AACxD,IAAI,GAAG,EAAE,MAAM,mDAAe,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,iBAAiB,EAAE,CAAC;AACnE,CAAC;;ACDM,MAAM,iBAAiB,SAASC,cAAS,CAAC;AACjD,IAAI,MAAM,UAAU,CAAC,OAAO,EAAE;AAC9B,QAAQ,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AAC3C,QAAQ,IAAI,CAAC,eAAe,CAACH,0BAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC9D,KAAK;AACL,IAAI,MAAM,eAAe,CAAC,OAAO,EAAE;AACnC,QAAQ,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;AAChD,QAAQ,IAAI,CAAC,eAAe,CAACA,0BAAkB,CAAC,iBAAiB,EAAE;AACnE,YAAY,OAAO,EAAE,EAAE;AACvB,SAAS,CAAC,CAAC;AACX,QAAQ,OAAO;AACf,YAAY,OAAO,EAAE,EAAE;AACvB,SAAS,CAAC;AACV,KAAK;AACL,IAAI,MAAM,aAAa,CAAC,OAAO,EAAE;AACjC,QAAQ,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;AAC9C,QAAQ,IAAI,CAAC,eAAe,CAACA,0BAAkB,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;AACvE,KAAK;AACL,IAAI,MAAM,OAAO,CAAC,OAAO,EAAE;AAC3B,QAAQ,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AACxC,QAAQ,IAAI,CAAC,eAAe,CAACA,0BAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AACjE,KAAK;AACL;;;;;;;;;"}
1
+ {"version":3,"file":"plugin.cjs.js","sources":["esm/events.enum.js","esm/definitions.js","esm/index.js","esm/web.js"],"sourcesContent":["export var TerminalEventsEnum;\n(function (TerminalEventsEnum) {\n TerminalEventsEnum[\"Loaded\"] = \"terminalLoaded\";\n TerminalEventsEnum[\"DiscoveredReaders\"] = \"terminalDiscoveredReaders\";\n TerminalEventsEnum[\"CancelDiscoveredReaders\"] = \"terminalCancelDiscoveredReaders\";\n TerminalEventsEnum[\"ConnectedReader\"] = \"terminalConnectedReader\";\n TerminalEventsEnum[\"DisconnectedReader\"] = \"terminalDisconnectedReader\";\n TerminalEventsEnum[\"Completed\"] = \"terminalCompleted\";\n TerminalEventsEnum[\"Canceled\"] = \"terminalCanceled\";\n TerminalEventsEnum[\"Failed\"] = \"terminalFailed\";\n})(TerminalEventsEnum || (TerminalEventsEnum = {}));\n//# sourceMappingURL=events.enum.js.map","export var TerminalConnectTypes;\n(function (TerminalConnectTypes) {\n TerminalConnectTypes[\"Simulated\"] = \"simulated\";\n TerminalConnectTypes[\"Internet\"] = \"internet\";\n TerminalConnectTypes[\"Bluetooth\"] = \"bluetooth\";\n TerminalConnectTypes[\"Usb\"] = \"usb\";\n TerminalConnectTypes[\"TapToPay\"] = \"tap-to-pay\";\n})(TerminalConnectTypes || (TerminalConnectTypes = {}));\nexport * from './events.enum';\n//# sourceMappingURL=definitions.js.map","import { registerPlugin } from '@capacitor/core';\nconst StripeTerminal = registerPlugin('StripeTerminal', {\n web: () => import('./web').then(m => new m.StripeTerminalWeb()),\n});\nexport * from './definitions';\nexport { StripeTerminal };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nimport { TerminalEventsEnum } from './events.enum';\nexport class StripeTerminalWeb extends WebPlugin {\n async initialize(options) {\n console.log('initialize', options);\n this.notifyListeners(TerminalEventsEnum.Loaded, null);\n }\n async discoverReaders(options) {\n console.log('discoverReaders', options);\n this.notifyListeners(TerminalEventsEnum.DiscoveredReaders, {\n readers: [],\n });\n return {\n readers: [],\n };\n }\n async cancelDiscoverReaders() {\n console.log('cancelDiscoverReaders');\n this.notifyListeners(TerminalEventsEnum.CancelDiscoveredReaders, null);\n }\n async connectReader(options) {\n console.log('connectReader', options);\n this.notifyListeners(TerminalEventsEnum.ConnectedReader, null);\n }\n async getConnectedReader() {\n return {\n reader: null,\n };\n }\n async disconnectReader() {\n console.log('disconnectReader');\n this.notifyListeners(TerminalEventsEnum.DisconnectedReader, null);\n }\n async collect(options) {\n console.log('collect', options);\n this.notifyListeners(TerminalEventsEnum.Completed, null);\n }\n async cancelCollect() {\n console.log('cancelCollect');\n this.notifyListeners(TerminalEventsEnum.Canceled, null);\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["TerminalEventsEnum","TerminalConnectTypes","registerPlugin","WebPlugin"],"mappings":";;;;;;AAAWA,oCAAmB;AAC9B,CAAC,UAAU,kBAAkB,EAAE;AAC/B,IAAI,kBAAkB,CAAC,QAAQ,CAAC,GAAG,gBAAgB,CAAC;AACpD,IAAI,kBAAkB,CAAC,mBAAmB,CAAC,GAAG,2BAA2B,CAAC;AAC1E,IAAI,kBAAkB,CAAC,yBAAyB,CAAC,GAAG,iCAAiC,CAAC;AACtF,IAAI,kBAAkB,CAAC,iBAAiB,CAAC,GAAG,yBAAyB,CAAC;AACtE,IAAI,kBAAkB,CAAC,oBAAoB,CAAC,GAAG,4BAA4B,CAAC;AAC5E,IAAI,kBAAkB,CAAC,WAAW,CAAC,GAAG,mBAAmB,CAAC;AAC1D,IAAI,kBAAkB,CAAC,UAAU,CAAC,GAAG,kBAAkB,CAAC;AACxD,IAAI,kBAAkB,CAAC,QAAQ,CAAC,GAAG,gBAAgB,CAAC;AACpD,CAAC,EAAEA,0BAAkB,KAAKA,0BAAkB,GAAG,EAAE,CAAC,CAAC;;ACVxCC,sCAAqB;AAChC,CAAC,UAAU,oBAAoB,EAAE;AACjC,IAAI,oBAAoB,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC;AACpD,IAAI,oBAAoB,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC;AAClD,IAAI,oBAAoB,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC;AACpD,IAAI,oBAAoB,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;AACxC,IAAI,oBAAoB,CAAC,UAAU,CAAC,GAAG,YAAY,CAAC;AACpD,CAAC,EAAEA,4BAAoB,KAAKA,4BAAoB,GAAG,EAAE,CAAC,CAAC;;ACNlD,MAAC,cAAc,GAAGC,mBAAc,CAAC,gBAAgB,EAAE;AACxD,IAAI,GAAG,EAAE,MAAM,mDAAe,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,iBAAiB,EAAE,CAAC;AACnE,CAAC;;ACDM,MAAM,iBAAiB,SAASC,cAAS,CAAC;AACjD,IAAI,MAAM,UAAU,CAAC,OAAO,EAAE;AAC9B,QAAQ,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AAC3C,QAAQ,IAAI,CAAC,eAAe,CAACH,0BAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC9D,KAAK;AACL,IAAI,MAAM,eAAe,CAAC,OAAO,EAAE;AACnC,QAAQ,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;AAChD,QAAQ,IAAI,CAAC,eAAe,CAACA,0BAAkB,CAAC,iBAAiB,EAAE;AACnE,YAAY,OAAO,EAAE,EAAE;AACvB,SAAS,CAAC,CAAC;AACX,QAAQ,OAAO;AACf,YAAY,OAAO,EAAE,EAAE;AACvB,SAAS,CAAC;AACV,KAAK;AACL,IAAI,MAAM,qBAAqB,GAAG;AAClC,QAAQ,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;AAC7C,QAAQ,IAAI,CAAC,eAAe,CAACA,0BAAkB,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;AAC/E,KAAK;AACL,IAAI,MAAM,aAAa,CAAC,OAAO,EAAE;AACjC,QAAQ,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;AAC9C,QAAQ,IAAI,CAAC,eAAe,CAACA,0BAAkB,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;AACvE,KAAK;AACL,IAAI,MAAM,kBAAkB,GAAG;AAC/B,QAAQ,OAAO;AACf,YAAY,MAAM,EAAE,IAAI;AACxB,SAAS,CAAC;AACV,KAAK;AACL,IAAI,MAAM,gBAAgB,GAAG;AAC7B,QAAQ,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;AACxC,QAAQ,IAAI,CAAC,eAAe,CAACA,0BAAkB,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;AAC1E,KAAK;AACL,IAAI,MAAM,OAAO,CAAC,OAAO,EAAE;AAC3B,QAAQ,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AACxC,QAAQ,IAAI,CAAC,eAAe,CAACA,0BAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AACjE,KAAK;AACL,IAAI,MAAM,aAAa,GAAG;AAC1B,QAAQ,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AACrC,QAAQ,IAAI,CAAC,eAAe,CAACA,0BAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAChE,KAAK;AACL;;;;;;;;;"}
package/dist/plugin.js CHANGED
@@ -5,7 +5,9 @@ var capacitorStripeTerminal = (function (exports, core) {
5
5
  (function (TerminalEventsEnum) {
6
6
  TerminalEventsEnum["Loaded"] = "terminalLoaded";
7
7
  TerminalEventsEnum["DiscoveredReaders"] = "terminalDiscoveredReaders";
8
+ TerminalEventsEnum["CancelDiscoveredReaders"] = "terminalCancelDiscoveredReaders";
8
9
  TerminalEventsEnum["ConnectedReader"] = "terminalConnectedReader";
10
+ TerminalEventsEnum["DisconnectedReader"] = "terminalDisconnectedReader";
9
11
  TerminalEventsEnum["Completed"] = "terminalCompleted";
10
12
  TerminalEventsEnum["Canceled"] = "terminalCanceled";
11
13
  TerminalEventsEnum["Failed"] = "terminalFailed";
@@ -38,14 +40,31 @@ var capacitorStripeTerminal = (function (exports, core) {
38
40
  readers: [],
39
41
  };
40
42
  }
43
+ async cancelDiscoverReaders() {
44
+ console.log('cancelDiscoverReaders');
45
+ this.notifyListeners(exports.TerminalEventsEnum.CancelDiscoveredReaders, null);
46
+ }
41
47
  async connectReader(options) {
42
48
  console.log('connectReader', options);
43
49
  this.notifyListeners(exports.TerminalEventsEnum.ConnectedReader, null);
44
50
  }
51
+ async getConnectedReader() {
52
+ return {
53
+ reader: null,
54
+ };
55
+ }
56
+ async disconnectReader() {
57
+ console.log('disconnectReader');
58
+ this.notifyListeners(exports.TerminalEventsEnum.DisconnectedReader, null);
59
+ }
45
60
  async collect(options) {
46
61
  console.log('collect', options);
47
62
  this.notifyListeners(exports.TerminalEventsEnum.Completed, null);
48
63
  }
64
+ async cancelCollect() {
65
+ console.log('cancelCollect');
66
+ this.notifyListeners(exports.TerminalEventsEnum.Canceled, null);
67
+ }
49
68
  }
50
69
 
51
70
  var web = /*#__PURE__*/Object.freeze({
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sources":["esm/events.enum.js","esm/definitions.js","esm/index.js","esm/web.js"],"sourcesContent":["export var TerminalEventsEnum;\n(function (TerminalEventsEnum) {\n TerminalEventsEnum[\"Loaded\"] = \"terminalLoaded\";\n TerminalEventsEnum[\"DiscoveredReaders\"] = \"terminalDiscoveredReaders\";\n TerminalEventsEnum[\"ConnectedReader\"] = \"terminalConnectedReader\";\n TerminalEventsEnum[\"Completed\"] = \"terminalCompleted\";\n TerminalEventsEnum[\"Canceled\"] = \"terminalCanceled\";\n TerminalEventsEnum[\"Failed\"] = \"terminalFailed\";\n})(TerminalEventsEnum || (TerminalEventsEnum = {}));\n//# sourceMappingURL=events.enum.js.map","export var TerminalConnectTypes;\n(function (TerminalConnectTypes) {\n TerminalConnectTypes[\"Simulated\"] = \"simulated\";\n TerminalConnectTypes[\"Internet\"] = \"internet\";\n TerminalConnectTypes[\"Bluetooth\"] = \"bluetooth\";\n TerminalConnectTypes[\"Usb\"] = \"usb\";\n TerminalConnectTypes[\"TapToPay\"] = \"tap-to-pay\";\n})(TerminalConnectTypes || (TerminalConnectTypes = {}));\nexport * from './events.enum';\n//# sourceMappingURL=definitions.js.map","import { registerPlugin } from '@capacitor/core';\nconst StripeTerminal = registerPlugin('StripeTerminal', {\n web: () => import('./web').then(m => new m.StripeTerminalWeb()),\n});\nexport * from './definitions';\nexport { StripeTerminal };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nimport { TerminalEventsEnum } from './events.enum';\nexport class StripeTerminalWeb extends WebPlugin {\n async initialize(options) {\n console.log('initialize', options);\n this.notifyListeners(TerminalEventsEnum.Loaded, null);\n }\n async discoverReaders(options) {\n console.log('discoverReaders', options);\n this.notifyListeners(TerminalEventsEnum.DiscoveredReaders, {\n readers: [],\n });\n return {\n readers: [],\n };\n }\n async connectReader(options) {\n console.log('connectReader', options);\n this.notifyListeners(TerminalEventsEnum.ConnectedReader, null);\n }\n async collect(options) {\n console.log('collect', options);\n this.notifyListeners(TerminalEventsEnum.Completed, null);\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["TerminalEventsEnum","TerminalConnectTypes","registerPlugin","WebPlugin"],"mappings":";;;AAAWA,wCAAmB;IAC9B,CAAC,UAAU,kBAAkB,EAAE;IAC/B,IAAI,kBAAkB,CAAC,QAAQ,CAAC,GAAG,gBAAgB,CAAC;IACpD,IAAI,kBAAkB,CAAC,mBAAmB,CAAC,GAAG,2BAA2B,CAAC;IAC1E,IAAI,kBAAkB,CAAC,iBAAiB,CAAC,GAAG,yBAAyB,CAAC;IACtE,IAAI,kBAAkB,CAAC,WAAW,CAAC,GAAG,mBAAmB,CAAC;IAC1D,IAAI,kBAAkB,CAAC,UAAU,CAAC,GAAG,kBAAkB,CAAC;IACxD,IAAI,kBAAkB,CAAC,QAAQ,CAAC,GAAG,gBAAgB,CAAC;IACpD,CAAC,EAAEA,0BAAkB,KAAKA,0BAAkB,GAAG,EAAE,CAAC,CAAC;;ACRxCC,0CAAqB;IAChC,CAAC,UAAU,oBAAoB,EAAE;IACjC,IAAI,oBAAoB,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC;IACpD,IAAI,oBAAoB,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC;IAClD,IAAI,oBAAoB,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC;IACpD,IAAI,oBAAoB,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;IACxC,IAAI,oBAAoB,CAAC,UAAU,CAAC,GAAG,YAAY,CAAC;IACpD,CAAC,EAAEA,4BAAoB,KAAKA,4BAAoB,GAAG,EAAE,CAAC,CAAC;;ACNlD,UAAC,cAAc,GAAGC,mBAAc,CAAC,gBAAgB,EAAE;IACxD,IAAI,GAAG,EAAE,MAAM,mDAAe,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,iBAAiB,EAAE,CAAC;IACnE,CAAC;;ICDM,MAAM,iBAAiB,SAASC,cAAS,CAAC;IACjD,IAAI,MAAM,UAAU,CAAC,OAAO,EAAE;IAC9B,QAAQ,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAC3C,QAAQ,IAAI,CAAC,eAAe,CAACH,0BAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC9D,KAAK;IACL,IAAI,MAAM,eAAe,CAAC,OAAO,EAAE;IACnC,QAAQ,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IAChD,QAAQ,IAAI,CAAC,eAAe,CAACA,0BAAkB,CAAC,iBAAiB,EAAE;IACnE,YAAY,OAAO,EAAE,EAAE;IACvB,SAAS,CAAC,CAAC;IACX,QAAQ,OAAO;IACf,YAAY,OAAO,EAAE,EAAE;IACvB,SAAS,CAAC;IACV,KAAK;IACL,IAAI,MAAM,aAAa,CAAC,OAAO,EAAE;IACjC,QAAQ,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IAC9C,QAAQ,IAAI,CAAC,eAAe,CAACA,0BAAkB,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IACvE,KAAK;IACL,IAAI,MAAM,OAAO,CAAC,OAAO,EAAE;IAC3B,QAAQ,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACxC,QAAQ,IAAI,CAAC,eAAe,CAACA,0BAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACjE,KAAK;IACL;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"plugin.js","sources":["esm/events.enum.js","esm/definitions.js","esm/index.js","esm/web.js"],"sourcesContent":["export var TerminalEventsEnum;\n(function (TerminalEventsEnum) {\n TerminalEventsEnum[\"Loaded\"] = \"terminalLoaded\";\n TerminalEventsEnum[\"DiscoveredReaders\"] = \"terminalDiscoveredReaders\";\n TerminalEventsEnum[\"CancelDiscoveredReaders\"] = \"terminalCancelDiscoveredReaders\";\n TerminalEventsEnum[\"ConnectedReader\"] = \"terminalConnectedReader\";\n TerminalEventsEnum[\"DisconnectedReader\"] = \"terminalDisconnectedReader\";\n TerminalEventsEnum[\"Completed\"] = \"terminalCompleted\";\n TerminalEventsEnum[\"Canceled\"] = \"terminalCanceled\";\n TerminalEventsEnum[\"Failed\"] = \"terminalFailed\";\n})(TerminalEventsEnum || (TerminalEventsEnum = {}));\n//# sourceMappingURL=events.enum.js.map","export var TerminalConnectTypes;\n(function (TerminalConnectTypes) {\n TerminalConnectTypes[\"Simulated\"] = \"simulated\";\n TerminalConnectTypes[\"Internet\"] = \"internet\";\n TerminalConnectTypes[\"Bluetooth\"] = \"bluetooth\";\n TerminalConnectTypes[\"Usb\"] = \"usb\";\n TerminalConnectTypes[\"TapToPay\"] = \"tap-to-pay\";\n})(TerminalConnectTypes || (TerminalConnectTypes = {}));\nexport * from './events.enum';\n//# sourceMappingURL=definitions.js.map","import { registerPlugin } from '@capacitor/core';\nconst StripeTerminal = registerPlugin('StripeTerminal', {\n web: () => import('./web').then(m => new m.StripeTerminalWeb()),\n});\nexport * from './definitions';\nexport { StripeTerminal };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nimport { TerminalEventsEnum } from './events.enum';\nexport class StripeTerminalWeb extends WebPlugin {\n async initialize(options) {\n console.log('initialize', options);\n this.notifyListeners(TerminalEventsEnum.Loaded, null);\n }\n async discoverReaders(options) {\n console.log('discoverReaders', options);\n this.notifyListeners(TerminalEventsEnum.DiscoveredReaders, {\n readers: [],\n });\n return {\n readers: [],\n };\n }\n async cancelDiscoverReaders() {\n console.log('cancelDiscoverReaders');\n this.notifyListeners(TerminalEventsEnum.CancelDiscoveredReaders, null);\n }\n async connectReader(options) {\n console.log('connectReader', options);\n this.notifyListeners(TerminalEventsEnum.ConnectedReader, null);\n }\n async getConnectedReader() {\n return {\n reader: null,\n };\n }\n async disconnectReader() {\n console.log('disconnectReader');\n this.notifyListeners(TerminalEventsEnum.DisconnectedReader, null);\n }\n async collect(options) {\n console.log('collect', options);\n this.notifyListeners(TerminalEventsEnum.Completed, null);\n }\n async cancelCollect() {\n console.log('cancelCollect');\n this.notifyListeners(TerminalEventsEnum.Canceled, null);\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["TerminalEventsEnum","TerminalConnectTypes","registerPlugin","WebPlugin"],"mappings":";;;AAAWA,wCAAmB;IAC9B,CAAC,UAAU,kBAAkB,EAAE;IAC/B,IAAI,kBAAkB,CAAC,QAAQ,CAAC,GAAG,gBAAgB,CAAC;IACpD,IAAI,kBAAkB,CAAC,mBAAmB,CAAC,GAAG,2BAA2B,CAAC;IAC1E,IAAI,kBAAkB,CAAC,yBAAyB,CAAC,GAAG,iCAAiC,CAAC;IACtF,IAAI,kBAAkB,CAAC,iBAAiB,CAAC,GAAG,yBAAyB,CAAC;IACtE,IAAI,kBAAkB,CAAC,oBAAoB,CAAC,GAAG,4BAA4B,CAAC;IAC5E,IAAI,kBAAkB,CAAC,WAAW,CAAC,GAAG,mBAAmB,CAAC;IAC1D,IAAI,kBAAkB,CAAC,UAAU,CAAC,GAAG,kBAAkB,CAAC;IACxD,IAAI,kBAAkB,CAAC,QAAQ,CAAC,GAAG,gBAAgB,CAAC;IACpD,CAAC,EAAEA,0BAAkB,KAAKA,0BAAkB,GAAG,EAAE,CAAC,CAAC;;ACVxCC,0CAAqB;IAChC,CAAC,UAAU,oBAAoB,EAAE;IACjC,IAAI,oBAAoB,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC;IACpD,IAAI,oBAAoB,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC;IAClD,IAAI,oBAAoB,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC;IACpD,IAAI,oBAAoB,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;IACxC,IAAI,oBAAoB,CAAC,UAAU,CAAC,GAAG,YAAY,CAAC;IACpD,CAAC,EAAEA,4BAAoB,KAAKA,4BAAoB,GAAG,EAAE,CAAC,CAAC;;ACNlD,UAAC,cAAc,GAAGC,mBAAc,CAAC,gBAAgB,EAAE;IACxD,IAAI,GAAG,EAAE,MAAM,mDAAe,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,iBAAiB,EAAE,CAAC;IACnE,CAAC;;ICDM,MAAM,iBAAiB,SAASC,cAAS,CAAC;IACjD,IAAI,MAAM,UAAU,CAAC,OAAO,EAAE;IAC9B,QAAQ,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAC3C,QAAQ,IAAI,CAAC,eAAe,CAACH,0BAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC9D,KAAK;IACL,IAAI,MAAM,eAAe,CAAC,OAAO,EAAE;IACnC,QAAQ,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IAChD,QAAQ,IAAI,CAAC,eAAe,CAACA,0BAAkB,CAAC,iBAAiB,EAAE;IACnE,YAAY,OAAO,EAAE,EAAE;IACvB,SAAS,CAAC,CAAC;IACX,QAAQ,OAAO;IACf,YAAY,OAAO,EAAE,EAAE;IACvB,SAAS,CAAC;IACV,KAAK;IACL,IAAI,MAAM,qBAAqB,GAAG;IAClC,QAAQ,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAC7C,QAAQ,IAAI,CAAC,eAAe,CAACA,0BAAkB,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;IAC/E,KAAK;IACL,IAAI,MAAM,aAAa,CAAC,OAAO,EAAE;IACjC,QAAQ,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IAC9C,QAAQ,IAAI,CAAC,eAAe,CAACA,0BAAkB,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IACvE,KAAK;IACL,IAAI,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,OAAO;IACf,YAAY,MAAM,EAAE,IAAI;IACxB,SAAS,CAAC;IACV,KAAK;IACL,IAAI,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACxC,QAAQ,IAAI,CAAC,eAAe,CAACA,0BAAkB,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;IAC1E,KAAK;IACL,IAAI,MAAM,OAAO,CAAC,OAAO,EAAE;IAC3B,QAAQ,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACxC,QAAQ,IAAI,CAAC,eAAe,CAACA,0BAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACjE,KAAK;IACL,IAAI,MAAM,aAAa,GAAG;IAC1B,QAAQ,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACrC,QAAQ,IAAI,CAAC,eAAe,CAACA,0BAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAChE,KAAK;IACL;;;;;;;;;;;;;;;;;"}
@@ -11,19 +11,23 @@ public class StripeTerminal: NSObject, DiscoveryDelegate, LocalMobileReaderDeleg
11
11
  var isTest: Bool?
12
12
  var collectCancelable: Cancelable?
13
13
  var type: DiscoveryMethod?
14
+ var isInitialize: Bool = false
14
15
 
15
16
  var readers: [Reader]?
16
17
 
17
18
  @objc public func initialize(_ call: CAPPluginCall) {
18
19
  self.isTest = call.getBool("isTest", true)
19
- Terminal.setTokenProvider(APIClient(tokenProviderEndpoint: call.getString("tokenProviderEndpoint", "")))
20
+ if self.isInitialize == false {
21
+ Terminal.setTokenProvider(APIClient(tokenProviderEndpoint: call.getString("tokenProviderEndpoint", "")))
22
+ }
23
+ self.isInitialize = true
20
24
  self.plugin?.notifyListeners(TerminalEvents.Loaded.rawValue, data: [:])
21
25
  call.resolve()
22
26
  }
23
27
 
24
28
  func discoverReaders(_ call: CAPPluginCall) {
25
29
  let connectType = call.getString("type")
26
-
30
+
27
31
  if TerminalConnectTypes.TapToPay.rawValue == connectType {
28
32
  self.type = .localMobile
29
33
  } else if TerminalConnectTypes.Internet.rawValue == connectType {
@@ -32,7 +36,7 @@ public class StripeTerminal: NSObject, DiscoveryDelegate, LocalMobileReaderDeleg
32
36
  call.unimplemented(connectType! + " is not support now")
33
37
  return
34
38
  }
35
-
39
+
36
40
  let config = DiscoveryConfiguration(
37
41
  discoveryMethod: self.type!,
38
42
  simulated: self.isTest!
@@ -50,6 +54,23 @@ public class StripeTerminal: NSObject, DiscoveryDelegate, LocalMobileReaderDeleg
50
54
  }
51
55
  }
52
56
 
57
+ func cancelDiscoverReaders(_ call: CAPPluginCall) {
58
+
59
+ if let cancelable = self.discoverCancelable {
60
+ cancelable.cancel { error in
61
+ if let error = error {
62
+ call.reject(error.localizedDescription)
63
+ } else {
64
+ self.collectCancelable = nil
65
+ call.resolve()
66
+ }
67
+ }
68
+ return
69
+ }
70
+
71
+ call.resolve()
72
+ }
73
+
53
74
  public func terminal(_ terminal: Terminal, didUpdateDiscoveredReaders readers: [Reader]) {
54
75
  var readersJSObject: JSArray = []
55
76
  var i = 0
@@ -61,7 +82,7 @@ public class StripeTerminal: NSObject, DiscoveryDelegate, LocalMobileReaderDeleg
61
82
  i += 1
62
83
  }
63
84
  self.readers = readers
64
-
85
+
65
86
  self.plugin?.notifyListeners(TerminalEvents.DiscoveredReaders.rawValue, data: ["readers": readersJSObject])
66
87
  self.discoverCall?.resolve([
67
88
  "readers": readersJSObject
@@ -69,13 +90,41 @@ public class StripeTerminal: NSObject, DiscoveryDelegate, LocalMobileReaderDeleg
69
90
  }
70
91
 
71
92
  public func connectReader(_ call: CAPPluginCall) {
72
- if (self.type == .localMobile) {
93
+ if self.type == .localMobile {
73
94
  self.connectLocalMobileReader(call)
74
- } else if (self.type == .internet) {
95
+ } else if self.type == .internet {
75
96
  self.connectInternetReader(call)
76
97
  }
77
98
  }
78
-
99
+
100
+ public func getConnectedReader(_ call: CAPPluginCall) {
101
+ if let reader = Terminal.shared.connectedReader {
102
+ call.resolve(["reader": [
103
+ "serialNumber": reader.serialNumber
104
+ ]])
105
+ } else {
106
+ call.resolve(["reader": nil])
107
+ }
108
+ }
109
+
110
+ public func disconnectReader(_ call: CAPPluginCall) {
111
+ if Terminal.shared.connectedReader == nil {
112
+ call.resolve()
113
+ return
114
+ }
115
+
116
+ DispatchQueue.main.async {
117
+ Terminal.shared.disconnectReader { error in
118
+ if let error = error {
119
+ call.reject(error.localizedDescription)
120
+ } else {
121
+ self.plugin?.notifyListeners(TerminalEvents.DisconnectedReader.rawValue, data: [:])
122
+ call.resolve()
123
+ }
124
+ }
125
+ }
126
+ }
127
+
79
128
  private func connectLocalMobileReader(_ call: CAPPluginCall) {
80
129
  let connectionConfig = LocalMobileConnectionConfiguration(locationId: self.locationId!)
81
130
  let reader: JSObject = call.getObject("reader")!
@@ -90,19 +139,19 @@ public class StripeTerminal: NSObject, DiscoveryDelegate, LocalMobileReaderDeleg
90
139
  }
91
140
  }
92
141
  }
93
-
142
+
94
143
  private func connectInternetReader(_ call: CAPPluginCall) {
95
144
  let config = InternetConnectionConfiguration(failIfInUse: true)
96
145
  let reader: JSObject = call.getObject("reader")!
97
146
  let index: Int = reader["index"] as! Int
98
-
147
+
99
148
  Terminal.shared.connectInternetReader(self.readers![index], connectionConfig: config) { reader, error in
100
- if let reader = reader {
101
- self.plugin?.notifyListeners(TerminalEvents.ConnectedReader.rawValue, data: [:])
102
- call.resolve()
103
- } else if let error = error {
104
- call.reject(error.localizedDescription)
105
- }
149
+ if let reader = reader {
150
+ self.plugin?.notifyListeners(TerminalEvents.ConnectedReader.rawValue, data: [:])
151
+ call.resolve()
152
+ } else if let error = error {
153
+ call.reject(error.localizedDescription)
154
+ }
106
155
  }
107
156
  }
108
157
 
@@ -122,7 +171,22 @@ public class StripeTerminal: NSObject, DiscoveryDelegate, LocalMobileReaderDeleg
122
171
  }
123
172
  }
124
173
  }
174
+ }
125
175
 
176
+ public func cancelCollect(_ call: CAPPluginCall) {
177
+ if let cancelable = self.collectCancelable {
178
+ cancelable.cancel { error in
179
+ if let error = error {
180
+ call.reject(error.localizedDescription)
181
+ } else {
182
+ self.plugin?.notifyListeners(TerminalEvents.Canceled.rawValue, data: [:])
183
+ self.collectCancelable = nil
184
+ call.resolve()
185
+ }
186
+ }
187
+ return
188
+ }
189
+ call.resolve()
126
190
  }
127
191
 
128
192
  public func localMobileReader(_ reader: Reader, didStartInstallingUpdate update: ReaderSoftwareUpdate, cancelable: Cancelable?) {
@@ -6,6 +6,10 @@
6
6
  CAP_PLUGIN(StripeTerminalPlugin, "StripeTerminal",
7
7
  CAP_PLUGIN_METHOD(initialize, CAPPluginReturnPromise);
8
8
  CAP_PLUGIN_METHOD(discoverReaders, CAPPluginReturnPromise);
9
+ CAP_PLUGIN_METHOD(cancelDiscoverReaders, CAPPluginReturnPromise);
9
10
  CAP_PLUGIN_METHOD(connectReader, CAPPluginReturnPromise);
11
+ CAP_PLUGIN_METHOD(getConnectedReader, CAPPluginReturnPromise);
12
+ CAP_PLUGIN_METHOD(disconnectReader, CAPPluginReturnPromise);
10
13
  CAP_PLUGIN_METHOD(collect, CAPPluginReturnPromise);
14
+ CAP_PLUGIN_METHOD(cancelCollect, CAPPluginReturnPromise);
11
15
  )
@@ -25,11 +25,27 @@ public class StripeTerminalPlugin: CAPPlugin {
25
25
  self.implementation.discoverReaders(call)
26
26
  }
27
27
 
28
+ @objc func cancelDiscoverReaders(_ call: CAPPluginCall) {
29
+ self.implementation.cancelDiscoverReaders(call)
30
+ }
31
+
28
32
  @objc func connectReader(_ call: CAPPluginCall) {
29
33
  self.implementation.connectReader(call)
30
34
  }
31
35
 
36
+ @objc func getConnectedReader(_ call: CAPPluginCall) {
37
+ self.implementation.getConnectedReader(call)
38
+ }
39
+
40
+ @objc func disconnectReader(_ call: CAPPluginCall) {
41
+ self.implementation.disconnectReader(call)
42
+ }
43
+
32
44
  @objc func collect(_ call: CAPPluginCall) {
33
45
  self.implementation.collect(call)
34
46
  }
47
+
48
+ @objc func cancelCollect(_ call: CAPPluginCall) {
49
+ self.implementation.cancelCollect(call)
50
+ }
35
51
  }
@@ -2,6 +2,7 @@ public enum TerminalEvents: String {
2
2
  case Loaded = "terminalLoaded"
3
3
  case DiscoveredReaders = "terminalDiscoveredReaders"
4
4
  case ConnectedReader = "terminalConnectedReader"
5
+ case DisconnectedReader = "terminalDisconnectedReader"
5
6
  case Completed = "terminalCompleted"
6
7
  case Canceled = "terminalCanceled"
7
8
  case Failed = "terminalFailed"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@capacitor-community/stripe-terminal",
3
- "version": "5.1.0",
3
+ "version": "5.2.0",
4
4
  "description": "Stripe SDK bindings for Capacitor Applications",
5
5
  "main": "dist/plugin.cjs.js",
6
6
  "module": "dist/esm/index.js",