react-native-mesmart 0.7.3 → 1.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/README.md +110 -31
- package/android/build.gradle +15 -10
- package/android/gradle.properties +6 -5
- package/android/src/main/java/com/mesmart/Packages.kt +4 -2
- package/android/src/main/java/com/mesmart/Utils.kt +107 -0
- package/android/src/main/java/com/pax/PaxImpl.kt +71 -40
- package/android/src/main/java/com/pax/PaxModule.kt +52 -29
- package/android/src/main/java/com/paystore/PaystoreImpl.kt +53 -0
- package/android/src/main/java/com/paystore/PaystoreModule.kt +24 -28
- package/android/src/main/java/com/paystore/utils/CredentialsUtils.kt +6 -4
- package/android/src/main/java/com/plugpag/PlugpagImpl.kt +66 -45
- package/android/src/main/java/com/plugpag/PlugpagModule.kt +49 -39
- package/android/src/main/java/com/plugpag/utils/PlugpagUtils.kt +23 -24
- package/android/src/main/java/com/stone/StoneImpl.kt +270 -0
- package/android/src/main/java/com/stone/StoneModule.kt +121 -0
- package/android/src/main/java/com/stone/utils/StoneUtils.kt +282 -0
- package/android/src/main/java/com/stone/utils/TransactionObjectMapper.kt +200 -0
- package/android/src/main/java/com/sunmi/SunmiImpl.kt +36 -12
- package/android/src/main/java/com/sunmi/SunmiModule.kt +49 -36
- package/android/src/main/java/com/sunmi/helpers/SunmiPrintHelper.kt +13 -17
- package/android/src/main/java/com/sunmi/helpers/SunmiRfidHelper.kt +8 -8
- package/android/src/main/java/com/{mesmart → sunmi}/utils/ESCUtil.kt +1 -1
- package/lib/commonjs/@types/{index.js → index.d.js} +16 -5
- package/lib/commonjs/@types/index.d.js.map +1 -0
- package/lib/commonjs/@types/pax.d.js +2 -0
- package/lib/commonjs/@types/{pax.js.map → pax.d.js.map} +1 -1
- package/lib/commonjs/@types/paystore.d.js +2 -0
- package/lib/commonjs/@types/{paystore.js.map → paystore.d.js.map} +1 -1
- package/lib/commonjs/@types/plugpag.d.js +36 -0
- package/lib/commonjs/@types/plugpag.d.js.map +1 -0
- package/lib/commonjs/@types/stone.d.js +6 -0
- package/lib/commonjs/@types/{sunmi.js.map → stone.d.js.map} +1 -1
- package/lib/commonjs/@types/sunmi.d.js +2 -0
- package/lib/{module/@types/pax.js.map → commonjs/@types/sunmi.d.js.map} +1 -1
- package/lib/commonjs/index.js +39 -60
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/pax.js +25 -0
- package/lib/commonjs/pax.js.map +1 -0
- package/lib/commonjs/paystore.js +21 -0
- package/lib/commonjs/paystore.js.map +1 -0
- package/lib/commonjs/sunmi.js +28 -0
- package/lib/commonjs/sunmi.js.map +1 -0
- package/lib/module/@types/{index.js → index.d.js} +4 -2
- package/lib/module/@types/index.d.js.map +1 -0
- package/lib/module/@types/pax.d.js +2 -0
- package/lib/module/@types/{sunmi.js.map → pax.d.js.map} +1 -1
- package/lib/module/@types/paystore.d.js +2 -0
- package/lib/module/@types/paystore.d.js.map +1 -0
- package/lib/module/@types/plugpag.d.js +30 -0
- package/lib/module/@types/{plugpag.js.map → plugpag.d.js.map} +1 -1
- package/lib/module/@types/stone.d.js +2 -0
- package/lib/module/@types/stone.d.js.map +1 -0
- package/lib/module/@types/sunmi.d.js +2 -0
- package/lib/module/@types/sunmi.d.js.map +1 -0
- package/lib/module/index.js +39 -47
- package/lib/module/index.js.map +1 -1
- package/lib/module/pax.js +18 -0
- package/lib/module/pax.js.map +1 -0
- package/lib/module/paystore.js +14 -0
- package/lib/module/paystore.js.map +1 -0
- package/lib/module/sunmi.js +21 -0
- package/lib/module/sunmi.js.map +1 -0
- package/lib/typescript/src/index.d.ts +37 -24
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/pax.d.ts +2 -0
- package/lib/typescript/src/pax.d.ts.map +1 -0
- package/lib/typescript/src/paystore.d.ts +3 -0
- package/lib/typescript/src/paystore.d.ts.map +1 -0
- package/lib/typescript/src/sunmi.d.ts +2 -0
- package/lib/typescript/src/sunmi.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/@types/index.d.ts +29 -0
- package/src/@types/pax.d.ts +8 -0
- package/src/@types/{paystore.ts → paystore.d.ts} +4 -2
- package/src/@types/{plugpag.ts → plugpag.d.ts} +16 -23
- package/src/@types/stone.d.ts +310 -0
- package/src/@types/sunmi.d.ts +13 -0
- package/src/index.ts +41 -107
- package/src/pax.ts +28 -0
- package/src/paystore.ts +32 -0
- package/src/sunmi.ts +29 -0
- package/android/src/main/java/com/mesmart/utils/Utils.kt +0 -65
- package/lib/commonjs/@types/index.js.map +0 -1
- package/lib/commonjs/@types/pax.js +0 -2
- package/lib/commonjs/@types/paystore.js +0 -2
- package/lib/commonjs/@types/plugpag.js +0 -36
- package/lib/commonjs/@types/plugpag.js.map +0 -1
- package/lib/commonjs/@types/sunmi.js +0 -2
- package/lib/module/@types/index.js.map +0 -1
- package/lib/module/@types/pax.js +0 -2
- package/lib/module/@types/paystore.js +0 -2
- package/lib/module/@types/paystore.js.map +0 -1
- package/lib/module/@types/plugpag.js +0 -30
- package/lib/module/@types/sunmi.js +0 -2
- package/lib/typescript/src/@types/index.d.ts +0 -5
- package/lib/typescript/src/@types/index.d.ts.map +0 -1
- package/lib/typescript/src/@types/pax.d.ts +0 -7
- package/lib/typescript/src/@types/pax.d.ts.map +0 -1
- package/lib/typescript/src/@types/paystore.d.ts +0 -34
- package/lib/typescript/src/@types/paystore.d.ts.map +0 -1
- package/lib/typescript/src/@types/plugpag.d.ts +0 -47
- package/lib/typescript/src/@types/plugpag.d.ts.map +0 -1
- package/lib/typescript/src/@types/sunmi.d.ts +0 -9
- package/lib/typescript/src/@types/sunmi.d.ts.map +0 -1
- package/src/@types/index.ts +0 -4
- package/src/@types/pax.ts +0 -6
- package/src/@types/sunmi.ts +0 -13
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
package com.stone
|
|
2
|
+
|
|
3
|
+
import br.com.stone.posandroid.providers.PosPrintReceiptProvider
|
|
4
|
+
import br.com.stone.posandroid.providers.PosTransactionProvider
|
|
5
|
+
import com.facebook.react.bridge.Arguments
|
|
6
|
+
import com.facebook.react.bridge.Promise
|
|
7
|
+
import com.facebook.react.bridge.ReactApplicationContext
|
|
8
|
+
import com.facebook.react.bridge.ReactContext
|
|
9
|
+
import com.facebook.react.bridge.WritableMap
|
|
10
|
+
import com.facebook.react.modules.core.DeviceEventManagerModule
|
|
11
|
+
import com.mesmart.Utils
|
|
12
|
+
import com.stone.utils.StoneUtils
|
|
13
|
+
import com.stone.utils.TransactionObjectMapper
|
|
14
|
+
import stone.application.StoneStart
|
|
15
|
+
import stone.application.enums.Action
|
|
16
|
+
import stone.application.enums.InstalmentTransactionEnum
|
|
17
|
+
import stone.application.enums.ReceiptType
|
|
18
|
+
import stone.application.interfaces.StoneActionCallback
|
|
19
|
+
import stone.application.interfaces.StoneCallbackInterface
|
|
20
|
+
import stone.database.transaction.TransactionObject
|
|
21
|
+
import stone.providers.BaseTransactionProvider
|
|
22
|
+
import stone.providers.CancellationProvider
|
|
23
|
+
import stone.providers.CaptureTransactionProvider
|
|
24
|
+
import stone.utils.Stone
|
|
25
|
+
import stone.utils.keys.StoneKeyType
|
|
26
|
+
|
|
27
|
+
class StoneImpl(
|
|
28
|
+
private val reactContext: ReactApplicationContext
|
|
29
|
+
) {
|
|
30
|
+
private var transaction: TransactionObject? = null
|
|
31
|
+
private var paymentProvider: BaseTransactionProvider? = null
|
|
32
|
+
var stoneCode = ""
|
|
33
|
+
var isActivated = false
|
|
34
|
+
|
|
35
|
+
private fun sendEvent(
|
|
36
|
+
reactContext: ReactContext,
|
|
37
|
+
params: WritableMap?
|
|
38
|
+
) {
|
|
39
|
+
reactContext
|
|
40
|
+
.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java)
|
|
41
|
+
.emit("onStoneEventData", params)
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
private fun checkStone() {
|
|
45
|
+
if (!isActivated)
|
|
46
|
+
throw Exception("Stone não foi ativado.")
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
fun activate(providerId: String, authorization: String, appName: String) {
|
|
50
|
+
if (isActivated)
|
|
51
|
+
throw Exception("Stone já foi ativado.")
|
|
52
|
+
|
|
53
|
+
val userList = StoneStart.init(reactContext, mapOf(
|
|
54
|
+
StoneKeyType.QRCODE_PROVIDERID to providerId,
|
|
55
|
+
StoneKeyType.QRCODE_AUTHORIZATION to authorization,
|
|
56
|
+
))
|
|
57
|
+
Stone.setAppName(appName)
|
|
58
|
+
|
|
59
|
+
val userWithStoneCode = userList?.find { it.stoneCode.isNotEmpty() }
|
|
60
|
+
if (userList != null && userWithStoneCode != null)
|
|
61
|
+
stoneCode = userWithStoneCode.stoneCode
|
|
62
|
+
|
|
63
|
+
isActivated = true
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
fun pay(value: String, paymentMethod: String, isCapture: Boolean, promise: Promise) {
|
|
67
|
+
checkStone()
|
|
68
|
+
|
|
69
|
+
transaction = TransactionObject()
|
|
70
|
+
transaction!!.amount = value
|
|
71
|
+
transaction!!.instalmentTransaction = InstalmentTransactionEnum.getAt(0)
|
|
72
|
+
transaction!!.typeOfTransaction = StoneUtils.resolveTransactionType(paymentMethod)
|
|
73
|
+
transaction!!.isCapture = isCapture
|
|
74
|
+
|
|
75
|
+
paymentProvider = PosTransactionProvider(
|
|
76
|
+
reactContext,
|
|
77
|
+
transaction,
|
|
78
|
+
Stone.getUserModel(0)
|
|
79
|
+
)
|
|
80
|
+
paymentProvider?.useDefaultUI(true)
|
|
81
|
+
paymentProvider?.setConnectionCallback(object: StoneActionCallback {
|
|
82
|
+
override fun onSuccess() {
|
|
83
|
+
sendEvent(
|
|
84
|
+
reactContext,
|
|
85
|
+
Arguments.createMap().apply {
|
|
86
|
+
putString("type", "onSuccess")
|
|
87
|
+
putString("status", StoneUtils.resolveTransactionStatus(paymentProvider?.transactionStatus))
|
|
88
|
+
putString("statusEnum", paymentProvider?.transactionStatus?.name.orEmpty())
|
|
89
|
+
putString("authorizationCode", paymentProvider?.authorizationCode.orEmpty())
|
|
90
|
+
putString("action", StoneUtils.resolveActionCode(transaction?.actionCode))
|
|
91
|
+
putString("actionCode", transaction?.actionCode.orEmpty())
|
|
92
|
+
putString("messageFromAuthorize", paymentProvider?.messageFromAuthorize.orEmpty())
|
|
93
|
+
}
|
|
94
|
+
)
|
|
95
|
+
|
|
96
|
+
transaction?.let {
|
|
97
|
+
promise.resolve(
|
|
98
|
+
TransactionObjectMapper.toWritableMap(it)
|
|
99
|
+
)
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
paymentProvider = null
|
|
103
|
+
transaction = null
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
override fun onError() {
|
|
107
|
+
sendEvent(
|
|
108
|
+
reactContext,
|
|
109
|
+
Arguments.createMap().apply {
|
|
110
|
+
putString("type", "onError")
|
|
111
|
+
putString("status", StoneUtils.resolveTransactionStatus(paymentProvider?.transactionStatus))
|
|
112
|
+
putString("statusEnum", paymentProvider?.transactionStatus?.name.orEmpty())
|
|
113
|
+
putString("messageFromAuthorize", paymentProvider?.messageFromAuthorize.orEmpty())
|
|
114
|
+
putString("action", StoneUtils.resolveActionCode(transaction?.actionCode))
|
|
115
|
+
putString("actionCode", transaction?.actionCode.orEmpty())
|
|
116
|
+
putArray("listOfErrors",
|
|
117
|
+
StoneUtils.convertErrorsEnumToReadableArray(
|
|
118
|
+
paymentProvider?.listOfErrors,
|
|
119
|
+
true
|
|
120
|
+
)
|
|
121
|
+
)
|
|
122
|
+
putArray("listOfErrorsEnum",
|
|
123
|
+
StoneUtils.convertErrorsEnumToReadableArray(
|
|
124
|
+
paymentProvider?.listOfErrors,
|
|
125
|
+
false)
|
|
126
|
+
)
|
|
127
|
+
}
|
|
128
|
+
)
|
|
129
|
+
|
|
130
|
+
transaction?.let {
|
|
131
|
+
promise.resolve(
|
|
132
|
+
TransactionObjectMapper.toWritableMap(it)
|
|
133
|
+
)
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
paymentProvider = null
|
|
137
|
+
transaction = null
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
override fun onStatusChanged(action: Action?) {
|
|
141
|
+
sendEvent(
|
|
142
|
+
reactContext,
|
|
143
|
+
Arguments.createMap().apply {
|
|
144
|
+
putString("type", "onStatusChanged")
|
|
145
|
+
putString("action", StoneUtils.resolveTransactionAction(action))
|
|
146
|
+
putString("actionEnum", action?.name.orEmpty())
|
|
147
|
+
if (action == Action.TRANSACTION_WAITING_QRCODE_SCAN)
|
|
148
|
+
putString("qrCode", Utils.bitmapToBase64(transaction?.qrCode))
|
|
149
|
+
}
|
|
150
|
+
)
|
|
151
|
+
}
|
|
152
|
+
})
|
|
153
|
+
paymentProvider?.execute()
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
fun abortPayment() {
|
|
157
|
+
checkStone()
|
|
158
|
+
paymentProvider?.abortPayment()
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
fun printVia(transaction: TransactionObject, type: ReceiptType, promise: Promise) {
|
|
162
|
+
checkStone()
|
|
163
|
+
|
|
164
|
+
val provider = PosPrintReceiptProvider(
|
|
165
|
+
reactContext,
|
|
166
|
+
transaction,
|
|
167
|
+
type
|
|
168
|
+
)
|
|
169
|
+
provider.connectionCallback = object: StoneCallbackInterface {
|
|
170
|
+
override fun onSuccess() {
|
|
171
|
+
promise.resolve(null)
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
override fun onError() {
|
|
175
|
+
promise.reject(
|
|
176
|
+
"listOfErrors: ${
|
|
177
|
+
StoneUtils.convertErrorsEnumToReadableArray(provider.listOfErrors, true)
|
|
178
|
+
}\n" +
|
|
179
|
+
"listOfErrorsEnums: ${provider.listOfErrors}"
|
|
180
|
+
)
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
provider.execute()
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
fun captureTransaction(transaction: TransactionObject, promise: Promise) {
|
|
187
|
+
checkStone()
|
|
188
|
+
|
|
189
|
+
val provider = CaptureTransactionProvider(reactContext, transaction)
|
|
190
|
+
provider.connectionCallback = object: StoneCallbackInterface {
|
|
191
|
+
override fun onSuccess() {
|
|
192
|
+
promise.resolve(
|
|
193
|
+
Arguments.createMap().apply {
|
|
194
|
+
putString("responseCode", provider.responseCodeEnum.name)
|
|
195
|
+
putString("messageFromAuthorize", provider.messageFromAuthorize.orEmpty())
|
|
196
|
+
putMap("transaction",
|
|
197
|
+
TransactionObjectMapper.toWritableMap(
|
|
198
|
+
provider.transactionObject
|
|
199
|
+
)
|
|
200
|
+
)
|
|
201
|
+
}
|
|
202
|
+
)
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
override fun onError() {
|
|
206
|
+
promise.reject(
|
|
207
|
+
"Falha ao tentar capturar transação.\n" +
|
|
208
|
+
"responseCode: ${
|
|
209
|
+
try {
|
|
210
|
+
provider.responseCodeEnum
|
|
211
|
+
} catch (e: Exception) {
|
|
212
|
+
null
|
|
213
|
+
}
|
|
214
|
+
}\n" +
|
|
215
|
+
"messageFromAuthorize: ${provider.messageFromAuthorize}\n" +
|
|
216
|
+
"listOfErrors: ${
|
|
217
|
+
StoneUtils.convertErrorsEnumToReadableArray(provider.listOfErrors, true)
|
|
218
|
+
}\n" +
|
|
219
|
+
"listOfErrorsEnum: ${provider.listOfErrors}"
|
|
220
|
+
)
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
provider.execute()
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
fun cancelTransaction(transaction: TransactionObject, promise: Promise) {
|
|
227
|
+
checkStone()
|
|
228
|
+
|
|
229
|
+
val provider = CancellationProvider(reactContext, transaction)
|
|
230
|
+
provider.connectionCallback = object: StoneCallbackInterface {
|
|
231
|
+
override fun onSuccess() {
|
|
232
|
+
promise.resolve(
|
|
233
|
+
Arguments.createMap().apply {
|
|
234
|
+
putString("action", StoneUtils.resolveActionCode(provider.Cancellation().actionCode))
|
|
235
|
+
putString("actionCode", provider.Cancellation().actionCode.orEmpty())
|
|
236
|
+
putString("responseCode", provider.responseCodeEnum.name)
|
|
237
|
+
putString("messageFromAuthorize", provider.messageFromAuthorize.orEmpty())
|
|
238
|
+
putMap(
|
|
239
|
+
"transaction",
|
|
240
|
+
TransactionObjectMapper.toWritableMap(
|
|
241
|
+
transaction
|
|
242
|
+
)
|
|
243
|
+
)
|
|
244
|
+
}
|
|
245
|
+
)
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
override fun onError() {
|
|
249
|
+
promise.reject(
|
|
250
|
+
"Falha ao tentar cancelar transação.\n" +
|
|
251
|
+
"action: ${StoneUtils.resolveActionCode(provider.Cancellation().actionCode)}\n" +
|
|
252
|
+
"actionCode: ${provider.Cancellation().actionCode}\n" +
|
|
253
|
+
"responseCode: ${
|
|
254
|
+
try {
|
|
255
|
+
provider.responseCodeEnum
|
|
256
|
+
} catch (e: Exception) {
|
|
257
|
+
null
|
|
258
|
+
}
|
|
259
|
+
}\n" +
|
|
260
|
+
"messageFromAuthorize: ${provider.messageFromAuthorize}\n" +
|
|
261
|
+
"listOfErrors: ${
|
|
262
|
+
StoneUtils.convertErrorsEnumToReadableArray(provider.listOfErrors, true)
|
|
263
|
+
}\n" +
|
|
264
|
+
"listOfErrorsEnum: ${provider.listOfErrors}"
|
|
265
|
+
)
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
provider.execute()
|
|
269
|
+
}
|
|
270
|
+
}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
package com.stone
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.bridge.Promise
|
|
4
|
+
import com.facebook.react.bridge.ReactApplicationContext
|
|
5
|
+
import com.facebook.react.bridge.ReactContextBaseJavaModule
|
|
6
|
+
import com.facebook.react.bridge.ReactMethod
|
|
7
|
+
import com.facebook.react.bridge.ReadableMap
|
|
8
|
+
import com.stone.utils.TransactionObjectMapper
|
|
9
|
+
import stone.application.enums.ReceiptType
|
|
10
|
+
|
|
11
|
+
class StoneModule(
|
|
12
|
+
reactContext: ReactApplicationContext
|
|
13
|
+
) : ReactContextBaseJavaModule(reactContext) {
|
|
14
|
+
private var stone: StoneImpl = StoneImpl(reactContext)
|
|
15
|
+
|
|
16
|
+
override fun getName(): String {
|
|
17
|
+
return "Stone"
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
@ReactMethod
|
|
21
|
+
fun init(keys: ReadableMap, appName: String, promise: Promise) {
|
|
22
|
+
try {
|
|
23
|
+
val providerId = keys.getString("providerId").orEmpty()
|
|
24
|
+
val authorization = keys.getString("authorization").orEmpty()
|
|
25
|
+
|
|
26
|
+
if (providerId.isEmpty())
|
|
27
|
+
throw Exception("providerId não pode ser vazio!")
|
|
28
|
+
if (authorization.isEmpty())
|
|
29
|
+
throw Exception("authorization não pode ser vazio!")
|
|
30
|
+
if (appName.isEmpty())
|
|
31
|
+
throw Exception("appName não pode ser vazio!")
|
|
32
|
+
|
|
33
|
+
stone.activate(providerId, authorization, appName)
|
|
34
|
+
promise.resolve(null)
|
|
35
|
+
} catch (e: Exception) {
|
|
36
|
+
e.printStackTrace()
|
|
37
|
+
promise.reject(e)
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
@ReactMethod
|
|
42
|
+
fun isActivated(promise: Promise) {
|
|
43
|
+
try {
|
|
44
|
+
promise.resolve(stone.isActivated)
|
|
45
|
+
} catch (e: Exception) {
|
|
46
|
+
e.printStackTrace()
|
|
47
|
+
promise.reject(e)
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
@ReactMethod
|
|
52
|
+
fun getStoneCode(promise: Promise) {
|
|
53
|
+
try {
|
|
54
|
+
promise.resolve(stone.stoneCode)
|
|
55
|
+
} catch (e: Exception) {
|
|
56
|
+
e.printStackTrace()
|
|
57
|
+
promise.reject(e)
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
@ReactMethod
|
|
62
|
+
fun pay(value: String, paymentMethod: String, isCapture: Boolean, promise: Promise) {
|
|
63
|
+
try {
|
|
64
|
+
stone.pay(value, paymentMethod, isCapture, promise)
|
|
65
|
+
} catch (e: Exception) {
|
|
66
|
+
e.printStackTrace()
|
|
67
|
+
promise.reject(e)
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
@ReactMethod
|
|
72
|
+
fun abortPayment(promise: Promise) {
|
|
73
|
+
try {
|
|
74
|
+
stone.abortPayment()
|
|
75
|
+
promise.resolve(null)
|
|
76
|
+
} catch (e: Exception) {
|
|
77
|
+
e.printStackTrace()
|
|
78
|
+
promise.reject(e)
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
@ReactMethod
|
|
83
|
+
fun printVia(data: ReadableMap, type: String, promise: Promise) {
|
|
84
|
+
try {
|
|
85
|
+
stone.printVia(
|
|
86
|
+
TransactionObjectMapper.fromReadableMap(data),
|
|
87
|
+
ReceiptType.valueOf(type.uppercase()),
|
|
88
|
+
promise
|
|
89
|
+
)
|
|
90
|
+
} catch (e: Exception) {
|
|
91
|
+
e.printStackTrace()
|
|
92
|
+
promise.reject(e)
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
@ReactMethod
|
|
97
|
+
fun captureTransaction(data: ReadableMap, promise: Promise) {
|
|
98
|
+
try {
|
|
99
|
+
stone.captureTransaction(
|
|
100
|
+
TransactionObjectMapper.fromReadableMap(data),
|
|
101
|
+
promise
|
|
102
|
+
)
|
|
103
|
+
} catch (e: Exception) {
|
|
104
|
+
e.printStackTrace()
|
|
105
|
+
promise.reject(e)
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
@ReactMethod
|
|
110
|
+
fun cancelTransaction(data: ReadableMap, promise: Promise) {
|
|
111
|
+
try {
|
|
112
|
+
stone.cancelTransaction(
|
|
113
|
+
TransactionObjectMapper.fromReadableMap(data),
|
|
114
|
+
promise
|
|
115
|
+
)
|
|
116
|
+
} catch (e: Exception) {
|
|
117
|
+
e.printStackTrace()
|
|
118
|
+
promise.reject(e)
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
package com.stone.utils
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.bridge.ReadableArray
|
|
4
|
+
import com.facebook.react.bridge.WritableNativeArray
|
|
5
|
+
import stone.application.enums.Action
|
|
6
|
+
import stone.application.enums.ErrorsEnum
|
|
7
|
+
import stone.application.enums.TransactionStatusEnum
|
|
8
|
+
import stone.application.enums.TypeOfTransactionEnum
|
|
9
|
+
|
|
10
|
+
object StoneUtils {
|
|
11
|
+
fun resolveTransactionType(str: String): TypeOfTransactionEnum? {
|
|
12
|
+
return when(str) {
|
|
13
|
+
"debitCard" -> TypeOfTransactionEnum.DEBIT
|
|
14
|
+
"creditCard" -> TypeOfTransactionEnum.CREDIT
|
|
15
|
+
"voucher" -> TypeOfTransactionEnum.VOUCHER
|
|
16
|
+
"pix" -> TypeOfTransactionEnum.PIX
|
|
17
|
+
else -> null
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
fun resolveTransactionStatus(transactionStatus: TransactionStatusEnum?): String {
|
|
22
|
+
return when (transactionStatus) {
|
|
23
|
+
TransactionStatusEnum.UNKNOWN -> "Ocorreu um erro antes de ser enviada para o autorizador"
|
|
24
|
+
TransactionStatusEnum.APPROVED -> "Transação aprovada com sucesso"
|
|
25
|
+
TransactionStatusEnum.DECLINED -> "Transação negada"
|
|
26
|
+
TransactionStatusEnum.DECLINED_BY_CARD -> "Transação negada pelo cartão"
|
|
27
|
+
TransactionStatusEnum.CANCELLED -> "Transação cancelada"
|
|
28
|
+
TransactionStatusEnum.REJECTED -> "Transação rejeitada"
|
|
29
|
+
TransactionStatusEnum.WITH_ERROR -> "Transação não completada com sucesso"
|
|
30
|
+
TransactionStatusEnum.PENDING_REVERSAL -> "Transação foi interrompida por algum motivo"
|
|
31
|
+
TransactionStatusEnum.PENDING -> "O provider de transação está em andamento"
|
|
32
|
+
TransactionStatusEnum.REVERSED -> "A transação foi cancelada automaticamente devido à algum erro ou interrupção no fluxo de pagamento"
|
|
33
|
+
null -> ""
|
|
34
|
+
else -> ""
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
fun resolveTransactionAction(action: Action?): String {
|
|
39
|
+
return when (action) {
|
|
40
|
+
Action.TRANSACTION_WAITING_CARD -> "Aproxime ou insira o cartão de pagamento"
|
|
41
|
+
Action.TRANSACTION_WAITING_SWIPE_CARD -> ""
|
|
42
|
+
Action.TRANSACTION_WAITING_QRCODE_SCAN -> "Aguardando pagamento do QRCode"
|
|
43
|
+
Action.TRANSACTION_WAITING_PASSWORD -> "Informe a senha do seu cartão"
|
|
44
|
+
Action.TRANSACTION_SENDING -> "Aguardando resposta da operadora"
|
|
45
|
+
Action.TRANSACTION_REMOVE_CARD -> "Por favor, remova o seu cartão"
|
|
46
|
+
Action.REVERSING_TRANSACTION_WITH_ERROR -> ""
|
|
47
|
+
Action.TRANSACTION_CARD_REMOVED -> "Cartão removido"
|
|
48
|
+
Action.TRANSACTION_TYPE_SELECTION -> ""
|
|
49
|
+
Action.TRANSACTION_REQUIRES_CARDHOLDER_TO_CHECK_DEVICE -> ""
|
|
50
|
+
Action.SWITCH_INTERFACE -> ""
|
|
51
|
+
null -> ""
|
|
52
|
+
else -> ""
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
fun convertErrorsEnumToReadableArray(errors: List<ErrorsEnum>?, convertErrorToString: Boolean): ReadableArray {
|
|
57
|
+
val writableArray = WritableNativeArray()
|
|
58
|
+
errors?.forEach { error ->
|
|
59
|
+
writableArray.pushString(
|
|
60
|
+
if (convertErrorToString)
|
|
61
|
+
resolveTransactionErrors(error)
|
|
62
|
+
else error.name
|
|
63
|
+
)
|
|
64
|
+
}
|
|
65
|
+
return writableArray
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
fun resolveActionCode(actionCode: String?): String {
|
|
69
|
+
return when (actionCode) {
|
|
70
|
+
"1000" -> "Não aprovado"
|
|
71
|
+
"1001" -> "Cartão vencido"
|
|
72
|
+
"1002" -> "Suspeita de fraude"
|
|
73
|
+
"1003" -> "Estabelecimento entrar em contato com adquirente"
|
|
74
|
+
"1004" -> "Cartão com restrição"
|
|
75
|
+
"1005" -> "Estabelecimento entrar em contato com departamento de segurança do adquirente"
|
|
76
|
+
"1006" -> "Tentativas de senha excedidas"
|
|
77
|
+
"1007" -> "Consultar o emissor"
|
|
78
|
+
"1008" -> "Consultar as condições especiais do emissor"
|
|
79
|
+
"1009" -> "Estabelecimento inválido"
|
|
80
|
+
"1010" -> "Valor inválido"
|
|
81
|
+
"1011" -> "Cartão inválido"
|
|
82
|
+
"1012" -> "Senha necessária"
|
|
83
|
+
"1014" -> "Nenhuma conta do tipo selecionado"
|
|
84
|
+
"1015" -> "Função selecionada não suportada"
|
|
85
|
+
"1016" -> "Saldo insuficiente"
|
|
86
|
+
"1017" -> "Senha inválida"
|
|
87
|
+
"1019" -> "Transação não permitida para o portador"
|
|
88
|
+
"1020" -> "Transação não permitida para o terminal"
|
|
89
|
+
"1021" -> "Limite de valor para saque excedido"
|
|
90
|
+
"1022" -> "Violação de segurança"
|
|
91
|
+
"1023" -> "Limite de quantidade de saques excedido"
|
|
92
|
+
"1024" -> "Violação da lei"
|
|
93
|
+
"1025" -> "Cartão bloqueado"
|
|
94
|
+
"1026" -> "Dados de senha inválidos"
|
|
95
|
+
"1027" -> "Erro no tamanho da senha"
|
|
96
|
+
"1028" -> "Erro de sincronia de chave de senha"
|
|
97
|
+
"1029" -> "Suspeita de cartão falso"
|
|
98
|
+
"1030" -> "Moeda inaceitável para o emissor"
|
|
99
|
+
"1032" -> "Cartão perdido ou roubado"
|
|
100
|
+
"1035" -> "Conta encerrada"
|
|
101
|
+
"1036" -> "Conta poupança encerrada ou bloqueada para encerramento"
|
|
102
|
+
"1037" -> "Conta de crédito encerrada ou bloqueada para encerramento"
|
|
103
|
+
"1039" -> "Conta corrente encerrada ou bloqueada para encerramento"
|
|
104
|
+
"1041" -> "Status ruim para conta de origem"
|
|
105
|
+
"1042" -> "Status ruim para conta de destino"
|
|
106
|
+
"1045" -> "Código de segurança inválido"
|
|
107
|
+
"1047" -> "Troca de senha necessária"
|
|
108
|
+
"1048" -> "Nova senha inválida"
|
|
109
|
+
"1057" -> "Data de pagamento inválida"
|
|
110
|
+
"1060" -> "Transação não completou normalmente no terminal"
|
|
111
|
+
"1061" -> "Transação não suportada pelo emissor"
|
|
112
|
+
"1062" -> "Saque fácil não disponível"
|
|
113
|
+
"1063" -> "Limite de saque fácil excedido"
|
|
114
|
+
"1064" -> "Negado offline pelo terminal"
|
|
115
|
+
"1065" -> "Negado, não foi possível processar offline"
|
|
116
|
+
"2000" -> "Não aprovado"
|
|
117
|
+
"2001" -> "Cartão vencido"
|
|
118
|
+
"2002" -> "Suspeita de fraude"
|
|
119
|
+
"2003" -> "Estabelecimento entrar em contato com emissor"
|
|
120
|
+
"2004" -> "Cartão com restrição"
|
|
121
|
+
"2005" -> "Estabelecimento entrar em contato com departamento de segurança do adquirente"
|
|
122
|
+
"2006" -> "Tentativas de senha excedidas"
|
|
123
|
+
"2007" -> "Condições especiais"
|
|
124
|
+
"2008" -> "Cartão perdido"
|
|
125
|
+
"2009" -> "Cartão roubado"
|
|
126
|
+
"2010" -> "Suspeita de cartão falso"
|
|
127
|
+
"2011" -> "Limite de quantidade de saques excedido"
|
|
128
|
+
"2012" -> "Limite de valor para saque excedido"
|
|
129
|
+
"9100" -> "Erro no formato da mensagem"
|
|
130
|
+
"9102" -> "Transação inválida"
|
|
131
|
+
"9103" -> "Tente novamente"
|
|
132
|
+
"9105" -> "Adquirente não suportado pelo switch"
|
|
133
|
+
"9107" -> "Emissor fora de operação"
|
|
134
|
+
"9108" -> "Não foi possível enviar a transação para o destinatário"
|
|
135
|
+
"9109" -> "Erro no sistema"
|
|
136
|
+
"9110" -> "Emissor se desconectou"
|
|
137
|
+
"9111" -> "Emissor não respondeu em tempo"
|
|
138
|
+
"9112" -> "Emissor indisponível"
|
|
139
|
+
"9113" -> "Transmissão duplicada"
|
|
140
|
+
"9114" -> "Não foi possível encontrar a transação original"
|
|
141
|
+
"9116" -> "MAC incorreto"
|
|
142
|
+
"9117" -> "Erro de sincronização de chave de MAC"
|
|
143
|
+
"9118" -> "Nenhuma chave de comunicação disponível"
|
|
144
|
+
"9119" -> "Erro de sincronização de chave de encriptação"
|
|
145
|
+
"9120" -> "Erro de segurança de software/hardware, tente novamente"
|
|
146
|
+
"9121" -> "Erro de segurança de software/hardware"
|
|
147
|
+
"9122" -> "Número da mensagem fora de sequência"
|
|
148
|
+
"9123" -> "Requisição em progresso"
|
|
149
|
+
"9124" -> "Código de segurança inválido"
|
|
150
|
+
"9125" -> "Erro no banco de dados"
|
|
151
|
+
"9132" -> "Erro nos dados de recorrência"
|
|
152
|
+
"9133" -> "Atualização não permitida"
|
|
153
|
+
"9350" -> "Violação de acordo comercial"
|
|
154
|
+
"9999" -> "Erro não especificado"
|
|
155
|
+
"UNPR" -> "Não Foi possível processar – Não foi possível processar a mensagem. Tente novamente."
|
|
156
|
+
"IMSG" -> "Mensagem Invalida – A mensagem enviada possui um formato inválido."
|
|
157
|
+
"PARS" -> "Erro na leitura da mensagem – Algum campo obrigatório não está sendo enviado"
|
|
158
|
+
"SECU" -> "Segurança – Algum erro no processo de segurança. A chave de criptografia pode não estar presente no terminal."
|
|
159
|
+
"INTP" -> "SAK Invalido – O SAK enviado não foi reconhecido"
|
|
160
|
+
"RCPP" -> "Destinatário Invalido – O local para onde a mensagem foi enviada está inválida"
|
|
161
|
+
"DPMG" -> "Mensagem Duplicada – Esta mensagem já foi recebida pela Stone."
|
|
162
|
+
"VERS" -> "Protocolo – A versão do protocolo enviada não é suportada."
|
|
163
|
+
"MSGT" -> "Tipo da Mensagem – o Message Type enviado não é reconhecido."
|
|
164
|
+
else -> "Código de ação desconhecido"
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
private fun resolveTransactionErrors(error: ErrorsEnum?): String {
|
|
169
|
+
return when (error) {
|
|
170
|
+
ErrorsEnum.CARD_BLOCKED -> "Cartão bloqueado"
|
|
171
|
+
ErrorsEnum.CONNECTION_NOT_FOUND -> "Sem conexão com a internet, ligue a internet."
|
|
172
|
+
ErrorsEnum.DEVICE_NOT_COMPATIBLE -> "Dispositivo incompatível ou dependência não encontrada"
|
|
173
|
+
ErrorsEnum.UNEXPECTED_STATUS_COMMAND -> "Status inesperado do comando"
|
|
174
|
+
ErrorsEnum.GENERIC_ERROR -> "Erro genérico"
|
|
175
|
+
ErrorsEnum.IO_ERROR_WITH_PINPAD -> "Erro de comunicação com o pinpad"
|
|
176
|
+
ErrorsEnum.PINPAD_CONNECTION_NOT_FOUND -> "Conexão com o pinpad não encontrada"
|
|
177
|
+
ErrorsEnum.TABLES_NOT_FOUND -> ""
|
|
178
|
+
ErrorsEnum.NEED_LOAD_TABLES -> ""
|
|
179
|
+
ErrorsEnum.TIME_OUT -> "Tempo de operação esgotado"
|
|
180
|
+
ErrorsEnum.OPERATION_CANCELLED_BY_USER -> "Operação cancelada"
|
|
181
|
+
ErrorsEnum.CARD_REMOVED_BY_USER -> "Cartão removido"
|
|
182
|
+
ErrorsEnum.CANT_READ_CARD_HOLDER_INFORMATION -> "Não foi possível ler as informações do portador do cartão"
|
|
183
|
+
ErrorsEnum.INVALID_TRANSACTION -> "Transação inválida"
|
|
184
|
+
ErrorsEnum.PASS_TARGE_WITH_CHIP -> "Passe a tarja do cartão com chip"
|
|
185
|
+
ErrorsEnum.NULL_RESPONSE -> "Resposta nula recebida"
|
|
186
|
+
ErrorsEnum.ERROR_RESPONSE_COMMAND -> "Erro na resposta do comando"
|
|
187
|
+
ErrorsEnum.ACCEPTOR_REJECTION -> "Transação rejeitada pelo credenciador"
|
|
188
|
+
ErrorsEnum.EMAIL_MESSAGE_ERROR -> "Erro ao enviar mensagem de e-mail"
|
|
189
|
+
ErrorsEnum.INVALID_EMAIL_CLIENT -> "Cliente de e-mail inválido"
|
|
190
|
+
ErrorsEnum.EMAIL_EMPTY -> "E-mail vazio"
|
|
191
|
+
ErrorsEnum.EMAIL_RECIPIENT_EMPTY -> "Destinatário do e-mail vazio"
|
|
192
|
+
ErrorsEnum.INVALID_STONE_CODE_OR_UNKNOWN -> "Stone Code inválido ou desconhecido"
|
|
193
|
+
ErrorsEnum.TRANSACTION_NOT_FOUND -> "Transação não encontrada"
|
|
194
|
+
ErrorsEnum.INVALID_TRANSACTION_STATUS -> "Status de transação inválido"
|
|
195
|
+
ErrorsEnum.INVALID_STONECODE -> "Stone Code inválido"
|
|
196
|
+
ErrorsEnum.USERMODEL_NOT_FOUND -> "Modelo de usuário não encontrado"
|
|
197
|
+
ErrorsEnum.NO_PRINT_SUPPORT -> "Impressão não suportada"
|
|
198
|
+
ErrorsEnum.CANT_READ_CHIP_CARD -> "Não foi possível ler o cartão com chip"
|
|
199
|
+
ErrorsEnum.PINPAD_WITHOUT_KEY -> "Pinpad sem chave"
|
|
200
|
+
ErrorsEnum.PINPAD_WITHOUT_STONE_KEY -> "Pinpad sem chave Stone"
|
|
201
|
+
ErrorsEnum.PINPAD_ALREADY_CONNECTED -> "Pinpad já conectado"
|
|
202
|
+
ErrorsEnum.CONNECTIVITY_ERROR -> "Erro de conectividade"
|
|
203
|
+
ErrorsEnum.SWIPE_INCORRECT -> "Leitura incorreta, tente novamente"
|
|
204
|
+
ErrorsEnum.TOO_MANY_CARDS -> "Muitos cartões detectados"
|
|
205
|
+
ErrorsEnum.UNKNOWN_ERROR -> "Erro desconhecido"
|
|
206
|
+
ErrorsEnum.INTERNAL_ERROR -> "Erro interno"
|
|
207
|
+
ErrorsEnum.EMV_GENERIC_ERROR -> "Erro genérico de EMV"
|
|
208
|
+
ErrorsEnum.SWITCH_INTERFACE -> "Ocorreu um erro na leitura. Tente novamente inserindo o cartão"
|
|
209
|
+
ErrorsEnum.EMV_FAILED_CARD_CONN_ERROR -> "Falha ao comunicar com o cartão"
|
|
210
|
+
ErrorsEnum.EMV_NO_APP_ERROR -> "Método de pagamento não encontrado no cartão"
|
|
211
|
+
ErrorsEnum.EMV_INITIALIZATION_ERROR -> "Erro ao iniciar o fluxo de pagamento"
|
|
212
|
+
ErrorsEnum.EMV_CAPK_ERROR -> "Erro na configuração da chave pública"
|
|
213
|
+
ErrorsEnum.EMV_TLV_ERROR -> "Erro no formato dos dados de configuração"
|
|
214
|
+
ErrorsEnum.EMV_NO_CAPK_ERROR -> "Chave pública não presente"
|
|
215
|
+
ErrorsEnum.EMV_AID_ERROR -> "Erro ao configurar a aplicação de crédito/débito"
|
|
216
|
+
ErrorsEnum.PRINTER_GENERIC_ERROR -> "Erro genérico de impressão"
|
|
217
|
+
ErrorsEnum.PRINTER_BUSY_ERROR -> "Impressora ocupada"
|
|
218
|
+
ErrorsEnum.PRINTER_INIT_ERROR -> "Erro na inicialização da impressora"
|
|
219
|
+
ErrorsEnum.PRINTER_LOW_ENERGY_ERROR -> "Baixa energia na impressora"
|
|
220
|
+
ErrorsEnum.PRINTER_OUT_OF_PAPER_ERROR -> "Impressora sem papel"
|
|
221
|
+
ErrorsEnum.PRINTER_UNSUPPORTED_FORMAT_ERROR -> "Formato não suportado pela impressora"
|
|
222
|
+
ErrorsEnum.PRINTER_INVALID_DATA_ERROR -> "Dados inválidos para impressão"
|
|
223
|
+
ErrorsEnum.PRINTER_OVERHEATING_ERROR -> "Impressora superaquecida"
|
|
224
|
+
ErrorsEnum.PED_PASS_GENERIC_ERROR -> "Erro genérico na criptografia do PIN"
|
|
225
|
+
ErrorsEnum.PED_PASS_KEY_ERROR -> "Erro na chave de criptografia"
|
|
226
|
+
ErrorsEnum.PED_PASS_USER_CANCELED_ERROR -> "Operação cancelada pelo usuário"
|
|
227
|
+
ErrorsEnum.PED_PASS_NO_PIN_INPUT_ERROR -> "Nenhum PIN digitado"
|
|
228
|
+
ErrorsEnum.PED_PASS_TIMEOUT_ERROR -> "Tempo esgotado para entrada de PIN"
|
|
229
|
+
ErrorsEnum.PED_PASS_INIT_ERROR -> "Erro na inicialização do processo de criptografia do PIN"
|
|
230
|
+
ErrorsEnum.PED_PASS_CRYPT_ERROR -> "Erro de criptografia do PIN"
|
|
231
|
+
ErrorsEnum.PED_PASS_NO_KEY_FOUND_ERROR -> "Chave de criptografia não encontrada"
|
|
232
|
+
ErrorsEnum.TRANS_GENERIC_ERROR -> "Erro genérico de transação"
|
|
233
|
+
ErrorsEnum.TRANS_APP_BLOCKED_ERROR -> "Aplicação bloqueada"
|
|
234
|
+
ErrorsEnum.TRANS_SELECT_TYPE_USER_CANCELED_ERROR -> "Tipo de transação cancelado pelo usuário"
|
|
235
|
+
ErrorsEnum.TRANS_INVALID_AMOUNT_ERROR -> "Valor inválido para a transação"
|
|
236
|
+
ErrorsEnum.TRANS_PASS_MAG_BUT_IS_ICC_ERROR -> "Passe a tarja, mas é ICC"
|
|
237
|
+
ErrorsEnum.TRANS_NO_TRANS_TYPE_ERROR -> "Tipo de transação não especificado"
|
|
238
|
+
ErrorsEnum.TRANS_WRONG_TRANS_TYPE_ERROR -> "Tipo de transação incorreto"
|
|
239
|
+
ErrorsEnum.TRANS_APP_INVALID_ERROR -> "Aplicação inválida para o fluxo"
|
|
240
|
+
ErrorsEnum.TRANS_CVV_NOT_PROVIDED_ERROR -> "CVV não fornecido, mas é obrigatório"
|
|
241
|
+
ErrorsEnum.TRANS_CVV_INVALID_ERROR -> "CVV inválido"
|
|
242
|
+
ErrorsEnum.TRANS_APP_INVALID_INDEX_ERROR -> "Erro de índice de aplicação inválido"
|
|
243
|
+
ErrorsEnum.TRANS_ONLINE_PROCESS_ERROR_ERROR -> "Erro ao processar dados online"
|
|
244
|
+
ErrorsEnum.CARD_GENERIC_ERROR -> "Erro genérico do cartão"
|
|
245
|
+
ErrorsEnum.CARD_READ_ERROR -> "Erro na leitura do cartão"
|
|
246
|
+
ErrorsEnum.CARD_READ_TIMEOUT_ERROR -> "Nenhum cartão encontrado, operação cancelada"
|
|
247
|
+
ErrorsEnum.CARD_READ_CANCELED_ERROR -> "Leitura do cartão cancelada"
|
|
248
|
+
ErrorsEnum.CARD_UNSUPPORTED_ERROR -> "Cartão não suportado"
|
|
249
|
+
ErrorsEnum.CARD_READ_MULTI_ERROR -> "Múltiplos cartões detectados"
|
|
250
|
+
ErrorsEnum.TRANSACTION_FALLBACK_STARTED -> "Fallback de transação iniciado"
|
|
251
|
+
ErrorsEnum.TRANSACTION_FALLBACK_TIMEOUT -> "Tempo esgotado para fallback de transação"
|
|
252
|
+
ErrorsEnum.TRANSACTION_FALLBACK_INVALID_CARD_MODE -> "Modo de cartão inválido para fallback"
|
|
253
|
+
ErrorsEnum.NO_ACTIVE_APPLICATION -> "Nenhuma aplicação ativa disponível"
|
|
254
|
+
ErrorsEnum.MULTI_INSTANCES_OF_PROVIDER_RUNNING -> "Múltiplas instâncias do provedor em execução"
|
|
255
|
+
ErrorsEnum.UNKNOWN_TYPE_OF_USER -> "Tipo de usuário desconhecido"
|
|
256
|
+
ErrorsEnum.TRANSACTION_OBJECT_NULL_ERROR -> "Objeto de transação nulo"
|
|
257
|
+
ErrorsEnum.INVALID_AMOUNT -> "Valor inválido"
|
|
258
|
+
ErrorsEnum.APPNAME_NOT_SET -> "Nome do aplicativo não definido"
|
|
259
|
+
ErrorsEnum.SDK_VERSION_OUTDATED -> "Versão do SDK desatualizada"
|
|
260
|
+
ErrorsEnum.PINPAD_CLOSED_CONNECTION -> "Conexão com o pinpad fechada"
|
|
261
|
+
ErrorsEnum.NOT_STONE_POS_OR_POS_MISCONFIGURED -> "POS não é da Stone ou está mal configurado"
|
|
262
|
+
ErrorsEnum.COULD_NOT_ACTIVATE_ALL_STONE_CODES -> "Não foi possível ativar todos os Stone Codes"
|
|
263
|
+
ErrorsEnum.COULD_NOT_ACTIVATE_WITH_ACCEPTOR_CONFIGURATION_UPDATE_DATA_NULL -> "Não foi possível ativar com dados de atualização de configuração nulos"
|
|
264
|
+
ErrorsEnum.NO_MIFARE_SUPPORT -> "Suporte a MIFARE não disponível"
|
|
265
|
+
ErrorsEnum.MIFARE_ABORTED -> "Operação MIFARE abortada"
|
|
266
|
+
ErrorsEnum.MIFARE_DETECT_TIMEOUT -> "Tempo esgotado para detectar MIFARE"
|
|
267
|
+
ErrorsEnum.MIFARE_WRONG_CARD_TYPE -> "Tipo de cartão MIFARE incorreto"
|
|
268
|
+
ErrorsEnum.MIFARE_INVALID_KEY -> "Chave MIFARE inválida"
|
|
269
|
+
ErrorsEnum.MIFARE_NOT_AUTHENTICATED -> "MIFARE não autenticado"
|
|
270
|
+
ErrorsEnum.MIFARE_INVALID_SECTOR_NUMBER -> "Número de setor MIFARE inválido"
|
|
271
|
+
ErrorsEnum.MIFARE_INVALID_BLOCK_NUMBER -> "Número de bloco MIFARE inválido"
|
|
272
|
+
ErrorsEnum.MIFARE_INVALID_BLOCK_FORMAT -> "Formato de bloco MIFARE inválido"
|
|
273
|
+
ErrorsEnum.MIFARE_MULTI_CARD_DETECTED -> "Múltiplos cartões MIFARE detectados"
|
|
274
|
+
ErrorsEnum.DATA_CONTAINER_CONSTRAINT_ERROR -> "Erro de restrição do contêiner de dados"
|
|
275
|
+
ErrorsEnum.DATA_CONTAINER_INTEGRATION_ERROR -> "Erro de integração do contêiner de dados"
|
|
276
|
+
ErrorsEnum.QRCODE_NOT_GENERATED -> "Houve algum erro ao gerar o QRCode"
|
|
277
|
+
ErrorsEnum.QRCODE_EXPIRED -> "O QRcode expirou"
|
|
278
|
+
null -> "null"
|
|
279
|
+
else -> "Erro desconhecido"
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
}
|