@capacitor-community/stripe-terminal 0.0.1 → 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
@@ -4,7 +4,7 @@ Stripe SDK bindings for Capacitor Applications. __This plugin is still in beta._
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
6
  - [x] Tap To Pay
7
- - [ ] Internet
7
+ - [x] Internet
8
8
  - [ ] Bluetooth
9
9
  - [ ] USB
10
10
 
@@ -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)
@@ -83,12 +87,12 @@ initialize(options: { tokenProviderEndpoint: string; isTest: boolean; }) => Prom
83
87
  ### discoverReaders(...)
84
88
 
85
89
  ```typescript
86
- discoverReaders(options: { type: TerminalConnectType; locationId?: string; }) => Promise<{ readers: ReaderInterface[]; }>
90
+ discoverReaders(options: { type: TerminalConnectTypes; locationId?: string; }) => Promise<{ readers: ReaderInterface[]; }>
87
91
  ```
88
92
 
89
- | Param | Type |
90
- | ------------- | --------------------------------------------------------------------------------------------------- |
91
- | **`options`** | <code>{ type: <a href="#terminalconnecttype">TerminalConnectType</a>; locationId?: string; }</code> |
93
+ | Param | Type |
94
+ | ------------- | ----------------------------------------------------------------------------------------------------- |
95
+ | **`options`** | <code>{ type: <a href="#terminalconnecttypes">TerminalConnectTypes</a>; locationId?: string; }</code> |
92
96
 
93
97
  **Returns:** <code>Promise&lt;{ readers: ReaderInterface[]; }&gt;</code>
94
98
 
@@ -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
@@ -238,7 +280,7 @@ addListener(eventName: TerminalEventsEnum.Failed, listenerFunc: () => void) => P
238
280
  ### Enums
239
281
 
240
282
 
241
- #### TerminalConnectType
283
+ #### TerminalConnectTypes
242
284
 
243
285
  | Members | Value |
244
286
  | --------------- | ------------------------- |
@@ -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;
@@ -31,16 +35,19 @@ import com.stripe.stripeterminal.external.models.TerminalException;
31
35
  import com.stripe.stripeterminal.log.LogLevel;
32
36
  import java.util.ArrayList;
33
37
  import java.util.List;
38
+ import java.util.Objects;
34
39
  import org.json.JSONException;
35
40
 
36
41
  public class StripeTerminal extends Executor {
37
42
 
38
43
  private Cancelable discoveryCancelable;
44
+ private Cancelable collectCancelable;
39
45
  private List<Reader> readers;
40
46
  private String locationId;
41
47
  private PluginCall collectCall;
42
48
  private final JSObject emptyObject = new JSObject();
43
49
  private Boolean isTest;
50
+ private DiscoveryMethod type;
44
51
 
45
52
  public StripeTerminal(
46
53
  Supplier<Context> contextSupplier,
@@ -55,6 +62,17 @@ public class StripeTerminal extends Executor {
55
62
 
56
63
  public void initialize(final PluginCall call) throws TerminalException {
57
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
+
58
76
  this.activitySupplier.get()
59
77
  .runOnUiThread(
60
78
  () -> {
@@ -89,12 +107,16 @@ public class StripeTerminal extends Executor {
89
107
 
90
108
  public void onDiscoverReaders(final PluginCall call) {
91
109
  this.locationId = call.getString("locationId");
92
- final DiscoveryConfiguration config = new DiscoveryConfiguration(
93
- 0,
94
- DiscoveryMethod.LOCAL_MOBILE,
95
- this.isTest,
96
- call.getString("locationId")
97
- );
110
+ if (Objects.equals(call.getString("type"), TerminalConnectTypes.TapToPay.getWebEventName())) {
111
+ this.type = DiscoveryMethod.LOCAL_MOBILE;
112
+ } else if (Objects.equals(call.getString("type"), TerminalConnectTypes.Internet.getWebEventName())) {
113
+ this.type = DiscoveryMethod.INTERNET;
114
+ } else {
115
+ call.unimplemented(call.getString("type") + " is not support now");
116
+ return;
117
+ }
118
+
119
+ final DiscoveryConfiguration config = new DiscoveryConfiguration(0, this.type, this.isTest, call.getString("locationId"));
98
120
  final DiscoveryListener discoveryListener = readers -> {
99
121
  // 検索したReaderの一覧をListenerで渡す
100
122
  Log.d(logTag, String.valueOf(readers.get(0).getSerialNumber()));
@@ -130,6 +152,48 @@ public class StripeTerminal extends Executor {
130
152
  }
131
153
 
132
154
  public void connectReader(final PluginCall call) {
155
+ if (this.type == DiscoveryMethod.LOCAL_MOBILE) {
156
+ this.connectLocalMobileReader(call);
157
+ } else if (this.type == DiscoveryMethod.INTERNET) {
158
+ this.connectInternetReader(call);
159
+ }
160
+ }
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
+
196
+ private void connectLocalMobileReader(final PluginCall call) {
133
197
  JSObject reader = call.getObject("reader");
134
198
  ConnectionConfiguration.LocalMobileConnectionConfiguration config = new ConnectionConfiguration.LocalMobileConnectionConfiguration(
135
199
  this.locationId
@@ -155,18 +219,42 @@ public class StripeTerminal extends Executor {
155
219
  );
156
220
  }
157
221
 
158
- public void cancelDiscovering(final PluginCall call) {
222
+ private void connectInternetReader(final PluginCall call) {
223
+ JSObject reader = call.getObject("reader");
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
+ }
236
+
237
+ @Override
238
+ public void onFailure(@NonNull TerminalException ex) {
239
+ ex.printStackTrace();
240
+ call.reject(ex.getLocalizedMessage(), ex);
241
+ }
242
+ }
243
+ );
244
+ }
245
+
246
+ public void cancelDiscoverReaders(final PluginCall call) {
159
247
  if (discoveryCancelable != null) {
160
248
  discoveryCancelable.cancel(
161
249
  new Callback() {
162
250
  @Override
163
251
  public void onSuccess() {
252
+ notifyListeners(TerminalEnumEvent.CancelDiscoveredReaders.getWebEventName(), emptyObject);
164
253
  call.resolve();
165
254
  }
166
255
 
167
256
  @Override
168
257
  public void onFailure(TerminalException ex) {
169
- Log.d(logTag, ex.getLocalizedMessage());
170
258
  call.reject(ex.getLocalizedMessage(), ex);
171
259
  }
172
260
  }
@@ -183,10 +271,33 @@ public class StripeTerminal extends Executor {
183
271
  Terminal.getInstance().retrievePaymentIntent(call.getString("paymentIntent"), createPaymentIntentCallback);
184
272
  }
185
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
+
186
297
  private final PaymentIntentCallback createPaymentIntentCallback = new PaymentIntentCallback() {
187
298
  @Override
188
299
  public void onSuccess(@NonNull PaymentIntent paymentIntent) {
189
- Terminal.getInstance().collectPaymentMethod(paymentIntent, collectPaymentMethodCallback);
300
+ collectCancelable = Terminal.getInstance().collectPaymentMethod(paymentIntent, collectPaymentMethodCallback);
190
301
  }
191
302
 
192
303
  @Override
@@ -200,11 +311,13 @@ public class StripeTerminal extends Executor {
200
311
  private final PaymentIntentCallback collectPaymentMethodCallback = new PaymentIntentCallback() {
201
312
  @Override
202
313
  public void onSuccess(@NonNull PaymentIntent paymentIntent) {
314
+ collectCancelable = null;
203
315
  Terminal.getInstance().processPayment(paymentIntent, processPaymentCallback);
204
316
  }
205
317
 
206
318
  @Override
207
319
  public void onFailure(@NonNull TerminalException ex) {
320
+ collectCancelable = null;
208
321
  notifyListeners(TerminalEnumEvent.Failed.getWebEventName(), emptyObject);
209
322
  collectCall.reject(ex.getLocalizedMessage(), ex);
210
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 {
@@ -75,19 +66,36 @@ public class StripeTerminalPlugin extends Plugin {
75
66
 
76
67
  @PluginMethod
77
68
  public void discoverReaders(PluginCall call) {
78
- if (!Objects.equals(call.getString("type"), "tap-to-pay")) {
79
- call.unimplemented();
80
- }
81
69
  this.implementation.onDiscoverReaders(call);
82
70
  }
83
71
 
72
+ @PluginMethod
73
+ public void cancelDiscoverReaders(PluginCall call) {
74
+ this.implementation.cancelDiscoverReaders(call);
75
+ }
76
+
84
77
  @PluginMethod
85
78
  public void connectReader(PluginCall call) {
86
79
  this.implementation.connectReader(call);
87
80
  }
88
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
+
89
92
  @PluginMethod
90
93
  public void collect(PluginCall call) {
91
94
  this.implementation.collect(call);
92
95
  }
96
+
97
+ @PluginMethod
98
+ public void cancelCollect(final PluginCall call) {
99
+ this.implementation.cancelCollect(call);
100
+ }
93
101
  }
@@ -0,0 +1,9 @@
1
+ package com.getcapacitor.community.stripe.terminal;
2
+
3
+ enum class TerminalConnectTypes(val webEventName: String) {
4
+ Simulated("simulated"),
5
+ Internet("internet"),
6
+ Bluetooth("bluetooth"),
7
+ Usb("usb"),
8
+ TapToPay("tap-to-pay"),
9
+ }
@@ -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
@@ -23,12 +23,12 @@
23
23
  },
24
24
  {
25
25
  "name": "discoverReaders",
26
- "signature": "(options: { type: TerminalConnectType; locationId?: string; }) => Promise<{ readers: ReaderInterface[]; }>",
26
+ "signature": "(options: { type: TerminalConnectTypes; locationId?: string; }) => Promise<{ readers: ReaderInterface[]; }>",
27
27
  "parameters": [
28
28
  {
29
29
  "name": "options",
30
30
  "docs": "",
31
- "type": "{ type: TerminalConnectType; locationId?: string | undefined; }"
31
+ "type": "{ type: TerminalConnectTypes; locationId?: string | undefined; }"
32
32
  }
33
33
  ],
34
34
  "returns": "Promise<{ readers: ReaderInterface[]; }>",
@@ -36,7 +36,7 @@
36
36
  "docs": "",
37
37
  "complexTypes": [
38
38
  "ReaderInterface",
39
- "TerminalConnectType"
39
+ "TerminalConnectTypes"
40
40
  ],
41
41
  "slug": "discoverreaders"
42
42
  },
@@ -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",
@@ -242,8 +284,8 @@
242
284
  ],
243
285
  "enums": [
244
286
  {
245
- "name": "TerminalConnectType",
246
- "slug": "terminalconnecttype",
287
+ "name": "TerminalConnectTypes",
288
+ "slug": "terminalconnecttypes",
247
289
  "members": [
248
290
  {
249
291
  "name": "Simulated",
@@ -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'",
@@ -1,6 +1,6 @@
1
1
  import type { PluginListenerHandle } from '@capacitor/core';
2
2
  import type { TerminalEventsEnum } from './events.enum';
3
- export declare enum TerminalConnectType {
3
+ export declare enum TerminalConnectTypes {
4
4
  Simulated = "simulated",
5
5
  Internet = "internet",
6
6
  Bluetooth = "bluetooth",
@@ -18,7 +18,7 @@ export interface StripeTerminalPlugin {
18
18
  isTest: boolean;
19
19
  }): Promise<void>;
20
20
  discoverReaders(options: {
21
- type: TerminalConnectType;
21
+ type: TerminalConnectTypes;
22
22
  locationId?: string;
23
23
  }): Promise<{
24
24
  readers: ReaderInterface[];
@@ -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,10 +1,10 @@
1
- export var TerminalConnectType;
2
- (function (TerminalConnectType) {
3
- TerminalConnectType["Simulated"] = "simulated";
4
- TerminalConnectType["Internet"] = "internet";
5
- TerminalConnectType["Bluetooth"] = "bluetooth";
6
- TerminalConnectType["Usb"] = "usb";
7
- TerminalConnectType["TapToPay"] = "tap-to-pay";
8
- })(TerminalConnectType || (TerminalConnectType = {}));
1
+ export var TerminalConnectTypes;
2
+ (function (TerminalConnectTypes) {
3
+ TerminalConnectTypes["Simulated"] = "simulated";
4
+ TerminalConnectTypes["Internet"] = "internet";
5
+ TerminalConnectTypes["Bluetooth"] = "bluetooth";
6
+ TerminalConnectTypes["Usb"] = "usb";
7
+ TerminalConnectTypes["TapToPay"] = "tap-to-pay";
8
+ })(TerminalConnectTypes || (TerminalConnectTypes = {}));
9
9
  export * from './events.enum';
10
10
  //# sourceMappingURL=definitions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"AAIA,MAAM,CAAN,IAAY,mBAMX;AAND,WAAY,mBAAmB;IAC7B,8CAAuB,CAAA;IACvB,4CAAqB,CAAA;IACrB,8CAAuB,CAAA;IACvB,kCAAW,CAAA;IACX,8CAAuB,CAAA;AACzB,CAAC,EANW,mBAAmB,KAAnB,mBAAmB,QAM9B;AAOD,cAAc,eAAe,CAAC","sourcesContent":["import type { PluginListenerHandle } from '@capacitor/core';\n\nimport type { TerminalEventsEnum } from './events.enum';\n\nexport enum TerminalConnectType {\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: TerminalConnectType;\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
@@ -1,20 +1,26 @@
1
1
  import { WebPlugin } from '@capacitor/core';
2
- import type { StripeTerminalPlugin, TerminalConnectType, ReaderInterface } from './definitions';
2
+ import type { StripeTerminalPlugin, TerminalConnectTypes, ReaderInterface } from './definitions';
3
3
  export declare class StripeTerminalWeb extends WebPlugin implements StripeTerminalPlugin {
4
4
  initialize(options: {
5
5
  tokenProviderEndpoint: string;
6
6
  isTest: boolean;
7
7
  }): Promise<void>;
8
8
  discoverReaders(options: {
9
- type: TerminalConnectType;
9
+ type: TerminalConnectTypes;
10
10
  locationId?: string;
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 TerminalConnectType,\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: TerminalConnectType;\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,20 +8,22 @@ 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";
15
17
  })(exports.TerminalEventsEnum || (exports.TerminalEventsEnum = {}));
16
18
 
17
- exports.TerminalConnectType = void 0;
18
- (function (TerminalConnectType) {
19
- TerminalConnectType["Simulated"] = "simulated";
20
- TerminalConnectType["Internet"] = "internet";
21
- TerminalConnectType["Bluetooth"] = "bluetooth";
22
- TerminalConnectType["Usb"] = "usb";
23
- TerminalConnectType["TapToPay"] = "tap-to-pay";
24
- })(exports.TerminalConnectType || (exports.TerminalConnectType = {}));
19
+ exports.TerminalConnectTypes = void 0;
20
+ (function (TerminalConnectTypes) {
21
+ TerminalConnectTypes["Simulated"] = "simulated";
22
+ TerminalConnectTypes["Internet"] = "internet";
23
+ TerminalConnectTypes["Bluetooth"] = "bluetooth";
24
+ TerminalConnectTypes["Usb"] = "usb";
25
+ TerminalConnectTypes["TapToPay"] = "tap-to-pay";
26
+ })(exports.TerminalConnectTypes || (exports.TerminalConnectTypes = {}));
25
27
 
26
28
  const StripeTerminal = core.registerPlugin('StripeTerminal', {
27
29
  web: () => Promise.resolve().then(function () { return web; }).then(m => new m.StripeTerminalWeb()),
@@ -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 TerminalConnectType;\n(function (TerminalConnectType) {\n TerminalConnectType[\"Simulated\"] = \"simulated\";\n TerminalConnectType[\"Internet\"] = \"internet\";\n TerminalConnectType[\"Bluetooth\"] = \"bluetooth\";\n TerminalConnectType[\"Usb\"] = \"usb\";\n TerminalConnectType[\"TapToPay\"] = \"tap-to-pay\";\n})(TerminalConnectType || (TerminalConnectType = {}));\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","TerminalConnectType","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,qCAAoB;AAC/B,CAAC,UAAU,mBAAmB,EAAE;AAChC,IAAI,mBAAmB,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC;AACnD,IAAI,mBAAmB,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC;AACjD,IAAI,mBAAmB,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC;AACnD,IAAI,mBAAmB,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;AACvC,IAAI,mBAAmB,CAAC,UAAU,CAAC,GAAG,YAAY,CAAC;AACnD,CAAC,EAAEA,2BAAmB,KAAKA,2BAAmB,GAAG,EAAE,CAAC,CAAC;;ACNhD,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":"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"}
package/dist/plugin.js CHANGED
@@ -5,20 +5,22 @@ 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";
12
14
  })(exports.TerminalEventsEnum || (exports.TerminalEventsEnum = {}));
13
15
 
14
- exports.TerminalConnectType = void 0;
15
- (function (TerminalConnectType) {
16
- TerminalConnectType["Simulated"] = "simulated";
17
- TerminalConnectType["Internet"] = "internet";
18
- TerminalConnectType["Bluetooth"] = "bluetooth";
19
- TerminalConnectType["Usb"] = "usb";
20
- TerminalConnectType["TapToPay"] = "tap-to-pay";
21
- })(exports.TerminalConnectType || (exports.TerminalConnectType = {}));
16
+ exports.TerminalConnectTypes = void 0;
17
+ (function (TerminalConnectTypes) {
18
+ TerminalConnectTypes["Simulated"] = "simulated";
19
+ TerminalConnectTypes["Internet"] = "internet";
20
+ TerminalConnectTypes["Bluetooth"] = "bluetooth";
21
+ TerminalConnectTypes["Usb"] = "usb";
22
+ TerminalConnectTypes["TapToPay"] = "tap-to-pay";
23
+ })(exports.TerminalConnectTypes || (exports.TerminalConnectTypes = {}));
22
24
 
23
25
  const StripeTerminal = core.registerPlugin('StripeTerminal', {
24
26
  web: () => Promise.resolve().then(function () { return web; }).then(m => new m.StripeTerminalWeb()),
@@ -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 TerminalConnectType;\n(function (TerminalConnectType) {\n TerminalConnectType[\"Simulated\"] = \"simulated\";\n TerminalConnectType[\"Internet\"] = \"internet\";\n TerminalConnectType[\"Bluetooth\"] = \"bluetooth\";\n TerminalConnectType[\"Usb\"] = \"usb\";\n TerminalConnectType[\"TapToPay\"] = \"tap-to-pay\";\n})(TerminalConnectType || (TerminalConnectType = {}));\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","TerminalConnectType","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,yCAAoB;IAC/B,CAAC,UAAU,mBAAmB,EAAE;IAChC,IAAI,mBAAmB,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC;IACnD,IAAI,mBAAmB,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC;IACjD,IAAI,mBAAmB,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC;IACnD,IAAI,mBAAmB,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;IACvC,IAAI,mBAAmB,CAAC,UAAU,CAAC,GAAG,YAAY,CAAC;IACnD,CAAC,EAAEA,2BAAmB,KAAKA,2BAAmB,GAAG,EAAE,CAAC,CAAC;;ACNhD,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":"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"}
@@ -10,20 +10,36 @@ public class StripeTerminal: NSObject, DiscoveryDelegate, LocalMobileReaderDeleg
10
10
  var locationId: String?
11
11
  var isTest: Bool?
12
12
  var collectCancelable: Cancelable?
13
+ var type: DiscoveryMethod?
14
+ var isInitialize: Bool = false
13
15
 
14
16
  var readers: [Reader]?
15
17
 
16
18
  @objc public func initialize(_ call: CAPPluginCall) {
17
19
  self.isTest = call.getBool("isTest", true)
18
- 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
19
24
  self.plugin?.notifyListeners(TerminalEvents.Loaded.rawValue, data: [:])
20
25
  call.resolve()
21
26
  }
22
27
 
23
28
  func discoverReaders(_ call: CAPPluginCall) {
29
+ let connectType = call.getString("type")
30
+
31
+ if TerminalConnectTypes.TapToPay.rawValue == connectType {
32
+ self.type = .localMobile
33
+ } else if TerminalConnectTypes.Internet.rawValue == connectType {
34
+ self.type = .internet
35
+ } else {
36
+ call.unimplemented(connectType! + " is not support now")
37
+ return
38
+ }
39
+
24
40
  let config = DiscoveryConfiguration(
25
- discoveryMethod: .localMobile,
26
- simulated: self.isTest
41
+ discoveryMethod: self.type!,
42
+ simulated: self.isTest!
27
43
  )
28
44
  self.discoverCall = call
29
45
  self.locationId = call.getString("locationId")
@@ -38,6 +54,23 @@ public class StripeTerminal: NSObject, DiscoveryDelegate, LocalMobileReaderDeleg
38
54
  }
39
55
  }
40
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
+
41
74
  public func terminal(_ terminal: Terminal, didUpdateDiscoveredReaders readers: [Reader]) {
42
75
  var readersJSObject: JSArray = []
43
76
  var i = 0
@@ -49,7 +82,7 @@ public class StripeTerminal: NSObject, DiscoveryDelegate, LocalMobileReaderDeleg
49
82
  i += 1
50
83
  }
51
84
  self.readers = readers
52
-
85
+
53
86
  self.plugin?.notifyListeners(TerminalEvents.DiscoveredReaders.rawValue, data: ["readers": readersJSObject])
54
87
  self.discoverCall?.resolve([
55
88
  "readers": readersJSObject
@@ -57,6 +90,42 @@ public class StripeTerminal: NSObject, DiscoveryDelegate, LocalMobileReaderDeleg
57
90
  }
58
91
 
59
92
  public func connectReader(_ call: CAPPluginCall) {
93
+ if self.type == .localMobile {
94
+ self.connectLocalMobileReader(call)
95
+ } else if self.type == .internet {
96
+ self.connectInternetReader(call)
97
+ }
98
+ }
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
+
128
+ private func connectLocalMobileReader(_ call: CAPPluginCall) {
60
129
  let connectionConfig = LocalMobileConnectionConfiguration(locationId: self.locationId!)
61
130
  let reader: JSObject = call.getObject("reader")!
62
131
  let index: Int = reader["index"] as! Int
@@ -71,6 +140,21 @@ public class StripeTerminal: NSObject, DiscoveryDelegate, LocalMobileReaderDeleg
71
140
  }
72
141
  }
73
142
 
143
+ private func connectInternetReader(_ call: CAPPluginCall) {
144
+ let config = InternetConnectionConfiguration(failIfInUse: true)
145
+ let reader: JSObject = call.getObject("reader")!
146
+ let index: Int = reader["index"] as! Int
147
+
148
+ Terminal.shared.connectInternetReader(self.readers![index], connectionConfig: config) { reader, error in
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
+ }
155
+ }
156
+ }
157
+
74
158
  public func collect(_ call: CAPPluginCall) {
75
159
  Terminal.shared.retrievePaymentIntent(clientSecret: call.getString("paymentIntent")!) { retrieveResult, retrieveError in
76
160
  if let error = retrieveError {
@@ -87,7 +171,22 @@ public class StripeTerminal: NSObject, DiscoveryDelegate, LocalMobileReaderDeleg
87
171
  }
88
172
  }
89
173
  }
174
+ }
90
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()
91
190
  }
92
191
 
93
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
  }
@@ -0,0 +1,7 @@
1
+ public enum TerminalConnectTypes: String {
2
+ case Simulated = "simulated"
3
+ case Internet = "internet"
4
+ case Bluetooth = "bluetooth"
5
+ case Usb = "usb"
6
+ case TapToPay = "tap-to-pay"
7
+ }
@@ -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": "0.0.1",
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",