react-native-pos-pagseguro 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/README.md +52 -9
  2. package/android/build.gradle +0 -2
  3. package/android/src/main/java/com/margelo/nitro/pospagseguro/PosPagseguro.kt +16 -8
  4. package/android/src/main/java/com/margelo/nitro/pospagseguro/maps/CustomPrinterLayout.kt +22 -0
  5. package/android/src/main/java/com/margelo/nitro/pospagseguro/maps/StyleData.kt +33 -0
  6. package/android/src/main/java/com/margelo/nitro/pospagseguro/maps/TransactionResult.kt +1 -1
  7. package/lib/module/index.js +2 -2
  8. package/lib/module/index.js.map +1 -1
  9. package/lib/module/pag_seguro.js +20 -3
  10. package/lib/module/pag_seguro.js.map +1 -1
  11. package/lib/module/types/payments.js +126 -0
  12. package/lib/module/types/payments.js.map +1 -1
  13. package/lib/module/types/styles.js +2 -0
  14. package/lib/module/types/styles.js.map +1 -0
  15. package/lib/typescript/src/PosPagseguro.nitro.d.ts +6 -4
  16. package/lib/typescript/src/PosPagseguro.nitro.d.ts.map +1 -1
  17. package/lib/typescript/src/index.d.ts +4 -3
  18. package/lib/typescript/src/index.d.ts.map +1 -1
  19. package/lib/typescript/src/pag_seguro.d.ts +19 -5
  20. package/lib/typescript/src/pag_seguro.d.ts.map +1 -1
  21. package/lib/typescript/src/types/payments.d.ts +126 -1
  22. package/lib/typescript/src/types/payments.d.ts.map +1 -1
  23. package/lib/typescript/src/types/styles.d.ts +51 -0
  24. package/lib/typescript/src/types/styles.d.ts.map +1 -0
  25. package/nitrogen/generated/android/c++/JCapabilities.hpp +1 -1
  26. package/nitrogen/generated/android/c++/JCardIssuerNationality.hpp +1 -1
  27. package/nitrogen/generated/android/c++/JCustomError.hpp +1 -1
  28. package/nitrogen/generated/android/c++/JCustomPrinterLayout.hpp +90 -0
  29. package/nitrogen/generated/android/c++/JFunc_void_std__string_PaymentEvent.hpp +78 -0
  30. package/nitrogen/generated/android/c++/JHybridPosPagseguroSpec.cpp +37 -8
  31. package/nitrogen/generated/android/c++/JHybridPosPagseguroSpec.hpp +6 -3
  32. package/nitrogen/generated/android/c++/JInstallmentTypes.hpp +1 -1
  33. package/nitrogen/generated/android/c++/JPaymentData.hpp +9 -6
  34. package/nitrogen/generated/android/c++/JPaymentEvent.hpp +142 -0
  35. package/nitrogen/generated/android/c++/JPaymentTypes.hpp +1 -1
  36. package/nitrogen/generated/android/c++/JStyleData.hpp +110 -0
  37. package/nitrogen/generated/android/c++/JSubAcquirer.hpp +1 -1
  38. package/nitrogen/generated/android/c++/JTransactionResult.hpp +1 -1
  39. package/nitrogen/generated/android/c++/JUserData.hpp +1 -1
  40. package/nitrogen/generated/android/c++/JVariant_CustomError_TransactionResult.cpp +1 -1
  41. package/nitrogen/generated/android/c++/JVariant_CustomError_TransactionResult.hpp +1 -1
  42. package/nitrogen/generated/android/c++/JVariant_Double_CustomError.cpp +1 -1
  43. package/nitrogen/generated/android/c++/JVariant_Double_CustomError.hpp +1 -1
  44. package/nitrogen/generated/android/c++/JVariant_String_Double.cpp +26 -0
  45. package/nitrogen/generated/android/c++/JVariant_String_Double.hpp +68 -0
  46. package/nitrogen/generated/android/c++/JVoidPayData.hpp +1 -1
  47. package/nitrogen/generated/android/c++/JVoidType.hpp +1 -1
  48. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pospagseguro/Capabilities.kt +1 -1
  49. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pospagseguro/CardIssuerNationality.kt +1 -1
  50. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pospagseguro/CustomError.kt +1 -1
  51. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pospagseguro/CustomPrinterLayout.kt +62 -0
  52. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pospagseguro/{Func_void_std__string.kt → Func_void_std__string_PaymentEvent.kt} +15 -15
  53. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pospagseguro/HybridPosPagseguroSpec.kt +13 -5
  54. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pospagseguro/InstallmentTypes.kt +1 -1
  55. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pospagseguro/PaymentData.kt +3 -3
  56. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pospagseguro/PaymentEvent.kt +51 -0
  57. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pospagseguro/PaymentTypes.kt +1 -1
  58. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pospagseguro/StyleData.kt +77 -0
  59. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pospagseguro/SubAcquirer.kt +1 -1
  60. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pospagseguro/TransactionResult.kt +1 -1
  61. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pospagseguro/UserData.kt +1 -1
  62. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pospagseguro/Variant_CustomError_TransactionResult.kt +1 -1
  63. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pospagseguro/Variant_Double_CustomError.kt +1 -1
  64. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pospagseguro/Variant_String_Double.kt +59 -0
  65. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pospagseguro/VoidPayData.kt +1 -1
  66. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pospagseguro/VoidType.kt +1 -1
  67. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pospagseguro/pospagseguroOnLoad.kt +1 -1
  68. package/nitrogen/generated/android/pospagseguro+autolinking.cmake +2 -1
  69. package/nitrogen/generated/android/pospagseguro+autolinking.gradle +1 -1
  70. package/nitrogen/generated/android/pospagseguroOnLoad.cpp +3 -3
  71. package/nitrogen/generated/android/pospagseguroOnLoad.hpp +1 -1
  72. package/nitrogen/generated/shared/c++/Capabilities.hpp +1 -1
  73. package/nitrogen/generated/shared/c++/CardIssuerNationality.hpp +1 -1
  74. package/nitrogen/generated/shared/c++/CustomError.hpp +1 -1
  75. package/nitrogen/generated/shared/c++/CustomPrinterLayout.hpp +116 -0
  76. package/nitrogen/generated/shared/c++/HybridPosPagseguroSpec.cpp +3 -1
  77. package/nitrogen/generated/shared/c++/HybridPosPagseguroSpec.hpp +14 -3
  78. package/nitrogen/generated/shared/c++/InstallmentTypes.hpp +1 -1
  79. package/nitrogen/generated/shared/c++/PaymentData.hpp +8 -6
  80. package/nitrogen/generated/shared/c++/PaymentEvent.hpp +121 -0
  81. package/nitrogen/generated/shared/c++/PaymentTypes.hpp +1 -1
  82. package/nitrogen/generated/shared/c++/StyleData.hpp +136 -0
  83. package/nitrogen/generated/shared/c++/SubAcquirer.hpp +1 -1
  84. package/nitrogen/generated/shared/c++/TransactionResult.hpp +1 -1
  85. package/nitrogen/generated/shared/c++/UserData.hpp +1 -1
  86. package/nitrogen/generated/shared/c++/VoidPayData.hpp +1 -1
  87. package/nitrogen/generated/shared/c++/VoidType.hpp +1 -1
  88. package/package.json +179 -179
  89. package/src/PosPagseguro.nitro.ts +8 -4
  90. package/src/index.ts +7 -2
  91. package/src/pag_seguro.ts +27 -7
  92. package/src/types/payments.ts +127 -1
  93. package/src/types/styles.ts +52 -0
  94. package/nitrogen/generated/android/c++/JFunc_void_std__string.hpp +0 -76
  95. package/nitrogen/generated/ios/PosPagseguro+autolinking.rb +0 -60
  96. package/nitrogen/generated/ios/PosPagseguro-Swift-Cxx-Bridge.cpp +0 -65
  97. package/nitrogen/generated/ios/PosPagseguro-Swift-Cxx-Bridge.hpp +0 -422
  98. package/nitrogen/generated/ios/PosPagseguro-Swift-Cxx-Umbrella.hpp +0 -81
  99. package/nitrogen/generated/ios/c++/HybridPosPagseguroSpecSwift.cpp +0 -11
  100. package/nitrogen/generated/ios/c++/HybridPosPagseguroSpecSwift.hpp +0 -236
  101. package/nitrogen/generated/ios/swift/Capabilities.swift +0 -96
  102. package/nitrogen/generated/ios/swift/CardIssuerNationality.swift +0 -44
  103. package/nitrogen/generated/ios/swift/CustomError.swift +0 -35
  104. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +0 -47
  105. package/nitrogen/generated/ios/swift/Func_void_std__string.swift +0 -47
  106. package/nitrogen/generated/ios/swift/Func_void_std__variant_CustomError__TransactionResult_.swift +0 -59
  107. package/nitrogen/generated/ios/swift/Func_void_std__variant_double__CustomError_.swift +0 -59
  108. package/nitrogen/generated/ios/swift/HybridPosPagseguroSpec.swift +0 -72
  109. package/nitrogen/generated/ios/swift/HybridPosPagseguroSpec_cxx.swift +0 -434
  110. package/nitrogen/generated/ios/swift/InstallmentTypes.swift +0 -44
  111. package/nitrogen/generated/ios/swift/PaymentData.swift +0 -74
  112. package/nitrogen/generated/ios/swift/PaymentTypes.swift +0 -48
  113. package/nitrogen/generated/ios/swift/SubAcquirer.swift +0 -85
  114. package/nitrogen/generated/ios/swift/TransactionResult.swift +0 -674
  115. package/nitrogen/generated/ios/swift/UserData.swift +0 -169
  116. package/nitrogen/generated/ios/swift/Variant_CustomError_TransactionResult.swift +0 -18
  117. package/nitrogen/generated/ios/swift/Variant_Double_CustomError.swift +0 -18
  118. package/nitrogen/generated/ios/swift/VoidPayData.swift +0 -64
  119. package/nitrogen/generated/ios/swift/VoidType.swift +0 -40
package/package.json CHANGED
@@ -1,179 +1,179 @@
1
- {
2
- "name": "react-native-pos-pagseguro",
3
- "version": "1.0.0",
4
- "description": "Integration of plugpag for React Native",
5
- "main": "./lib/module/index.js",
6
- "types": "./lib/typescript/src/index.d.ts",
7
- "exports": {
8
- ".": {
9
- "source": "./src/index.tsx",
10
- "types": "./lib/typescript/src/index.d.ts",
11
- "default": "./lib/module/index.js"
12
- },
13
- "./package.json": "./package.json"
14
- },
15
- "files": [
16
- "src",
17
- "lib",
18
- "android",
19
- "ios",
20
- "cpp",
21
- "nitrogen",
22
- "nitro.json",
23
- "*.podspec",
24
- "react-native.config.js",
25
- "!ios/build",
26
- "!android/build",
27
- "!android/gradle",
28
- "!android/gradlew",
29
- "!android/gradlew.bat",
30
- "!android/local.properties",
31
- "!**/__tests__",
32
- "!**/__fixtures__",
33
- "!**/__mocks__",
34
- "!**/.*"
35
- ],
36
- "scripts": {
37
- "example": "yarn workspace react-native-pos-pagseguro-example",
38
- "clean": "del-cli android/build example/android/build example/android/app/build example/ios/build lib",
39
- "prepublishOnly": "bob build",
40
- "nitrogen": "nitrogen",
41
- "typecheck": "tsc",
42
- "lint": "eslint \"**/*.{js,ts,tsx}\"",
43
- "test": "jest",
44
- "release": "release-it --only-version"
45
- },
46
- "keywords": [
47
- "react-native",
48
- "pagseguro",
49
- "pos",
50
- "payment",
51
- "plugpag",
52
- "moderninha",
53
- "terminal",
54
- "android",
55
- "nitro-modules",
56
- "pix",
57
- "credit-card",
58
- "debit",
59
- "voucher",
60
- "point-of-sale",
61
- "mpos",
62
- "react-native-pos",
63
- "pagamento",
64
- "maquininha",
65
- "pagseguro-pos"
66
- ],
67
- "repository": {
68
- "type": "git",
69
- "url": "git+https://github.com/CECSMH/react-native-pos-pagseguro.git"
70
- },
71
- "author": "CECSMH (https://github.com/CECSMH)",
72
- "license": "MIT",
73
- "bugs": {
74
- "url": "https://github.com/CECSMH/react-native-pos-pagseguro/issues"
75
- },
76
- "homepage": "https://github.com/CECSMH/react-native-pos-pagseguro#readme",
77
- "publishConfig": {
78
- "registry": "https://registry.npmjs.org/"
79
- },
80
- "devDependencies": {
81
- "@commitlint/config-conventional": "^19.8.1",
82
- "@react-native/babel-preset": "0.83.0",
83
- "@react-native/eslint-config": "0.83.0",
84
- "@release-it/conventional-changelog": "^10.0.1",
85
- "del-cli": "^6.0.0",
86
- "nitrogen": "^0.32.0",
87
- "prettier": "^2.8.8",
88
- "react": "19.2.0",
89
- "react-native": "0.83.0",
90
- "react-native-builder-bob": "^0.40.13",
91
- "react-native-nitro-modules": "^0.32.0",
92
- "release-it": "^19.0.4",
93
- "turbo": "^2.5.6",
94
- "typescript": "^5.9.2"
95
- },
96
- "peerDependencies": {
97
- "react": "*",
98
- "react-native": "*",
99
- "react-native-nitro-modules": "^0.32.0"
100
- },
101
- "workspaces": [
102
- "example"
103
- ],
104
- "packageManager": "yarn@4.11.0",
105
- "react-native-builder-bob": {
106
- "source": "src",
107
- "output": "lib",
108
- "targets": [
109
- [
110
- "custom",
111
- {
112
- "script": "nitrogen",
113
- "clean": "nitrogen/"
114
- }
115
- ],
116
- [
117
- "module",
118
- {
119
- "esm": true
120
- }
121
- ],
122
- [
123
- "typescript",
124
- {
125
- "project": "tsconfig.build.json"
126
- }
127
- ]
128
- ]
129
- },
130
- "prettier": {
131
- "quoteProps": "consistent",
132
- "singleQuote": true,
133
- "tabWidth": 2,
134
- "trailingComma": "es5",
135
- "useTabs": false
136
- },
137
- "jest": {
138
- "preset": "react-native",
139
- "modulePathIgnorePatterns": [
140
- "<rootDir>/example/node_modules",
141
- "<rootDir>/lib/"
142
- ]
143
- },
144
- "commitlint": {
145
- "extends": [
146
- "@commitlint/config-conventional"
147
- ]
148
- },
149
- "release-it": {
150
- "git": {
151
- "commitMessage": "chore: release ${version}",
152
- "tagName": "v${version}"
153
- },
154
- "npm": {
155
- "publish": true
156
- },
157
- "github": {
158
- "release": true
159
- },
160
- "plugins": {
161
- "@release-it/conventional-changelog": {
162
- "preset": {
163
- "name": "angular"
164
- }
165
- }
166
- }
167
- },
168
- "create-react-native-library": {
169
- "type": "nitro-module",
170
- "languages": "kotlin-swift",
171
- "tools": [
172
- "eslint",
173
- "jest",
174
- "lefthook",
175
- "release-it"
176
- ],
177
- "version": "0.56.0"
178
- }
179
- }
1
+ {
2
+ "name": "react-native-pos-pagseguro",
3
+ "version": "1.1.0",
4
+ "description": "Integration of plugpag for React Native",
5
+ "main": "./lib/module/index.js",
6
+ "types": "./lib/typescript/src/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "source": "./src/index.tsx",
10
+ "types": "./lib/typescript/src/index.d.ts",
11
+ "default": "./lib/module/index.js"
12
+ },
13
+ "./package.json": "./package.json"
14
+ },
15
+ "files": [
16
+ "src",
17
+ "lib",
18
+ "android",
19
+ "ios",
20
+ "cpp",
21
+ "nitrogen",
22
+ "nitro.json",
23
+ "*.podspec",
24
+ "react-native.config.js",
25
+ "!ios/build",
26
+ "!android/build",
27
+ "!android/gradle",
28
+ "!android/gradlew",
29
+ "!android/gradlew.bat",
30
+ "!android/local.properties",
31
+ "!**/__tests__",
32
+ "!**/__fixtures__",
33
+ "!**/__mocks__",
34
+ "!**/.*"
35
+ ],
36
+ "scripts": {
37
+ "example": "yarn workspace react-native-pos-pagseguro-example",
38
+ "clean": "del-cli android/build example/android/build example/android/app/build example/ios/build lib",
39
+ "prepublishOnly": "bob build",
40
+ "nitrogen": "nitrogen",
41
+ "typecheck": "tsc",
42
+ "lint": "eslint \"**/*.{js,ts,tsx}\"",
43
+ "test": "jest",
44
+ "release": "release-it --only-version"
45
+ },
46
+ "keywords": [
47
+ "react-native",
48
+ "pagseguro",
49
+ "pos",
50
+ "payment",
51
+ "plugpag",
52
+ "moderninha",
53
+ "terminal",
54
+ "android",
55
+ "nitro-modules",
56
+ "pix",
57
+ "credit-card",
58
+ "debit",
59
+ "voucher",
60
+ "point-of-sale",
61
+ "mpos",
62
+ "react-native-pos",
63
+ "pagamento",
64
+ "maquininha",
65
+ "pagseguro-pos"
66
+ ],
67
+ "repository": {
68
+ "type": "git",
69
+ "url": "git+https://github.com/CECSMH/react-native-pos-pagseguro.git"
70
+ },
71
+ "author": "CECSMH (https://github.com/CECSMH)",
72
+ "license": "MIT",
73
+ "bugs": {
74
+ "url": "https://github.com/CECSMH/react-native-pos-pagseguro/issues"
75
+ },
76
+ "homepage": "https://github.com/CECSMH/react-native-pos-pagseguro#readme",
77
+ "publishConfig": {
78
+ "registry": "https://registry.npmjs.org/"
79
+ },
80
+ "devDependencies": {
81
+ "@commitlint/config-conventional": "^19.8.1",
82
+ "@react-native/babel-preset": "0.83.0",
83
+ "@react-native/eslint-config": "0.83.0",
84
+ "@release-it/conventional-changelog": "^10.0.1",
85
+ "del-cli": "^6.0.0",
86
+ "nitrogen": "^0.32.0",
87
+ "prettier": "^2.8.8",
88
+ "react": "19.2.0",
89
+ "react-native": "0.83.0",
90
+ "react-native-builder-bob": "^0.40.13",
91
+ "react-native-nitro-modules": "^0.32.0",
92
+ "release-it": "^19.0.4",
93
+ "turbo": "^2.5.6",
94
+ "typescript": "^5.9.2"
95
+ },
96
+ "peerDependencies": {
97
+ "react": "*",
98
+ "react-native": "*",
99
+ "react-native-nitro-modules": "*"
100
+ },
101
+ "workspaces": [
102
+ "example"
103
+ ],
104
+ "packageManager": "yarn@4.11.0",
105
+ "react-native-builder-bob": {
106
+ "source": "src",
107
+ "output": "lib",
108
+ "targets": [
109
+ [
110
+ "custom",
111
+ {
112
+ "script": "nitrogen",
113
+ "clean": "nitrogen/"
114
+ }
115
+ ],
116
+ [
117
+ "module",
118
+ {
119
+ "esm": true
120
+ }
121
+ ],
122
+ [
123
+ "typescript",
124
+ {
125
+ "project": "tsconfig.build.json"
126
+ }
127
+ ]
128
+ ]
129
+ },
130
+ "prettier": {
131
+ "quoteProps": "consistent",
132
+ "singleQuote": true,
133
+ "tabWidth": 2,
134
+ "trailingComma": "es5",
135
+ "useTabs": false
136
+ },
137
+ "jest": {
138
+ "preset": "react-native",
139
+ "modulePathIgnorePatterns": [
140
+ "<rootDir>/example/node_modules",
141
+ "<rootDir>/lib/"
142
+ ]
143
+ },
144
+ "commitlint": {
145
+ "extends": [
146
+ "@commitlint/config-conventional"
147
+ ]
148
+ },
149
+ "release-it": {
150
+ "git": {
151
+ "commitMessage": "chore: release ${version}",
152
+ "tagName": "v${version}"
153
+ },
154
+ "npm": {
155
+ "publish": true
156
+ },
157
+ "github": {
158
+ "release": true
159
+ },
160
+ "plugins": {
161
+ "@release-it/conventional-changelog": {
162
+ "preset": {
163
+ "name": "angular"
164
+ }
165
+ }
166
+ }
167
+ },
168
+ "create-react-native-library": {
169
+ "type": "nitro-module",
170
+ "languages": "kotlin-swift",
171
+ "tools": [
172
+ "eslint",
173
+ "jest",
174
+ "lefthook",
175
+ "release-it"
176
+ ],
177
+ "version": "0.56.0"
178
+ }
179
+ }
@@ -1,10 +1,11 @@
1
1
  import type { HybridObject } from 'react-native-nitro-modules';
2
2
 
3
3
  import type { CustomError } from './types/exceptions';
4
- import type { PaymentData, TransactionResult, VoidPayData } from './types/payments';
4
+ import type { PaymentData, PaymentEvent, TransactionResult, VoidPayData } from './types/payments';
5
5
  import type { Capabilities, SubAcquirer, UserData } from './types/device';
6
+ import type { CustomPrinterLayout, StyleData } from './types/styles';
6
7
 
7
- export interface PosPagseguro extends HybridObject<{ ios: 'swift'; android: 'kotlin' }> {
8
+ export interface PosPagseguro extends HybridObject<{ android: 'kotlin' }> {
8
9
  getModel(): string;
9
10
  getSerialNumber(): string;
10
11
  getSubAcquirerData(): SubAcquirer | undefined;
@@ -25,8 +26,11 @@ export interface PosPagseguro extends HybridObject<{ ios: 'swift'; android: 'kot
25
26
  hasCapability(capability: Capabilities): boolean;
26
27
  initialize(activation_code: string): void;
27
28
 
28
- doPayment(payment_data: PaymentData, process_callback: (event: string) => void): Promise<TransactionResult | CustomError>;
29
- voidPayment(void_data: VoidPayData, process_callback: (event: string) => void): Promise<TransactionResult | CustomError>;
29
+ doPayment(payment_data: PaymentData, process_callback: (event: string, code: PaymentEvent) => void): Promise<TransactionResult | CustomError>;
30
+ voidPayment(void_data: VoidPayData, process_callback: (event: string, code: PaymentEvent) => void): Promise<TransactionResult | CustomError>;
30
31
 
31
32
  getLastApprovedTransaction(): TransactionResult | CustomError;
33
+
34
+ setStyleData(data: StyleData): boolean;
35
+ setPrinterLayout(data: CustomPrinterLayout): void;
32
36
  }
package/src/index.ts CHANGED
@@ -1,19 +1,24 @@
1
1
  import PagSeguro from './pag_seguro';
2
2
  import { PaymentError, PrintError } from './types/exceptions';
3
- import { InstallmentTypes, PaymentTypes, VoidType } from './types/payments';
3
+ import type { CustomPrinterLayout, StyleData } from './types/styles';
4
4
  import type { PaymentData, TransactionResult, VoidPayData } from './types/payments';
5
+ import { InstallmentTypes, PaymentTypes, VoidType, PaymentEvent } from './types/payments';
5
6
 
6
7
 
7
8
  export type {
9
+ StyleData,
8
10
  PaymentData,
9
11
  VoidPayData,
10
- TransactionResult
12
+ TransactionResult,
13
+ CustomPrinterLayout
11
14
  }
15
+
12
16
  export {
13
17
  PagSeguro as default,
14
18
  VoidType,
15
19
  PrintError,
16
20
  PaymentError,
17
21
  PaymentTypes,
22
+ PaymentEvent,
18
23
  InstallmentTypes,
19
24
  }
package/src/pag_seguro.ts CHANGED
@@ -1,18 +1,18 @@
1
1
  import { NitroModules } from "react-native-nitro-modules";
2
2
 
3
3
  import type { PosPagseguro } from "./PosPagseguro.nitro";
4
- import { InstallmentTypes, PaymentTypes, VoidType, type PaymentData, type TransactionResult, type VoidPayData } from "./types/payments";
4
+ import { InstallmentTypes, PaymentEvent, PaymentTypes, VoidType, type PaymentData, type TransactionResult, type VoidPayData } from "./types/payments";
5
5
 
6
6
  import { AbordError, PaymentError, PrintError } from "./types/exceptions";
7
7
  import { Capabilities, type SubAcquirer, type UserData } from "./types/device";
8
+ import type { CustomPrinterLayout, StyleData } from "./types/styles";
8
9
 
9
10
  const PosPagseguroHybridObject = NitroModules.createHybridObject<PosPagseguro>('PosPagseguro');
10
11
 
11
12
  /**
12
13
  * PagSeguro POS SDK para React Native
13
14
  *
14
- * Biblioteca de alto desempenho para integração com terminais PagSeguro (Moderninha, Smart, Pro, etc.)
15
- * utilizando react-native-nitro-modules para comunicação nativa direta em Swift (iOS) e Kotlin (Android).
15
+ * Biblioteca de alto desempenho para integração com terminais PagSeguro (Moderninha, Moderninha2, etc.)
16
16
  *
17
17
  * ### Funcionalidades principais
18
18
  * - Inicialização e ativação do terminal
@@ -92,7 +92,7 @@ export default class PagSeguro {
92
92
  * print_receipt: true
93
93
  * });
94
94
  */
95
- static async do_payment(data: PaymentData, process_callback: (message: string) => void = () => { }): Promise<TransactionResult> {
95
+ static async do_payment(data: PaymentData, process_callback: (message: string, code: PaymentEvent) => void = () => { }): Promise<TransactionResult> {
96
96
  validate_payment_data(data);
97
97
  const r = await PosPagseguroHybridObject.doPayment(data, process_callback);
98
98
  if ("message" in r && "code" in r) throw new PaymentError(r.code, r.message);
@@ -110,7 +110,7 @@ export default class PagSeguro {
110
110
  * @returns Resultado da operação de cancelamento
111
111
  * @throws PaymentError Em caso de erro de validação ou rejeição
112
112
  */
113
- static async void_payment(data: VoidPayData, process_callback: (message: string) => void = () => { }): Promise<TransactionResult> {
113
+ static async void_payment(data: VoidPayData, process_callback: (message: string, code: PaymentEvent) => void = () => { }): Promise<TransactionResult> {
114
114
  validate_void_pay_data(data);
115
115
  const r = await PosPagseguroHybridObject.voidPayment(data, process_callback);
116
116
  if ("message" in r && "code" in r) throw new PaymentError(r.code, r.message);
@@ -134,12 +134,32 @@ export default class PagSeguro {
134
134
  * @returns Dados completos da transação (valor, NSU, bandeira, etc.)
135
135
  * @throws PaymentError Se não houver transação aprovada ou em caso de erro
136
136
  */
137
- static get_last_approved_transaction(): TransactionResult{
137
+ static get_last_approved_transaction(): TransactionResult {
138
138
  const r = PosPagseguroHybridObject.getLastApprovedTransaction();
139
139
  if ("message" in r && "code" in r) throw new PaymentError(r.code, r.message);
140
140
  return r;
141
141
  };
142
142
 
143
+ /**
144
+ * Define o estilo visual (cores, botões, textos) das janelas modais
145
+ * exibidas pelo terminal durante operações de pagamento.
146
+ *
147
+ * @param styles Objeto StyleData contendo as cores e estilos desejados
148
+ */
149
+ static set_modal_styles(styles: StyleData): boolean {
150
+ return PosPagseguroHybridObject.setStyleData(styles);
151
+ };
152
+
153
+ /**
154
+ * Define o layout e estilo visual da janela de impressão customizada
155
+ * utilizada pelo terminal
156
+ *
157
+ * @param styles Objeto CustomPrinterLayout com título, cores e tempo máximo de exibição
158
+ */
159
+ static set_printer_modal_styles(styles: CustomPrinterLayout): void {
160
+ PosPagseguroHybridObject.setPrinterLayout(styles);
161
+ };
162
+
143
163
  /**
144
164
  * Reimprime a via do cliente da última transação aprovada.
145
165
  *
@@ -286,7 +306,7 @@ function validate_payment_data(data: PaymentData): void {
286
306
  if (data.user_reference !== undefined) {
287
307
  const ref = String(data.user_reference);
288
308
  const regex = /^[a-zA-Z0-9]+$/;
289
- if (!regex.test(ref)) throw new PaymentError("INVALID_ARG", "A referência do usuário deve conter apenas letras ou números.");
309
+ if (!regex.test(ref)) throw new PaymentError("INVALID_ARG", "A referência do usuário deve conter apenas letras e/ou números.");
290
310
  };
291
311
  };
292
312
 
@@ -82,7 +82,7 @@ export type PaymentData = {
82
82
  * Referência opcional do usuário ou da transação.
83
83
  * Pode ser usada para vincular o pagamento a um pedido ou cliente específico.
84
84
  */
85
- user_reference?: number,
85
+ user_reference?: string | number,
86
86
  }
87
87
 
88
88
  /**
@@ -208,6 +208,132 @@ export type TransactionResult = {
208
208
  pix_tx_id_code?: string;
209
209
  }
210
210
 
211
+ /**
212
+ * Eventos de pagamento
213
+ */
214
+ export enum PaymentEvent {
215
+ /**
216
+ * Aguardando inserção do cartão.
217
+ */
218
+ WAITING_CARD = 0,
219
+ /**
220
+ * Cartão foi inserido no terminal.
221
+ */
222
+ INSERTED_CARD = 1,
223
+ /**
224
+ * Fim da transação (independente do resultado).
225
+ */
226
+ SALE_END = 4,
227
+ /**
228
+ * Aguardando autorização da senha.
229
+ */
230
+ AUTHORIZING = 5,
231
+ /**
232
+ * Aguardando remoção do cartão.
233
+ */
234
+ WAITING_REMOVE_CARD = 7,
235
+ /**
236
+ * Cartão foi removido do terminal.
237
+ */
238
+ REMOVED_CARD = 8,
239
+ /**
240
+ * Solicitação de digitação do PIN (senha).
241
+ */
242
+ PIN_REQUESTED = 2,
243
+ /**
244
+ * PIN (senha) digitado corretamente.
245
+ */
246
+ PIN_OK = 3,
247
+ /**
248
+ * Solicitação de CVV.
249
+ */
250
+ CVV_REQUESTED = 9,
251
+ /**
252
+ * CVV digitado corretamente.
253
+ */
254
+ CVV_OK = 10,
255
+ /**
256
+ * Solicitação de BIN do cartão.
257
+ */
258
+ CAR_BIN_REQUESTED = 11,
259
+ /**
260
+ * BIN do cartão digitado corretamente.
261
+ */
262
+ CAR_BIN_OK = 12,
263
+ /**
264
+ * Solicitação do nome do portador do cartão.
265
+ */
266
+ CAR_HOLDER_REQUESTED = 13,
267
+ /**
268
+ * Nome do portador do cartão digitado corretamente.
269
+ */
270
+ CAR_HOLDER_OK = 14,
271
+ /**
272
+ * Ativação realizada com sucesso.
273
+ */
274
+ ACTIVATION_SUCCESS = 15,
275
+ /**
276
+ * Dígito da senha foi digitado.
277
+ */
278
+ DIGIT_PASSWORD = 16,
279
+ /**
280
+ * Dígito da senha foi apagado.
281
+ */
282
+ NO_PASSWORD = 17,
283
+ /**
284
+ * Aprovada (cartão ou Pix).
285
+ */
286
+ APPROVED = 18,
287
+ /**
288
+ * Não aprovada (cartão ou Pix).
289
+ */
290
+ NOT_APPROVED = 19,
291
+ /**
292
+ * Erro de leitura em transação NFC.
293
+ */
294
+ CONTACTLESS_ERROR = 23,
295
+ /**
296
+ * Instruções exibidas no smartphone durante NFC.
297
+ */
298
+ CONTACTLESS_ON_DEVICE = 24,
299
+ /**
300
+ * Necessário usar tarja magnética.
301
+ */
302
+ USE_TARJA = 25,
303
+ /**
304
+ * Necessário usar chip.
305
+ */
306
+ USE_CHIP = 26,
307
+ /**
308
+ * Download de tabelas em andamento.
309
+ */
310
+ DOWNLOADING_TABLES = 27,
311
+ /**
312
+ * Gravação de tabelas em andamento.
313
+ */
314
+ RECORDING_TABLES = 28,
315
+ /**
316
+ * Transação concluída com sucesso.
317
+ */
318
+ SUCCESS = 29,
319
+ /**
320
+ * Resolvendo pendências de transações.
321
+ */
322
+ SOLVE_PENDINGS = 30,
323
+ /**
324
+ * Mensagem customizada enviada pelo terminal.
325
+ */
326
+ CUSTOM_MESSAGE = -1,
327
+ /**
328
+ * Evento padrão (fallback).
329
+ */
330
+ DEFAULT = -2,
331
+ /**
332
+ * Erro durante execução do evento.
333
+ */
334
+ ON_EVENT_ERROR = -3
335
+ }
336
+
211
337
  export {
212
338
  VoidType,
213
339
  PaymentTypes,