@capacitor-community/stripe-terminal 7.2.3 → 8.0.0-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/CapacitorCommunityStripeTerminal.podspec +2 -2
- package/Package.swift +3 -3
- package/README.md +2 -15
- package/android/build.gradle +10 -10
- package/dist/esm/definitions.d.ts +5 -5
- package/dist/esm/events.enum.d.ts +1 -1
- package/dist/esm/stripe-types/proto.d.ts +3 -3
- package/dist/esm/stripe.enum.d.ts +1 -1
- package/dist/esm/terminal-mappers.d.ts +1 -1
- package/dist/esm/terminal-mappers.js.map +1 -1
- package/dist/esm/web.js.map +1 -1
- package/package.json +13 -13
|
@@ -11,8 +11,8 @@ Pod::Spec.new do |s|
|
|
|
11
11
|
s.author = package['author']
|
|
12
12
|
s.source = { :git => package['repository']['url'], :tag => s.version.to_s }
|
|
13
13
|
s.source_files = 'ios/Sources/**/*.{swift,h,m,c,cc,mm,cpp}'
|
|
14
|
-
s.ios.deployment_target = '
|
|
14
|
+
s.ios.deployment_target = '15.0'
|
|
15
15
|
s.dependency 'Capacitor'
|
|
16
|
-
s.dependency 'StripeTerminal', '4.7
|
|
16
|
+
s.dependency 'StripeTerminal', '~> 4.7'
|
|
17
17
|
s.swift_version = '5.1'
|
|
18
18
|
end
|
package/Package.swift
CHANGED
|
@@ -3,15 +3,15 @@ import PackageDescription
|
|
|
3
3
|
|
|
4
4
|
let package = Package(
|
|
5
5
|
name: "CapacitorCommunityStripeTerminal",
|
|
6
|
-
platforms: [.iOS(.
|
|
6
|
+
platforms: [.iOS(.v15)],
|
|
7
7
|
products: [
|
|
8
8
|
.library(
|
|
9
9
|
name: "CapacitorCommunityStripeTerminal",
|
|
10
10
|
targets: ["StripeTerminalPlugin"])
|
|
11
11
|
],
|
|
12
12
|
dependencies: [
|
|
13
|
-
.package(url: "https://github.com/ionic-team/capacitor-swift-pm.git", from: "
|
|
14
|
-
.package(url: "https://github.com/stripe/stripe-terminal-ios.git",
|
|
13
|
+
.package(url: "https://github.com/ionic-team/capacitor-swift-pm.git", from: "8.0.0"),
|
|
14
|
+
.package(url: "https://github.com/stripe/stripe-terminal-ios.git", .upToNextMinor(from: "4.7.0"))
|
|
15
15
|
],
|
|
16
16
|
targets: [
|
|
17
17
|
.target(
|
package/README.md
CHANGED
|
@@ -44,25 +44,12 @@ Add permissions to your `android/app/src/main/AndroidManifest.xml` file:
|
|
|
44
44
|
+ <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
|
|
45
45
|
```
|
|
46
46
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
Add packagingOptions to your `android/app/build.gradle` file:
|
|
50
|
-
|
|
51
|
-
```diff
|
|
52
|
-
android {
|
|
53
|
-
...
|
|
54
|
-
+ packagingOptions {
|
|
55
|
-
+ resources.excludes.add("org/bouncycastle/x509/*")
|
|
56
|
-
+ }
|
|
57
|
-
}
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
And update minSdkVersion to 26 And compileSdkVersion to 34 in your `android/app/build.gradle` file:
|
|
47
|
+
And update minSdkVersion to 26 in your `android/app/build.gradle` file:
|
|
61
48
|
|
|
62
49
|
```diff
|
|
63
50
|
ext {
|
|
64
51
|
- minSdkVersion = 23
|
|
65
|
-
+ minSdkVersion =
|
|
52
|
+
+ minSdkVersion = 26
|
|
66
53
|
```
|
|
67
54
|
|
|
68
55
|
If you are developing apps for Stripe Android devices (e.g. Stripe Reader S700), follow the Stripe's documentation for the client-side setup.
|
package/android/build.gradle
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
ext {
|
|
2
2
|
junitVersion = project.hasProperty('junitVersion') ? rootProject.ext.junitVersion : '4.13.2'
|
|
3
|
-
androidxAppCompatVersion = project.hasProperty('androidxAppCompatVersion') ? rootProject.ext.androidxAppCompatVersion : '1.7.
|
|
4
|
-
androidxJunitVersion = project.hasProperty('androidxJunitVersion') ? rootProject.ext.androidxJunitVersion : '1.
|
|
5
|
-
androidxEspressoCoreVersion = project.hasProperty('androidxEspressoCoreVersion') ? rootProject.ext.androidxEspressoCoreVersion : '3.
|
|
3
|
+
androidxAppCompatVersion = project.hasProperty('androidxAppCompatVersion') ? rootProject.ext.androidxAppCompatVersion : '1.7.1'
|
|
4
|
+
androidxJunitVersion = project.hasProperty('androidxJunitVersion') ? rootProject.ext.androidxJunitVersion : '1.3.0'
|
|
5
|
+
androidxEspressoCoreVersion = project.hasProperty('androidxEspressoCoreVersion') ? rootProject.ext.androidxEspressoCoreVersion : '3.7.0'
|
|
6
6
|
|
|
7
7
|
playServicesWalletVersion = project.hasProperty('playServicesWalletVersion') ? rootProject.ext.playServicesWalletVersion : '19.2.+'
|
|
8
8
|
volleyVersion = project.hasProperty('volleyVersion') ? rootProject.ext.volleyVersion : '1.2.1'
|
|
@@ -12,13 +12,13 @@ ext {
|
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
buildscript {
|
|
15
|
-
ext.kotlin_version = project.hasProperty("kotlin_version") ? rootProject.ext.kotlin_version : '2.
|
|
15
|
+
ext.kotlin_version = project.hasProperty("kotlin_version") ? rootProject.ext.kotlin_version : '2.2.20'
|
|
16
16
|
repositories {
|
|
17
17
|
google()
|
|
18
18
|
mavenCentral()
|
|
19
19
|
}
|
|
20
20
|
dependencies {
|
|
21
|
-
classpath 'com.android.tools.build:gradle:8.
|
|
21
|
+
classpath 'com.android.tools.build:gradle:8.13.0'
|
|
22
22
|
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
|
23
23
|
}
|
|
24
24
|
}
|
|
@@ -27,11 +27,11 @@ apply plugin: 'com.android.library'
|
|
|
27
27
|
apply plugin: 'kotlin-android'
|
|
28
28
|
|
|
29
29
|
android {
|
|
30
|
-
namespace "com.getcapacitor.community.stripe.terminal"
|
|
31
|
-
compileSdk project.hasProperty('compileSdkVersion') ? rootProject.ext.compileSdkVersion :
|
|
30
|
+
namespace = "com.getcapacitor.community.stripe.terminal"
|
|
31
|
+
compileSdk = project.hasProperty('compileSdkVersion') ? rootProject.ext.compileSdkVersion : 36
|
|
32
32
|
defaultConfig {
|
|
33
|
-
minSdkVersion project.hasProperty('minSdkVersion') ? rootProject.ext.minSdkVersion :
|
|
34
|
-
targetSdkVersion project.hasProperty('targetSdkVersion') ? rootProject.ext.targetSdkVersion :
|
|
33
|
+
minSdkVersion project.hasProperty('minSdkVersion') ? rootProject.ext.minSdkVersion : 24
|
|
34
|
+
targetSdkVersion project.hasProperty('targetSdkVersion') ? rootProject.ext.targetSdkVersion : 36
|
|
35
35
|
versionCode 1
|
|
36
36
|
versionName "1.0"
|
|
37
37
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
|
@@ -43,7 +43,7 @@ android {
|
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
lintOptions {
|
|
46
|
-
abortOnError false
|
|
46
|
+
abortOnError = false
|
|
47
47
|
}
|
|
48
48
|
compileOptions {
|
|
49
49
|
sourceCompatibility JavaVersion.VERSION_21
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { PluginListenerHandle } from '@capacitor/core';
|
|
2
2
|
import type { TerminalEventsEnum } from './events.enum';
|
|
3
3
|
import type { TerminalConnectTypes, UpdateTimeEstimate, SimulateReaderUpdate, SimulatedCardType, BatteryStatus, ReaderEvent, ReaderDisplayMessage, ReaderInputOption, PaymentStatus, DisconnectReason, ConnectionStatus, NetworkStatus, LocationStatus, DeviceType } from './stripe.enum';
|
|
4
|
-
export
|
|
4
|
+
export type ReaderInterface = {
|
|
5
5
|
/**
|
|
6
6
|
* The unique serial number is primary identifier inner plugin.
|
|
7
7
|
*/
|
|
@@ -38,7 +38,7 @@ export declare type ReaderInterface = {
|
|
|
38
38
|
settingsVersion: string;
|
|
39
39
|
pinKeysetId: string;
|
|
40
40
|
};
|
|
41
|
-
export
|
|
41
|
+
export type LocationInterface = {
|
|
42
42
|
id: string;
|
|
43
43
|
displayName: string;
|
|
44
44
|
address: {
|
|
@@ -51,17 +51,17 @@ export declare type LocationInterface = {
|
|
|
51
51
|
};
|
|
52
52
|
ipAddress: string;
|
|
53
53
|
};
|
|
54
|
-
export
|
|
54
|
+
export type ReaderSoftwareUpdateInterface = {
|
|
55
55
|
deviceSoftwareVersion: string;
|
|
56
56
|
estimatedUpdateTime: UpdateTimeEstimate;
|
|
57
57
|
requiredAt: number;
|
|
58
58
|
};
|
|
59
|
-
export
|
|
59
|
+
export type CartLineItem = {
|
|
60
60
|
displayName: string;
|
|
61
61
|
quantity: number;
|
|
62
62
|
amount: number;
|
|
63
63
|
};
|
|
64
|
-
export
|
|
64
|
+
export type Cart = {
|
|
65
65
|
currency: string;
|
|
66
66
|
tax: number;
|
|
67
67
|
total: number;
|
|
@@ -25,4 +25,4 @@ export declare enum TerminalEventsEnum {
|
|
|
25
25
|
ReaderReconnectSucceeded = "terminalReaderReconnectSucceeded",
|
|
26
26
|
ReaderReconnectFailed = "terminalReaderReconnectFailed"
|
|
27
27
|
}
|
|
28
|
-
export
|
|
28
|
+
export type TerminalResultInterface = TerminalEventsEnum.ConfirmedPaymentIntent | TerminalEventsEnum.CollectedPaymentIntent | TerminalEventsEnum.Canceled | TerminalEventsEnum.Failed;
|
|
@@ -18,9 +18,9 @@ interface ITipSelection {
|
|
|
18
18
|
amount?: number | null;
|
|
19
19
|
}
|
|
20
20
|
/** CreditCardBrand enum. */
|
|
21
|
-
|
|
21
|
+
type CreditCardBrand = 'INVALID_CREDIT_CARD_BRAND' | 'UNKNOWN_CREDIT' | 'AMERICAN_EXPRESS' | 'DINERS' | 'DISCOVER' | 'JCB' | 'MASTERCARD' | 'VISA' | 'CUP';
|
|
22
22
|
/** CardEntryMethod enum. */
|
|
23
|
-
|
|
23
|
+
type CardEntryMethod = 'INVALID_ENTRY_METHOD' | 'CHIP_READ' | 'CONTACTLESS' | 'FSWIPE' | 'KEYED' | 'SWIPED' | 'BARCODE_READ';
|
|
24
24
|
/** Properties of a CardPaymentMethod. */
|
|
25
25
|
interface ICardPaymentMethod {
|
|
26
26
|
/** Masked card data */
|
|
@@ -497,5 +497,5 @@ interface ICardOptions {
|
|
|
497
497
|
/** CardOptions request_three_d_secure */
|
|
498
498
|
request_three_d_secure?: Request3dSecureType | null;
|
|
499
499
|
}
|
|
500
|
-
|
|
500
|
+
type Request3dSecureType = 'automatic' | 'any';
|
|
501
501
|
export {};
|
|
@@ -8,7 +8,7 @@ export declare const mapFromPaymentStatus: (paymentStatus: PaymentStatus) => str
|
|
|
8
8
|
export declare const convertReaderInterface: (reader: Reader) => ReaderInterface;
|
|
9
9
|
export declare const mapFromDeviceType: (type: ReaderDeviceType) => DeviceType;
|
|
10
10
|
export declare const mapFromReaderNetworkStatus: (status: string | null) => NetworkStatus;
|
|
11
|
-
|
|
11
|
+
type ReaderDeviceType = 'bbpos_chipper2x' | 'bbpos_wisepad3' | 'bbpos_wisepos_e' | 'stripe_m2' | 'verifone_P400' | 'stripe_s700';
|
|
12
12
|
export declare enum PaymentStatus {
|
|
13
13
|
NOT_READY = "not_ready",
|
|
14
14
|
READY = "ready",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-mappers.js","sourceRoot":"","sources":["../../src/terminal-mappers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGzF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAU,EAAS,EAAE;IACtD,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACxC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;QACH,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACxB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,gBAAkC,EAAU,EAAE;IACpF,QAAQ,gBAAgB,EAAE;
|
|
1
|
+
{"version":3,"file":"terminal-mappers.js","sourceRoot":"","sources":["../../src/terminal-mappers.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Reader } from '@stripe/terminal-js/types/terminal';\n\nimport type { Cart, LocationInterface, ReaderInterface } from './definitions';\nimport { BatteryStatus, DeviceType, LocationStatus, NetworkStatus } from './definitions';\nimport type { ICart } from './stripe-types/proto';\n\nexport const mapFromCartToICart = (cart: Cart): ICart => {\n return {\n line_items: cart.lineItems.map((item) => ({\n description: item.displayName,\n quantity: item.quantity,\n amount: item.amount,\n })),\n tax: cart.tax,\n total: cart.total,\n currency: cart.currency,\n };\n};\n\nexport const mapFromConnectionStatus = (connectionStatus: ConnectionStatus): string => {\n switch (connectionStatus) {\n case ConnectionStatus.CONNECTED:\n return 'CONNECTED';\n case ConnectionStatus.CONNECTING:\n return 'CONNECTING';\n case ConnectionStatus.NOT_CONNECTED:\n return 'NOT_CONNECTED';\n default:\n return 'UNKNOWN';\n }\n};\n\nexport const mapFromPaymentStatus = (paymentStatus: PaymentStatus): string => {\n switch (paymentStatus) {\n case PaymentStatus.NOT_READY:\n return 'NOT_READY';\n case PaymentStatus.READY:\n return 'READY';\n case PaymentStatus.PROCESSING:\n return 'PROCESSING';\n case PaymentStatus.WAITING_FOR_INPUT:\n return 'WAITING_FOR_INPUT';\n default:\n return 'UNKNOWN';\n }\n};\n\nexport const convertReaderInterface = (reader: Reader): ReaderInterface => {\n let location: LocationInterface | undefined = undefined;\n if ((reader.location as unknown as Record<string, string>).id) {\n location = reader.location as unknown as LocationInterface;\n }\n return {\n baseUrl: '',\n bootloaderVersion: '',\n configVersion: '',\n emvKeyProfileId: '',\n firmwareVersion: '',\n hardwareVersion: '',\n macKeyProfileId: '',\n pinKeyProfileId: '',\n pinKeysetId: '',\n settingsVersion: '',\n trackKeyProfileId: '',\n label: reader.label,\n batteryLevel: 0,\n batteryStatus: BatteryStatus.Unknown,\n simulated: !reader.livemode,\n serialNumber: reader.serial_number,\n isCharging: 0,\n id: 0,\n availableUpdate: undefined,\n locationId: (reader.location as unknown as Record<string, string>).id,\n ipAddress: reader.ip_address || '',\n status: mapFromReaderNetworkStatus(reader.status),\n location: location || undefined,\n locationStatus: LocationStatus.Unknown,\n deviceType: mapFromDeviceType(reader.device_type),\n deviceSoftwareVersion: reader.device_sw_version,\n };\n};\n\nexport const mapFromDeviceType = (type: ReaderDeviceType): DeviceType => {\n switch (type) {\n case 'bbpos_chipper2x':\n return DeviceType.chipper2X;\n case 'stripe_m2':\n return DeviceType.stripeM2;\n case 'verifone_P400':\n return DeviceType.verifoneP400;\n case 'bbpos_wisepad3':\n return DeviceType.wisePad3;\n case 'bbpos_wisepos_e':\n return DeviceType.wisePosE;\n case 'stripe_s700':\n return DeviceType.stripeS700;\n default:\n return DeviceType.unknown;\n }\n};\n\nexport const mapFromReaderNetworkStatus = (status: string | null): NetworkStatus => {\n switch (status) {\n case 'offline':\n return NetworkStatus.Offline;\n case 'online':\n return NetworkStatus.Online;\n default:\n return NetworkStatus.Unknown;\n }\n};\n\ntype ReaderDeviceType =\n | 'bbpos_chipper2x'\n | 'bbpos_wisepad3'\n | 'bbpos_wisepos_e'\n | 'stripe_m2'\n | 'verifone_P400'\n | 'stripe_s700'; // added\n\nexport enum PaymentStatus {\n NOT_READY = 'not_ready',\n READY = 'ready',\n WAITING_FOR_INPUT = 'waiting_for_input',\n PROCESSING = 'processing',\n}\n\nexport enum ConnectionStatus {\n CONNECTING = 'connecting',\n CONNECTED = 'connected',\n NOT_CONNECTED = 'not_connected',\n}\n\n// import {\n// ConnectionStatus,\n// PaymentStatus,\n// } from '@stripe/terminal-js/types/terminal';\n"]}
|
package/dist/esm/web.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"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","sourcesContent":["import { WebPlugin } from '@capacitor/core';\nimport type { ISdkManagedPaymentIntent } from '@stripe/terminal-js';\nimport { loadStripeTerminal } from '@stripe/terminal-js';\nimport type { DiscoverResult, ErrorResponse, Reader, Terminal } from '@stripe/terminal-js/types/terminal';\n\nimport { TerminalConnectTypes } from './definitions';\nimport type {\n StripeTerminalPlugin,\n ReaderInterface,\n SimulateReaderUpdate,\n SimulatedCardType,\n Cart,\n} from './definitions';\nimport { TerminalEventsEnum } from './events.enum';\nimport {\n convertReaderInterface,\n mapFromCartToICart,\n mapFromConnectionStatus,\n mapFromPaymentStatus,\n} from './terminal-mappers';\n\nexport class StripeTerminalWeb extends WebPlugin implements StripeTerminalPlugin {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n private stripeTerminal: Terminal | undefined = undefined;\n private tokenProviderPromiseResolve: ((value: string) => void)[] = [];\n private discoveredReaders: ReaderInterface[] = [];\n private cachedFindReaders: Reader[] = [];\n private cachedPaymentIntent: ISdkManagedPaymentIntent | undefined = undefined;\n private isTest = false;\n\n async initialize(options: { tokenProviderEndpoint: string; isTest: boolean }): Promise<void> {\n if (this.stripeTerminal !== undefined) {\n throw new Error('Stripe Terminal has already been initialized');\n }\n\n this.isTest = options.isTest;\n const stripeTerminal = await loadStripeTerminal();\n this.stripeTerminal = stripeTerminal?.create({\n onFetchConnectionToken: async () => {\n this.notifyListeners(TerminalEventsEnum.RequestedConnectionToken, null);\n if (options.tokenProviderEndpoint) {\n const response = await fetch(options.tokenProviderEndpoint, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n const data = await response.json();\n return data.secret;\n } else {\n return new Promise<string>((resolve) => this.tokenProviderPromiseResolve.push(resolve));\n }\n },\n onConnectionStatusChange: (status) => {\n this.notifyListeners(TerminalEventsEnum.ConnectionStatusChange, {\n status: mapFromConnectionStatus(status.status),\n });\n },\n onPaymentStatusChange: (status) => {\n this.notifyListeners(TerminalEventsEnum.PaymentStatusChange, {\n status: mapFromPaymentStatus(status.status),\n });\n },\n onUnexpectedReaderDisconnect: () => {\n this.notifyListeners(TerminalEventsEnum.UnexpectedReaderDisconnect, {\n reader: null,\n });\n },\n });\n this.notifyListeners(TerminalEventsEnum.Loaded, null);\n }\n\n async discoverReaders(options: { type: TerminalConnectTypes; locationId?: string }): Promise<{\n readers: ReaderInterface[];\n }> {\n if (this.stripeTerminal === undefined) {\n throw new Error('Stripe Terminal has not been initialized');\n }\n\n if (options.type !== TerminalConnectTypes.Internet) {\n throw this.unavailable(`${options.type} is selected. Web platform is supported only internet connection.`);\n }\n\n const discoverResult = await this.stripeTerminal.discoverReaders({\n simulated: this.isTest,\n location: options.locationId,\n });\n\n if ((discoverResult as ErrorResponse).error) {\n throw new Error((discoverResult as ErrorResponse).error.message);\n }\n this.cachedFindReaders = (discoverResult as DiscoverResult).discoveredReaders;\n this.discoveredReaders = (discoverResult as DiscoverResult).discoveredReaders.map((reader) =>\n convertReaderInterface(reader),\n );\n this.notifyListeners(TerminalEventsEnum.DiscoveredReaders, {\n readers: this.discoveredReaders,\n });\n\n return {\n readers: this.discoveredReaders,\n };\n }\n\n /**\n * This method is not supported in the web platform.\n */\n async cancelDiscoverReaders(): Promise<void> {\n console.log('cancelDiscoverReaders');\n }\n\n async setConnectionToken(options: { token: string }): Promise<void> {\n if (this.tokenProviderPromiseResolve.length === 0) {\n return;\n }\n console.log('setConnectionToken', options);\n const resolve = this.tokenProviderPromiseResolve.shift();\n if (resolve === undefined) {\n throw new Error('tokenProviderPromiseResolve is empty.');\n }\n resolve(options.token);\n }\n\n async setSimulatorConfiguration(options: {\n update?: SimulateReaderUpdate | undefined;\n simulatedCard?: SimulatedCardType | undefined;\n simulatedTipAmount?: number | undefined;\n }): Promise<void> {\n console.log('setSimulatorConfiguration', options);\n }\n\n async connectReader(options: { reader: ReaderInterface }): Promise<void> {\n const reader = this.cachedFindReaders.find((reader) => reader.serial_number === options.reader.serialNumber);\n if (reader === undefined) {\n throw new Error('reader is not match from descovered readers.');\n }\n const connectedResult = await this.stripeTerminal?.connectReader(reader);\n if ((connectedResult as ErrorResponse).error) {\n throw new Error((connectedResult as ErrorResponse).error.message);\n }\n this.notifyListeners(TerminalEventsEnum.ConnectedReader, null);\n }\n\n async getConnectedReader(): Promise<{ reader: ReaderInterface | null }> {\n const reader = this.stripeTerminal?.getConnectedReader();\n if (reader === undefined) {\n return {\n reader: null,\n };\n }\n return {\n reader: convertReaderInterface(reader),\n };\n }\n\n async disconnectReader(): Promise<void> {\n await this.stripeTerminal?.disconnectReader();\n this.notifyListeners(TerminalEventsEnum.DisconnectedReader, null);\n }\n\n async collectPaymentMethod(options: { paymentIntent: string }): Promise<void> {\n const collectResult = await this.stripeTerminal?.collectPaymentMethod(options.paymentIntent);\n\n if ((collectResult as ErrorResponse).error) {\n throw new Error((collectResult as ErrorResponse).error.message);\n }\n\n this.cachedPaymentIntent = (\n collectResult as {\n paymentIntent: ISdkManagedPaymentIntent;\n }\n ).paymentIntent;\n\n this.notifyListeners(TerminalEventsEnum.CollectedPaymentIntent, null);\n }\n\n async cancelCollectPaymentMethod(): Promise<void> {\n await this.stripeTerminal?.cancelCollectPaymentMethod();\n this.notifyListeners(TerminalEventsEnum.Canceled, null);\n }\n\n async confirmPaymentIntent(): Promise<void> {\n if (this.cachedPaymentIntent === undefined) {\n throw new Error('PaymentIntent is not cached.');\n }\n const processResult = await this.stripeTerminal?.processPayment(this.cachedPaymentIntent);\n if ((processResult as ErrorResponse).error) {\n throw new Error((processResult as ErrorResponse).error.message);\n }\n this.notifyListeners(TerminalEventsEnum.ConfirmedPaymentIntent, null);\n }\n\n async installAvailableUpdate(): Promise<void> {\n console.log('installAvailableUpdate');\n }\n async cancelInstallUpdate(): Promise<void> {\n console.log('cancelInstallUpdate');\n }\n async setReaderDisplay(options: Cart): Promise<void> {\n await this.stripeTerminal?.setReaderDisplay({\n type: 'cart',\n cart: mapFromCartToICart(options),\n });\n console.log('setReaderDisplay', options);\n }\n async clearReaderDisplay(): Promise<void> {\n await this.stripeTerminal?.clearReaderDisplay();\n }\n async rebootReader(): Promise<void> {\n console.log('rebootReader');\n }\n async cancelReaderReconnection(): Promise<void> {\n console.log('cancelReaderReconnection');\n }\n\n collect = 'deprecated';\n cancelCollect = 'deprecated';\n}\n"]}
|
|
1
|
+
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAQrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,OAAO,iBAAkB,SAAQ,SAAS;IAAhD;;QACE,6DAA6D;QAC7D,aAAa;QACL,mBAAc,GAAyB,SAAS,CAAC;QACjD,gCAA2B,GAAgC,EAAE,CAAC;QAC9D,sBAAiB,GAAsB,EAAE,CAAC;QAC1C,sBAAiB,GAAa,EAAE,CAAC;QACjC,wBAAmB,GAAyC,SAAS,CAAC;QACtE,WAAM,GAAG,KAAK,CAAC;QA2LvB,YAAO,GAAG,YAAY,CAAC;QACvB,kBAAa,GAAG,YAAY,CAAC;IAC/B,CAAC;IA3LC,KAAK,CAAC,UAAU,CAAC,OAA2D;QAC1E,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,MAAM,cAAc,GAAG,MAAM,kBAAkB,EAAE,CAAC;QAClD,IAAI,CAAC,cAAc,GAAG,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,MAAM,CAAC;YAC3C,sBAAsB,EAAE,KAAK,IAAI,EAAE;gBACjC,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC;gBACxE,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;oBAClC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE;wBAC1D,MAAM,EAAE,MAAM;wBACd,OAAO,EAAE;4BACP,cAAc,EAAE,kBAAkB;yBACnC;qBACF,CAAC,CAAC;oBACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;oBACnC,OAAO,IAAI,CAAC,MAAM,CAAC;gBACrB,CAAC;qBAAM,CAAC;oBACN,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC1F,CAAC;YACH,CAAC;YACD,wBAAwB,EAAE,CAAC,MAAM,EAAE,EAAE;gBACnC,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,sBAAsB,EAAE;oBAC9D,MAAM,EAAE,uBAAuB,CAAC,MAAM,CAAC,MAAM,CAAC;iBAC/C,CAAC,CAAC;YACL,CAAC;YACD,qBAAqB,EAAE,CAAC,MAAM,EAAE,EAAE;gBAChC,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,mBAAmB,EAAE;oBAC3D,MAAM,EAAE,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC;iBAC5C,CAAC,CAAC;YACL,CAAC;YACD,4BAA4B,EAAE,GAAG,EAAE;gBACjC,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,0BAA0B,EAAE;oBAClE,MAAM,EAAE,IAAI;iBACb,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAA4D;QAGhF,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,oBAAoB,CAAC,QAAQ,EAAE,CAAC;YACnD,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,mEAAmE,CAAC,CAAC;QAC7G,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC;YAC/D,SAAS,EAAE,IAAI,CAAC,MAAM;YACtB,QAAQ,EAAE,OAAO,CAAC,UAAU;SAC7B,CAAC,CAAC;QAEH,IAAK,cAAgC,CAAC,KAAK,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAE,cAAgC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,CAAC,iBAAiB,GAAI,cAAiC,CAAC,iBAAiB,CAAC;QAC9E,IAAI,CAAC,iBAAiB,GAAI,cAAiC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAC3F,sBAAsB,CAAC,MAAM,CAAC,CAC/B,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,iBAAiB,EAAE;YACzD,OAAO,EAAE,IAAI,CAAC,iBAAiB;SAChC,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,iBAAiB;SAChC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,qBAAqB;QACzB,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,OAA0B;QACjD,IAAI,IAAI,CAAC,2BAA2B,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClD,OAAO;QACT,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,2BAA2B,CAAC,KAAK,EAAE,CAAC;QACzD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,OAI/B;QACC,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAoC;;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,KAAK,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC7G,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QACD,MAAM,eAAe,GAAG,MAAM,CAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,aAAa,CAAC,MAAM,CAAC,CAAA,CAAC;QACzE,IAAK,eAAiC,CAAC,KAAK,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAE,eAAiC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,kBAAkB;;QACtB,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,cAAc,0CAAE,kBAAkB,EAAE,CAAC;QACzD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO;gBACL,MAAM,EAAE,IAAI;aACb,CAAC;QACJ,CAAC;QACD,OAAO;YACL,MAAM,EAAE,sBAAsB,CAAC,MAAM,CAAC;SACvC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB;;QACpB,MAAM,CAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,gBAAgB,EAAE,CAAA,CAAC;QAC9C,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,OAAkC;;QAC3D,MAAM,aAAa,GAAG,MAAM,CAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,oBAAoB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA,CAAC;QAE7F,IAAK,aAA+B,CAAC,KAAK,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAE,aAA+B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,CAAC,mBAAmB,GACtB,aAGD,CAAC,aAAa,CAAC;QAEhB,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,0BAA0B;;QAC9B,MAAM,CAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,0BAA0B,EAAE,CAAA,CAAC;QACxD,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,oBAAoB;;QACxB,IAAI,IAAI,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QACD,MAAM,aAAa,GAAG,MAAM,CAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,cAAc,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA,CAAC;QAC1F,IAAK,aAA+B,CAAC,KAAK,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAE,aAA+B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACxC,CAAC;IACD,KAAK,CAAC,mBAAmB;QACvB,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACrC,CAAC;IACD,KAAK,CAAC,gBAAgB,CAAC,OAAa;;QAClC,MAAM,CAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,gBAAgB,CAAC;YAC1C,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,kBAAkB,CAAC,OAAO,CAAC;SAClC,CAAC,CAAA,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IACD,KAAK,CAAC,kBAAkB;;QACtB,MAAM,CAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,kBAAkB,EAAE,CAAA,CAAC;IAClD,CAAC;IACD,KAAK,CAAC,YAAY;QAChB,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC9B,CAAC;IACD,KAAK,CAAC,wBAAwB;QAC5B,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAC1C,CAAC;CAIF","sourcesContent":["import { WebPlugin } from '@capacitor/core';\nimport type { ISdkManagedPaymentIntent } from '@stripe/terminal-js';\nimport { loadStripeTerminal } from '@stripe/terminal-js';\nimport type { DiscoverResult, ErrorResponse, Reader, Terminal } from '@stripe/terminal-js/types/terminal';\n\nimport { TerminalConnectTypes } from './definitions';\nimport type {\n StripeTerminalPlugin,\n ReaderInterface,\n SimulateReaderUpdate,\n SimulatedCardType,\n Cart,\n} from './definitions';\nimport { TerminalEventsEnum } from './events.enum';\nimport {\n convertReaderInterface,\n mapFromCartToICart,\n mapFromConnectionStatus,\n mapFromPaymentStatus,\n} from './terminal-mappers';\n\nexport class StripeTerminalWeb extends WebPlugin implements StripeTerminalPlugin {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n private stripeTerminal: Terminal | undefined = undefined;\n private tokenProviderPromiseResolve: ((value: string) => void)[] = [];\n private discoveredReaders: ReaderInterface[] = [];\n private cachedFindReaders: Reader[] = [];\n private cachedPaymentIntent: ISdkManagedPaymentIntent | undefined = undefined;\n private isTest = false;\n\n async initialize(options: { tokenProviderEndpoint: string; isTest: boolean }): Promise<void> {\n if (this.stripeTerminal !== undefined) {\n throw new Error('Stripe Terminal has already been initialized');\n }\n\n this.isTest = options.isTest;\n const stripeTerminal = await loadStripeTerminal();\n this.stripeTerminal = stripeTerminal?.create({\n onFetchConnectionToken: async () => {\n this.notifyListeners(TerminalEventsEnum.RequestedConnectionToken, null);\n if (options.tokenProviderEndpoint) {\n const response = await fetch(options.tokenProviderEndpoint, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n const data = await response.json();\n return data.secret;\n } else {\n return new Promise<string>((resolve) => this.tokenProviderPromiseResolve.push(resolve));\n }\n },\n onConnectionStatusChange: (status) => {\n this.notifyListeners(TerminalEventsEnum.ConnectionStatusChange, {\n status: mapFromConnectionStatus(status.status),\n });\n },\n onPaymentStatusChange: (status) => {\n this.notifyListeners(TerminalEventsEnum.PaymentStatusChange, {\n status: mapFromPaymentStatus(status.status),\n });\n },\n onUnexpectedReaderDisconnect: () => {\n this.notifyListeners(TerminalEventsEnum.UnexpectedReaderDisconnect, {\n reader: null,\n });\n },\n });\n this.notifyListeners(TerminalEventsEnum.Loaded, null);\n }\n\n async discoverReaders(options: { type: TerminalConnectTypes; locationId?: string }): Promise<{\n readers: ReaderInterface[];\n }> {\n if (this.stripeTerminal === undefined) {\n throw new Error('Stripe Terminal has not been initialized');\n }\n\n if (options.type !== TerminalConnectTypes.Internet) {\n throw this.unavailable(`${options.type} is selected. Web platform is supported only internet connection.`);\n }\n\n const discoverResult = await this.stripeTerminal.discoverReaders({\n simulated: this.isTest,\n location: options.locationId,\n });\n\n if ((discoverResult as ErrorResponse).error) {\n throw new Error((discoverResult as ErrorResponse).error.message);\n }\n this.cachedFindReaders = (discoverResult as DiscoverResult).discoveredReaders;\n this.discoveredReaders = (discoverResult as DiscoverResult).discoveredReaders.map((reader) =>\n convertReaderInterface(reader),\n );\n this.notifyListeners(TerminalEventsEnum.DiscoveredReaders, {\n readers: this.discoveredReaders,\n });\n\n return {\n readers: this.discoveredReaders,\n };\n }\n\n /**\n * This method is not supported in the web platform.\n */\n async cancelDiscoverReaders(): Promise<void> {\n console.log('cancelDiscoverReaders');\n }\n\n async setConnectionToken(options: { token: string }): Promise<void> {\n if (this.tokenProviderPromiseResolve.length === 0) {\n return;\n }\n console.log('setConnectionToken', options);\n const resolve = this.tokenProviderPromiseResolve.shift();\n if (resolve === undefined) {\n throw new Error('tokenProviderPromiseResolve is empty.');\n }\n resolve(options.token);\n }\n\n async setSimulatorConfiguration(options: {\n update?: SimulateReaderUpdate | undefined;\n simulatedCard?: SimulatedCardType | undefined;\n simulatedTipAmount?: number | undefined;\n }): Promise<void> {\n console.log('setSimulatorConfiguration', options);\n }\n\n async connectReader(options: { reader: ReaderInterface }): Promise<void> {\n const reader = this.cachedFindReaders.find((reader) => reader.serial_number === options.reader.serialNumber);\n if (reader === undefined) {\n throw new Error('reader is not match from descovered readers.');\n }\n const connectedResult = await this.stripeTerminal?.connectReader(reader);\n if ((connectedResult as ErrorResponse).error) {\n throw new Error((connectedResult as ErrorResponse).error.message);\n }\n this.notifyListeners(TerminalEventsEnum.ConnectedReader, null);\n }\n\n async getConnectedReader(): Promise<{ reader: ReaderInterface | null }> {\n const reader = this.stripeTerminal?.getConnectedReader();\n if (reader === undefined) {\n return {\n reader: null,\n };\n }\n return {\n reader: convertReaderInterface(reader),\n };\n }\n\n async disconnectReader(): Promise<void> {\n await this.stripeTerminal?.disconnectReader();\n this.notifyListeners(TerminalEventsEnum.DisconnectedReader, null);\n }\n\n async collectPaymentMethod(options: { paymentIntent: string }): Promise<void> {\n const collectResult = await this.stripeTerminal?.collectPaymentMethod(options.paymentIntent);\n\n if ((collectResult as ErrorResponse).error) {\n throw new Error((collectResult as ErrorResponse).error.message);\n }\n\n this.cachedPaymentIntent = (\n collectResult as {\n paymentIntent: ISdkManagedPaymentIntent;\n }\n ).paymentIntent;\n\n this.notifyListeners(TerminalEventsEnum.CollectedPaymentIntent, null);\n }\n\n async cancelCollectPaymentMethod(): Promise<void> {\n await this.stripeTerminal?.cancelCollectPaymentMethod();\n this.notifyListeners(TerminalEventsEnum.Canceled, null);\n }\n\n async confirmPaymentIntent(): Promise<void> {\n if (this.cachedPaymentIntent === undefined) {\n throw new Error('PaymentIntent is not cached.');\n }\n const processResult = await this.stripeTerminal?.processPayment(this.cachedPaymentIntent);\n if ((processResult as ErrorResponse).error) {\n throw new Error((processResult as ErrorResponse).error.message);\n }\n this.notifyListeners(TerminalEventsEnum.ConfirmedPaymentIntent, null);\n }\n\n async installAvailableUpdate(): Promise<void> {\n console.log('installAvailableUpdate');\n }\n async cancelInstallUpdate(): Promise<void> {\n console.log('cancelInstallUpdate');\n }\n async setReaderDisplay(options: Cart): Promise<void> {\n await this.stripeTerminal?.setReaderDisplay({\n type: 'cart',\n cart: mapFromCartToICart(options),\n });\n console.log('setReaderDisplay', options);\n }\n async clearReaderDisplay(): Promise<void> {\n await this.stripeTerminal?.clearReaderDisplay();\n }\n async rebootReader(): Promise<void> {\n console.log('rebootReader');\n }\n async cancelReaderReconnection(): Promise<void> {\n console.log('cancelReaderReconnection');\n }\n\n collect = 'deprecated';\n cancelCollect = 'deprecated';\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@capacitor-community/stripe-terminal",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "8.0.0-0",
|
|
4
4
|
"engines": {
|
|
5
|
-
"node": ">=
|
|
5
|
+
"node": ">=22.0.0"
|
|
6
6
|
},
|
|
7
7
|
"description": "Stripe SDK bindings for Capacitor Applications",
|
|
8
8
|
"main": "dist/plugin.cjs.js",
|
|
@@ -49,24 +49,24 @@
|
|
|
49
49
|
"prepublishOnly": "npm run build"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
|
-
"@capacitor/android": "^
|
|
53
|
-
"@capacitor/core": "^
|
|
54
|
-
"@capacitor/ios": "^
|
|
52
|
+
"@capacitor/android": "^8.0.0",
|
|
53
|
+
"@capacitor/core": "^8.0.0",
|
|
54
|
+
"@capacitor/ios": "^8.0.0",
|
|
55
55
|
"@ionic/eslint-config": "^0.4.0",
|
|
56
56
|
"@ionic/prettier-config": "^4.0.0",
|
|
57
57
|
"@ionic/swiftlint-config": "^2.0.0",
|
|
58
58
|
"@rdlabo/capacitor-docgen": "^0.4.1",
|
|
59
|
-
"@types/node": "^
|
|
60
|
-
"eslint": "^8.57.
|
|
61
|
-
"prettier": "^3.
|
|
62
|
-
"prettier-plugin-java": "^2.
|
|
63
|
-
"rimraf": "^6.0
|
|
64
|
-
"rollup": "^4.
|
|
59
|
+
"@types/node": "^24.10.1",
|
|
60
|
+
"eslint": "^8.57.1",
|
|
61
|
+
"prettier": "^3.6.2",
|
|
62
|
+
"prettier-plugin-java": "^2.7.7",
|
|
63
|
+
"rimraf": "^6.1.0",
|
|
64
|
+
"rollup": "^4.53.2",
|
|
65
65
|
"swiftlint": "^2.0.0",
|
|
66
|
-
"typescript": "
|
|
66
|
+
"typescript": "^5.9.3"
|
|
67
67
|
},
|
|
68
68
|
"peerDependencies": {
|
|
69
|
-
"@capacitor/core": ">=
|
|
69
|
+
"@capacitor/core": ">=8.0.0"
|
|
70
70
|
},
|
|
71
71
|
"prettier": "@ionic/prettier-config",
|
|
72
72
|
"swiftlint": "@ionic/swiftlint-config",
|