@connexup/react-native-square-mobile-payment-sdk 0.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 (161) hide show
  1. package/LICENSE +20 -0
  2. package/NativeSquareMobilePaymentSDK.podspec +23 -0
  3. package/README.md +66 -0
  4. package/android/build.gradle +81 -0
  5. package/android/gradle.properties +5 -0
  6. package/android/src/main/AndroidManifest.xml +2 -0
  7. package/android/src/main/java/com/connexup/square/mobilepayment/DateFormatUtils.java +29 -0
  8. package/android/src/main/java/com/connexup/square/mobilepayment/ErrorUtilities.kt +56 -0
  9. package/android/src/main/java/com/connexup/square/mobilepayment/MobilePaymentAuthorization.kt +185 -0
  10. package/android/src/main/java/com/connexup/square/mobilepayment/MobilePaymentException.kt +8 -0
  11. package/android/src/main/java/com/connexup/square/mobilepayment/MobilePaymentPayment.kt +542 -0
  12. package/android/src/main/java/com/connexup/square/mobilepayment/MobilePaymentReader.kt +344 -0
  13. package/android/src/main/java/com/connexup/square/mobilepayment/MobilePaymentSDK.kt +47 -0
  14. package/android/src/main/java/com/connexup/square/mobilepayment/MobilePaymentSDKPackage.kt +77 -0
  15. package/android/src/main/java/com/connexup/square/mobilepayment/MobilePaymentSetting.kt +144 -0
  16. package/android/src/main/java/com/connexup/square/mobilepayment/convert/AdditionalPaymentMethodConvert.kt +46 -0
  17. package/android/src/main/java/com/connexup/square/mobilepayment/convert/AuthorizationStateConvert.kt +26 -0
  18. package/android/src/main/java/com/connexup/square/mobilepayment/convert/CardConvert.kt +53 -0
  19. package/android/src/main/java/com/connexup/square/mobilepayment/convert/CardDetailsConvert.kt +74 -0
  20. package/android/src/main/java/com/connexup/square/mobilepayment/convert/CardEntryMethodConvert.kt +31 -0
  21. package/android/src/main/java/com/connexup/square/mobilepayment/convert/CashPaymentDetailsConvert.kt +18 -0
  22. package/android/src/main/java/com/connexup/square/mobilepayment/convert/CurrencyCodeConvert.kt +204 -0
  23. package/android/src/main/java/com/connexup/square/mobilepayment/convert/DelayActionConvert.kt +33 -0
  24. package/android/src/main/java/com/connexup/square/mobilepayment/convert/DeniedReasonConvert.kt +28 -0
  25. package/android/src/main/java/com/connexup/square/mobilepayment/convert/DigitalWalletDetailsConvert.kt +18 -0
  26. package/android/src/main/java/com/connexup/square/mobilepayment/convert/ErrorDetailsConvert.kt +32 -0
  27. package/android/src/main/java/com/connexup/square/mobilepayment/convert/ExternalPaymentDetailsConvert.kt +25 -0
  28. package/android/src/main/java/com/connexup/square/mobilepayment/convert/LocationConvert.kt +31 -0
  29. package/android/src/main/java/com/connexup/square/mobilepayment/convert/MoneyConvert.kt +31 -0
  30. package/android/src/main/java/com/connexup/square/mobilepayment/convert/OfflineStatusConvert.kt +21 -0
  31. package/android/src/main/java/com/connexup/square/mobilepayment/convert/PaymentConvert.kt +93 -0
  32. package/android/src/main/java/com/connexup/square/mobilepayment/convert/PaymentProcessingFeeConvert.kt +39 -0
  33. package/android/src/main/java/com/connexup/square/mobilepayment/convert/PaymentSettingsConvert.kt +26 -0
  34. package/android/src/main/java/com/connexup/square/mobilepayment/convert/ProcessingModeConvert.kt +28 -0
  35. package/android/src/main/java/com/connexup/square/mobilepayment/convert/ReaderBatteryStatusConvert.kt +19 -0
  36. package/android/src/main/java/com/connexup/square/mobilepayment/convert/ReaderChangeEventConvert.kt +75 -0
  37. package/android/src/main/java/com/connexup/square/mobilepayment/convert/ReaderConnectionTypeConvert.kt +17 -0
  38. package/android/src/main/java/com/connexup/square/mobilepayment/convert/ReaderInfoConvert.kt +51 -0
  39. package/android/src/main/java/com/connexup/square/mobilepayment/convert/ReaderModalConvert.kt +18 -0
  40. package/android/src/main/java/com/connexup/square/mobilepayment/convert/ReaderStateConvert.kt +51 -0
  41. package/android/src/main/java/com/connexup/square/mobilepayment/convert/ReaderStatusConvert.kt +51 -0
  42. package/android/src/main/java/com/connexup/square/mobilepayment/convert/SdkSettingsConvert.kt +30 -0
  43. package/android/src/main/java/com/connexup/square/mobilepayment/convert/SquareAccountDetailsConvert.kt +20 -0
  44. package/android/src/main/java/com/connexup/square/mobilepayment/convert/TrackingConsentStateConvert.kt +17 -0
  45. package/android/src/main/java/com/connexup/square/mobilepayment/convert/WalletBrandConvert.kt +41 -0
  46. package/ios/Converters/AdditionalPaymentMethod+Extension.swift +17 -0
  47. package/ios/Converters/AdditionalPaymentMethodType+Extension.swift +44 -0
  48. package/ios/Converters/AuthorizationState+Extension.swift +22 -0
  49. package/ios/Converters/BatteryLevel+Extension.swift +27 -0
  50. package/ios/Converters/Card+Extension.swift +33 -0
  51. package/ios/Converters/CardBrand+Extension.swift +47 -0
  52. package/ios/Converters/CardCoBrand+Extension.swift +24 -0
  53. package/ios/Converters/CardEntryMethod+Extension.swift +30 -0
  54. package/ios/Converters/CardInputMethods+Extension.swift +35 -0
  55. package/ios/Converters/CardInsertionStatus+Extension.swift +24 -0
  56. package/ios/Converters/CardPaymentDetails+Extensions.swift +31 -0
  57. package/ios/Converters/CardPaymentStatus+Extension.swift +28 -0
  58. package/ios/Converters/Currency+Extension.swift +50 -0
  59. package/ios/Converters/Location+Extension.swift +19 -0
  60. package/ios/Converters/MoneyAmount+Extension.swift +30 -0
  61. package/ios/Converters/Payment+Extension.swift +44 -0
  62. package/ios/Converters/PaymentSettings+Extension.swift +19 -0
  63. package/ios/Converters/PaymentStatus+Extension.swift +53 -0
  64. package/ios/Converters/ProcessingMode+Extension.swift +37 -0
  65. package/ios/Converters/ReaderBatteryStatus+Extension.swift +19 -0
  66. package/ios/Converters/ReaderChange+Extension.swift +41 -0
  67. package/ios/Converters/ReaderConnectionFailureInfo+Extension.swift +20 -0
  68. package/ios/Converters/ReaderConnectionFailureReason+Extension.swift +40 -0
  69. package/ios/Converters/ReaderConnectionFailureRecoverySuggestion+Extension.swift +30 -0
  70. package/ios/Converters/ReaderConnectionInfo+Extension.swift +18 -0
  71. package/ios/Converters/ReaderConnectionStatus+Extension.swift +26 -0
  72. package/ios/Converters/ReaderFirmwareInfo+Extension.swift +19 -0
  73. package/ios/Converters/ReaderInfo+Extension.swift +30 -0
  74. package/ios/Converters/ReaderModel+Extension.swift +28 -0
  75. package/ios/Converters/ReaderState+Extension.swift +30 -0
  76. package/ios/Converters/ReaderStatus+Extension.swift +60 -0
  77. package/ios/Converters/ReaderStatusInfo+Extension.swift +22 -0
  78. package/ios/Converters/SDKSettings+Extension.swift +25 -0
  79. package/ios/Converters/SourceType+Extension.swift +32 -0
  80. package/ios/Converters/TrackingConsentState+Extension.swift +25 -0
  81. package/ios/ErrorUtilities.swift +41 -0
  82. package/ios/MobilePaymentAuthorization.swift +154 -0
  83. package/ios/MobilePaymentDateFormatter.swift +15 -0
  84. package/ios/MobilePaymentPayment.swift +478 -0
  85. package/ios/MobilePaymentReader.swift +248 -0
  86. package/ios/MobilePaymentSDK.swift +36 -0
  87. package/ios/MobilePaymentSetting.swift +86 -0
  88. package/ios/MockReaderUIManage.swift +52 -0
  89. package/ios/Models/NativeErrorInfo.swift +22 -0
  90. package/ios/Models/RCTPaymentMoneyParameter.swift +20 -0
  91. package/ios/Models/RCTPaymentParameters.swift +50 -0
  92. package/ios/Models/RCTPromptParameters.swift +20 -0
  93. package/ios/NotificationKeys.swift +9 -0
  94. package/ios/NotificationUtils.swift +21 -0
  95. package/ios/RCTMobilePaymentAuthorization.h +12 -0
  96. package/ios/RCTMobilePaymentAuthorization.mm +78 -0
  97. package/ios/RCTMobilePaymentPayment.h +12 -0
  98. package/ios/RCTMobilePaymentPayment.mm +116 -0
  99. package/ios/RCTMobilePaymentReader.h +12 -0
  100. package/ios/RCTMobilePaymentReader.mm +114 -0
  101. package/ios/RCTMobilePaymentSetting.h +10 -0
  102. package/ios/RCTMobilePaymentSetting.mm +94 -0
  103. package/ios/UIColor+Extension.swift +81 -0
  104. package/lib/module/authorization/NativeMobilePaymentAuthorization.js +60 -0
  105. package/lib/module/authorization/NativeMobilePaymentAuthorization.js.map +1 -0
  106. package/lib/module/authorization/index.js +44 -0
  107. package/lib/module/authorization/index.js.map +1 -0
  108. package/lib/module/index.js +7 -0
  109. package/lib/module/index.js.map +1 -0
  110. package/lib/module/package.json +1 -0
  111. package/lib/module/payment/NativeMobilePaymentPayment.js +138 -0
  112. package/lib/module/payment/NativeMobilePaymentPayment.js.map +1 -0
  113. package/lib/module/payment/index.js +113 -0
  114. package/lib/module/payment/index.js.map +1 -0
  115. package/lib/module/reader/NativeMobilePaymentReader.js +151 -0
  116. package/lib/module/reader/NativeMobilePaymentReader.js.map +1 -0
  117. package/lib/module/reader/index.js +109 -0
  118. package/lib/module/reader/index.js.map +1 -0
  119. package/lib/module/setting/NativeMobilePaymentSetting.js +5 -0
  120. package/lib/module/setting/NativeMobilePaymentSetting.js.map +1 -0
  121. package/lib/module/setting/index.js +74 -0
  122. package/lib/module/setting/index.js.map +1 -0
  123. package/lib/module/type.js +27 -0
  124. package/lib/module/type.js.map +1 -0
  125. package/lib/module/util.js +32 -0
  126. package/lib/module/util.js.map +1 -0
  127. package/lib/typescript/package.json +1 -0
  128. package/lib/typescript/src/authorization/NativeMobilePaymentAuthorization.d.ts +82 -0
  129. package/lib/typescript/src/authorization/NativeMobilePaymentAuthorization.d.ts.map +1 -0
  130. package/lib/typescript/src/authorization/index.d.ts +14 -0
  131. package/lib/typescript/src/authorization/index.d.ts.map +1 -0
  132. package/lib/typescript/src/index.d.ts +5 -0
  133. package/lib/typescript/src/index.d.ts.map +1 -0
  134. package/lib/typescript/src/payment/NativeMobilePaymentPayment.d.ts +725 -0
  135. package/lib/typescript/src/payment/NativeMobilePaymentPayment.d.ts.map +1 -0
  136. package/lib/typescript/src/payment/index.d.ts +13 -0
  137. package/lib/typescript/src/payment/index.d.ts.map +1 -0
  138. package/lib/typescript/src/reader/NativeMobilePaymentReader.d.ts +318 -0
  139. package/lib/typescript/src/reader/NativeMobilePaymentReader.d.ts.map +1 -0
  140. package/lib/typescript/src/reader/index.d.ts +19 -0
  141. package/lib/typescript/src/reader/index.d.ts.map +1 -0
  142. package/lib/typescript/src/setting/NativeMobilePaymentSetting.d.ts +49 -0
  143. package/lib/typescript/src/setting/NativeMobilePaymentSetting.d.ts.map +1 -0
  144. package/lib/typescript/src/setting/index.d.ts +17 -0
  145. package/lib/typescript/src/setting/index.d.ts.map +1 -0
  146. package/lib/typescript/src/type.d.ts +23 -0
  147. package/lib/typescript/src/type.d.ts.map +1 -0
  148. package/lib/typescript/src/util.d.ts +3 -0
  149. package/lib/typescript/src/util.d.ts.map +1 -0
  150. package/package.json +178 -0
  151. package/src/authorization/NativeMobilePaymentAuthorization.ts +297 -0
  152. package/src/authorization/index.ts +60 -0
  153. package/src/index.ts +4 -0
  154. package/src/payment/NativeMobilePaymentPayment.ts +1220 -0
  155. package/src/payment/index.ts +161 -0
  156. package/src/reader/NativeMobilePaymentReader.ts +463 -0
  157. package/src/reader/index.ts +140 -0
  158. package/src/setting/NativeMobilePaymentSetting.ts +254 -0
  159. package/src/setting/index.ts +91 -0
  160. package/src/type.ts +35 -0
  161. package/src/util.ts +31 -0
@@ -0,0 +1,22 @@
1
+ //
2
+ // AuthorizationStateExtension.swift
3
+ //
4
+ // Created by chancetio on 2023/9/12.
5
+ //
6
+ import Foundation
7
+ import SquareMobilePaymentsSDK
8
+
9
+ extension AuthorizationState {
10
+ var jsonValue: String {
11
+ switch self {
12
+ case .notAuthorized:
13
+ return "NOT_AUTHORIZED"
14
+ case .authorizing:
15
+ return "AUTHORIZING"
16
+ case .authorized:
17
+ return "AUTHORIZED"
18
+ @unknown default:
19
+ return "UNKNOWN"
20
+ }
21
+ }
22
+ }
@@ -0,0 +1,27 @@
1
+ //
2
+ // BatteryLevel+Extension.swift
3
+ //
4
+ // Created by chancetio on 2023/9/12.
5
+ //
6
+
7
+ import Foundation
8
+ import SquareMobilePaymentsSDK
9
+
10
+ extension ReaderBatteryLevel {
11
+ var jsonValue: String {
12
+ switch self {
13
+ case .criticallyLow:
14
+ return "CRITICALLY_LOW"
15
+ case .low:
16
+ return "LOW"
17
+ case .mid:
18
+ return "MID"
19
+ case .high:
20
+ return "HIGH"
21
+ case .full:
22
+ return "FULL"
23
+ @unknown default:
24
+ return "UNKNOWN"
25
+ }
26
+ }
27
+ }
@@ -0,0 +1,33 @@
1
+ //
2
+ // Card+Extension.swift
3
+ //
4
+ // Created by chancetio on 2023/9/13.
5
+ //
6
+
7
+ import Foundation
8
+ import SquareMobilePaymentsSDK
9
+
10
+ extension Card {
11
+ var jsonDictionary: [String: Any] {
12
+ var result: [String: Any] = [:]
13
+ result["id"] = self.id
14
+ result["cardBrand"] = self.cardBrand.jsonValue
15
+ result["coBrand"] = self.coBrand.jsonValue
16
+ result["last4"] = self.last4
17
+ result["expMonth"] = self.expMonth
18
+ result["expYear"] = self.expYear
19
+ result["cardholderName"] = self.cardholderName
20
+ return result
21
+ }
22
+ }
23
+
24
+ extension OfflineCard {
25
+ var jsonDictionary: [String: Any] {
26
+ var result: [String: Any] = [:]
27
+ result["id"] = self.id
28
+ result["cardBrand"] = self.cardBrand.jsonValue
29
+ result["last4"] = self.last4
30
+ result["cardholderName"] = self.cardholderName
31
+ return result
32
+ }
33
+ }
@@ -0,0 +1,47 @@
1
+ //
2
+ // CardBrand+Extension.swift
3
+ //
4
+ // Created by chancetio on 2023/9/13.
5
+ //
6
+
7
+ import Foundation
8
+ import SquareMobilePaymentsSDK
9
+
10
+ extension CardBrand {
11
+ var jsonValue: String {
12
+ switch self {
13
+ case .unknown:
14
+ return "UNKNOWN"
15
+ case .visa:
16
+ return "VISA"
17
+ case .mastercard:
18
+ return "MASTERCARD"
19
+ case .americanExpress:
20
+ return "AMERICAN_EXPRESS"
21
+ case .discover:
22
+ return "DISCOVER"
23
+ case .discoverDiners:
24
+ return "DISCOVER_DINERS"
25
+ case .jcb:
26
+ return "JCB"
27
+ case .chinaUnionPay:
28
+ return "CHINA_UNION_PAY"
29
+ case .squareGiftCard:
30
+ return "SQUARE_GIFT_CARD"
31
+ case .squareCapitalCard:
32
+ return "SQUARE_CAPITAL_CARD"
33
+ case .interac:
34
+ return "INTERAC"
35
+ case .eftpos:
36
+ return "EFTPOS"
37
+ case .felica:
38
+ return "FELICA"
39
+ case .ebt:
40
+ return "EBT"
41
+ case .otherBrand:
42
+ return "OTHER_BRAND"
43
+ @unknown default:
44
+ return "UNKNOWN"
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,24 @@
1
+ //
2
+ // CardCoBrand+Extension.swift
3
+
4
+ //
5
+ // Created by chancetio on 2023/9/13.
6
+ //
7
+
8
+ import Foundation
9
+ import SquareMobilePaymentsSDK
10
+
11
+ extension CardCoBrand {
12
+ var jsonValue: String {
13
+ switch self {
14
+ case .unknown:
15
+ return "UNKNOWN"
16
+ case .afterpay:
17
+ return "AFTERPAY"
18
+ case .none:
19
+ return "NONE"
20
+ @unknown default:
21
+ return "UNKNOWN"
22
+ }
23
+ }
24
+ }
@@ -0,0 +1,30 @@
1
+ //
2
+ // CardEntryMethod+Extension.swift
3
+
4
+ //
5
+ // Created by chancetio on 2023/9/13.
6
+ //
7
+
8
+ import Foundation
9
+ import SquareMobilePaymentsSDK
10
+
11
+ extension CardEntryMethod {
12
+ var jsonValue: String {
13
+ switch self {
14
+ case .swiped:
15
+ return "SWIPED"
16
+ case .keyed:
17
+ return "KEYED"
18
+ case .emv:
19
+ return "EMV"
20
+ case .onFile:
21
+ return "ON_FILE"
22
+ case .contactless:
23
+ return "CONTACTLESS"
24
+ case .unknown:
25
+ return "UNKNOWN"
26
+ @unknown default:
27
+ return "UNKNOWN"
28
+ }
29
+ }
30
+ }
@@ -0,0 +1,35 @@
1
+ //
2
+ // CardInputMethods+Extension.swift
3
+
4
+ //
5
+ // Created by chancetio on 2023/9/12.
6
+ //
7
+
8
+ import Foundation
9
+ import SquareMobilePaymentsSDK
10
+
11
+ extension CardInputMethods {
12
+ var jsonValue: [String] {
13
+ if self == CardInputMethods([.swipe, .chip, .contactless]) {
14
+ return ["SWIPE", "CHIP", "CONTACTLESS"]
15
+ }
16
+
17
+ if self == CardInputMethods([.swipe, .chip]) {
18
+ return ["SWIPE", "CHIP"]
19
+ }
20
+
21
+ if self == CardInputMethods([.chip, .contactless]) {
22
+ return ["CHIP", "CONTACTLESS"]
23
+ }
24
+
25
+ if self == CardInputMethods([.swipe]) {
26
+ return ["SWIPE"]
27
+ }
28
+
29
+ if self == CardInputMethods([.chip]) {
30
+ return ["CHIP"]
31
+ }
32
+
33
+ return []
34
+ }
35
+ }
@@ -0,0 +1,24 @@
1
+ //
2
+ // CardInsertionStatus+Extension.swift
3
+
4
+ //
5
+ // Created by chancetio on 2023/9/12.
6
+ //
7
+
8
+ import Foundation
9
+ import SquareMobilePaymentsSDK
10
+
11
+ extension CardInsertionStatus {
12
+ var jsonValue: String {
13
+ switch self {
14
+ case .inserted:
15
+ return "INSERTED"
16
+ case .notInserted:
17
+ return "NOT_INSERTED"
18
+ case .unknown:
19
+ return "UNKNOWN"
20
+ @unknown default:
21
+ return "UNKNOWN"
22
+ }
23
+ }
24
+ }
@@ -0,0 +1,31 @@
1
+ //
2
+ // CardPaymentDetails+Extensions.swift
3
+
4
+ //
5
+ // Created by chancetio on 2023/9/13.
6
+ //
7
+
8
+ import Foundation
9
+ import SquareMobilePaymentsSDK
10
+
11
+ extension CardPaymentDetails {
12
+ var jsonDictionary: [String: Any] {
13
+ var result: [String: Any] = [:]
14
+ result["status"] = self.status.jsonValue
15
+ result["card"] = self.card?.jsonDictionary
16
+ result["entryMethod"] = self.entryMethod.jsonValue
17
+ result["applicationIdentifier"] = self.applicationIdentifier
18
+ result["applicationName"] = self.applicationName
19
+ result["authResultCode"] = self.authResultCode
20
+ return result
21
+ }
22
+ }
23
+
24
+ extension OfflineCardPaymentDetails {
25
+ var jsonDictionary: [String: Any] {
26
+ var result: [String: Any] = [:]
27
+ result["card"] = self.card?.jsonDictionary
28
+ result["isOfflineCard"] = true
29
+ return result
30
+ }
31
+ }
@@ -0,0 +1,28 @@
1
+ //
2
+ // CardPaymentStatus+Extension.swift
3
+
4
+ //
5
+ // Created by chancetio on 2023/9/13.
6
+ //
7
+
8
+ import Foundation
9
+ import SquareMobilePaymentsSDK
10
+
11
+ extension CardPaymentStatus {
12
+ var jsonValue: String {
13
+ switch self {
14
+ case .unknown:
15
+ return "UNKNOWN"
16
+ case .authorized:
17
+ return "AUTHORIZED"
18
+ case .captured:
19
+ return "CAPTURED"
20
+ case .voided:
21
+ return "VOIDED"
22
+ case .failed:
23
+ return "FAILED"
24
+ @unknown default:
25
+ return "UNKNOWN"
26
+ }
27
+ }
28
+ }
@@ -0,0 +1,50 @@
1
+ //
2
+ // CurrencyExtension.swift
3
+
4
+ //
5
+ // Created by chancetio on 2023/9/12.
6
+ //
7
+ import Foundation
8
+ import SquareMobilePaymentsSDK
9
+
10
+ extension Currency {
11
+ var jsonValue: String {
12
+ switch self {
13
+ case .AUD:
14
+ return "AUD"
15
+ case .CAD:
16
+ return "CAD"
17
+ case .EUR:
18
+ return "EUR"
19
+ case .GBP:
20
+ return "GBP"
21
+ case .JPY:
22
+ return "JPY"
23
+ case .USD:
24
+ return "USD"
25
+ case .unknown:
26
+ return "UNKNOWN"
27
+ @unknown default:
28
+ return "UNKNOWN"
29
+ }
30
+ }
31
+
32
+ static func make(from code: String?) -> Currency? {
33
+ switch code {
34
+ case "AUD":
35
+ return Currency.AUD
36
+ case "CAD":
37
+ return Currency.CAD
38
+ case "EUR":
39
+ return Currency.EUR
40
+ case "GBP":
41
+ return Currency.GBP
42
+ case "JPY":
43
+ return Currency.JPY
44
+ case "USD":
45
+ return Currency.USD
46
+ default:
47
+ return nil
48
+ }
49
+ }
50
+ }
@@ -0,0 +1,19 @@
1
+ //
2
+ // LocationExtension.swift
3
+
4
+ //
5
+ // Created by chancetio on 2023/9/11.
6
+ //
7
+ import Foundation
8
+ import SquareMobilePaymentsSDK
9
+
10
+ extension Location {
11
+ var jsonDictionary: [String: Any] {
12
+ var result: [String: Any] = [:]
13
+ result["id"] = self.id
14
+ result["name"] = self.name
15
+ result["mcc"] = self.mcc
16
+ result["currency"] = self.currency.jsonValue
17
+ return result
18
+ }
19
+ }
@@ -0,0 +1,30 @@
1
+ //
2
+ // MoneyAmount+Extension.swift
3
+
4
+ //
5
+ // Created by chancetio on 2023/9/13.
6
+ //
7
+
8
+ import Foundation
9
+ import SquareMobilePaymentsSDK
10
+
11
+ extension MoneyAmount {
12
+ var jsonDictionary: [String: Any] {
13
+ var result: [String: Any] = [:]
14
+ result["amount"] = self.amount
15
+ result["currency"] = self.currency.jsonValue
16
+ return result
17
+ }
18
+
19
+ static func make(from parameters: RCTPaymentMoneyParameter?) -> MoneyAmount? {
20
+ guard let parameters = parameters else {
21
+ return nil
22
+ }
23
+
24
+ guard let currency = Currency.make(from: parameters.currency) else {
25
+ return nil
26
+ }
27
+
28
+ return Money(amount: UInt(parameters.amount), currency: currency)
29
+ }
30
+ }
@@ -0,0 +1,44 @@
1
+ //
2
+ // Payment+Extension.swift
3
+
4
+ //
5
+ // Created by chancetio on 2023/9/13.
6
+ //
7
+
8
+ import Foundation
9
+ import SquareMobilePaymentsSDK
10
+
11
+ extension Payment {
12
+ var jsonDictionary: [String: Any] {
13
+ var result: [String: Any] = [:]
14
+ result["id"] = self.id
15
+ result["createdAt"] = MobilePaymentDateFormatter.iso8601String(from: self.createdAt)
16
+ result["updatedAt"] = MobilePaymentDateFormatter.iso8601String(from: self.updatedAt)
17
+ result["amountMoney"] = self.amountMoney.jsonDictionary
18
+ result["tipMoney"] = self.tipMoney?.jsonDictionary
19
+ result["appFeeMoney"] = self.appFeeMoney?.jsonDictionary
20
+ result["totalMoney"] = self.totalMoney.jsonDictionary
21
+ result["locationID"] = self.locationID
22
+ result["orderID"] = self.orderID
23
+ result["referenceID"] = self.referenceID
24
+ result["sourceType"] = self.sourceType.jsonValue
25
+
26
+ if let onlinePayment = self as? OnlinePayment {
27
+ result["processingType"] = "ONLINE"
28
+ result["customerID"] = onlinePayment.customerID
29
+ result["note"] = onlinePayment.note
30
+ result["status"] = onlinePayment.status.jsonValue
31
+ result["cardDetails"] = onlinePayment.cardDetails?.jsonDictionary
32
+ } else if let offlinePayment = self as? OfflinePayment {
33
+ result["processingType"] = "OFFLINE"
34
+ result["localId"] = offlinePayment.localID
35
+ result["offlineStatus"] = offlinePayment.status.jsonValue
36
+ result["cardDetails"] = offlinePayment.cardDetails?.jsonDictionary
37
+ if let uploadedAt = offlinePayment.uploadedAt {
38
+ result["uploadedAt"] = MobilePaymentDateFormatter.iso8601String(from: uploadedAt)
39
+ }
40
+ }
41
+
42
+ return result
43
+ }
44
+ }
@@ -0,0 +1,19 @@
1
+ //
2
+ // Paym.swift
3
+
4
+ //
5
+ // Created by chancetio on 2024/6/18.
6
+ //
7
+
8
+ import Foundation
9
+ import SquareMobilePaymentsSDK
10
+
11
+ extension PaymentSettings {
12
+ var jsonDictionary: [String: Any] {
13
+ var result: [String: Any] = [:]
14
+ result["isOfflineProcessingAllowed"] = self.isOfflineProcessingAllowed
15
+ result["offlineTransactionAmountLimit"] = self.offlineTransactionAmountLimit?.jsonDictionary
16
+ result["offlineTotalStoredAmountLimit"] = self.offlineTotalStoredAmountLimit?.jsonDictionary
17
+ return result
18
+ }
19
+ }
@@ -0,0 +1,53 @@
1
+ //
2
+ // PaymentStatus+Extension.swift
3
+
4
+ //
5
+ // Created by chancetio on 2023/9/13.
6
+ //
7
+
8
+ import Foundation
9
+ import SquareMobilePaymentsSDK
10
+
11
+ extension PaymentStatus {
12
+ var jsonValue: String {
13
+ switch self {
14
+ case .unknown:
15
+ return "UNKNOWN"
16
+ case .initialized:
17
+ return "INITIALIZED"
18
+ case .approved:
19
+ return "APPROVED"
20
+ case .completed:
21
+ return "COMPLETED"
22
+ case .canceled:
23
+ return "CANCELED"
24
+ case .failed:
25
+ return "FAILED"
26
+ case .pending:
27
+ return "PENDING"
28
+ @unknown default:
29
+ return "UNKNOWN"
30
+ }
31
+ }
32
+ }
33
+
34
+ extension OfflineStatus {
35
+ var jsonValue: String {
36
+ switch self {
37
+ case .unknown:
38
+ return "UNKNOWN"
39
+ case .queued:
40
+ return "QUEUED"
41
+ case .uploaded:
42
+ return "UPLOADED"
43
+ case .failedToUpload:
44
+ return "FAILED_TO_UPLOAD"
45
+ case .failedToProcess:
46
+ return "FAILED_TO_PROCESS"
47
+ case .processed:
48
+ return "PROCESSED"
49
+ @unknown default:
50
+ return "UNKNOWN"
51
+ }
52
+ }
53
+ }
@@ -0,0 +1,37 @@
1
+ //
2
+ // ProcessingMode+Extension.swift
3
+
4
+ //
5
+ // Created by chancetio on 2024/4/22.
6
+ //
7
+
8
+ import Foundation
9
+ import SquareMobilePaymentsSDK
10
+
11
+ extension ProcessingMode {
12
+ var jsonValue: String {
13
+ switch self {
14
+ case .autoDetect:
15
+ return "AUTO_DETECT"
16
+ case .onlineOnly:
17
+ return "ONLINE_ONLY"
18
+ case .offlineOnly:
19
+ return "OFFLINE_ONLY"
20
+ @unknown default:
21
+ return "UNKNOWN"
22
+ }
23
+ }
24
+
25
+ static func make(from jsonValue: String?) -> ProcessingMode? {
26
+ switch jsonValue {
27
+ case "AUTO_DETECT":
28
+ return ProcessingMode.autoDetect
29
+ case "ONLINE_ONLY":
30
+ return ProcessingMode.onlineOnly
31
+ case "OFFLINE_ONLY":
32
+ return ProcessingMode.offlineOnly
33
+ default:
34
+ return nil
35
+ }
36
+ }
37
+ }
@@ -0,0 +1,19 @@
1
+ //
2
+ // ReaderBatteryStatus+Extension.swift
3
+
4
+ //
5
+ // Created by chancetio on 2023/9/12.
6
+ //
7
+
8
+ import Foundation
9
+ import SquareMobilePaymentsSDK
10
+
11
+ extension ReaderBatteryStatus {
12
+ var jsonDictionary: [String: Any] {
13
+ var result: [String: Any] = [:]
14
+ result["level"] = self.level.jsonValue
15
+ result["percentage"] = self.percentage
16
+ result["isCharging"] = self.isCharging
17
+ return result
18
+ }
19
+ }
@@ -0,0 +1,41 @@
1
+ //
2
+ // ReaderChange+Extension.swift
3
+
4
+ //
5
+ // Created by chancetio on 2023/9/12.
6
+ //
7
+
8
+ import Foundation
9
+ import SquareMobilePaymentsSDK
10
+
11
+ extension ReaderChange {
12
+ var jsonValue: String {
13
+ switch self {
14
+ case .stateDidChange:
15
+ return "STATE_DID_CHANGE"
16
+ case .batteryLevelDidChange:
17
+ return "BATTERY_LEVEL_DID_CHANGE"
18
+ case .batteryDidBeginCharging:
19
+ return "BATTERY_DID_BEGIN_CHARGING"
20
+ case .batteryDidEndCharging:
21
+ return "BATTERY_DID_END_CHARGING"
22
+ case .firmwareUpdatePercentDidChange:
23
+ return "FIRMWARE_UPDATE_PERCENT_DID_CHANGE"
24
+ case .connectionStateDidChange:
25
+ return "CONNECTION_STATE_DID_CHANGE"
26
+ case .connectionDidFail:
27
+ return "CONNECTION_DID_FAIL"
28
+ case .firmwareUpdateDidFail:
29
+ return "FIRMWARE_UPDATE_DID_FAIL"
30
+ case .cardInserted:
31
+ return "CARD_INSERTED"
32
+ case .cardRemoved:
33
+ return "CARD_REMOVED"
34
+ case .readerStatusDidChange:
35
+ // TODO: improve this
36
+ return "STATE_DID_CHANGE"
37
+ @unknown default:
38
+ return "UNKNOWN"
39
+ }
40
+ }
41
+ }
@@ -0,0 +1,20 @@
1
+ //
2
+ // ReaderConnectionFailureInfo+Extension.swift
3
+
4
+ //
5
+ // Created by chancetio on 2023/9/12.
6
+ //
7
+
8
+ import Foundation
9
+ import SquareMobilePaymentsSDK
10
+
11
+ extension ReaderConnectionFailureInfo {
12
+ var jsonDictionary: [String: Any] {
13
+ var result: [String: Any] = [:]
14
+ result["failureReason"] = self.failureReason.jsonValue
15
+ result["recoverySuggestion"] = self.recoverySuggestion.jsonValue
16
+ result["localizedTitle"] = self.localizedTitle
17
+ result["localizedDescription"] = self.localizedDescription
18
+ return result
19
+ }
20
+ }
@@ -0,0 +1,40 @@
1
+ //
2
+ // ReaderConnectionFailureReason+Extension.swift
3
+
4
+ //
5
+ // Created by chancetio on 2023/9/12.
6
+ //
7
+
8
+ import Foundation
9
+ import SquareMobilePaymentsSDK
10
+
11
+ extension ReaderConnectionFailureReason {
12
+ var jsonValue: String {
13
+ switch self {
14
+ case .deniedByServer:
15
+ return "DENIED_BY_SERVER"
16
+ case .genericError:
17
+ return "GENERIC_ERROR"
18
+ case .maxReadersConnected:
19
+ return "MAX_READERS_CONNECTED"
20
+ case .networkTimeout:
21
+ return "NETWORK_TIMEOUT"
22
+ case .networkTransportError:
23
+ return "NETWORK_TRANSPORT_ERROR"
24
+ case .notConnectedToInternet:
25
+ return "NOT_CONNECTED_TO_INTERNET"
26
+ case .readerTimeout:
27
+ return "READER_TIMEOUT"
28
+ case .revokedByDevice:
29
+ return "REVOKED_BY_DEVICE"
30
+ case .serverError:
31
+ return "SERVER_ERROR"
32
+ case .tapToPayError:
33
+ return "TAP_TO_PAY_ERROR"
34
+ case .unknown:
35
+ return "UNKNOWN"
36
+ @unknown default:
37
+ return "UNKNOWN"
38
+ }
39
+ }
40
+ }