@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,53 @@
1
+ package com.connexup.square.mobilepayment.convert
2
+
3
+ import com.facebook.react.bridge.ReadableMap
4
+ import com.facebook.react.bridge.WritableNativeMap
5
+ import com.squareup.sdk.mobilepayments.payment.Card
6
+
7
+ /**
8
+ * Description:
9
+ * @author lukechen@chancetop.com
10
+ * @date 2023/11/20
11
+ */
12
+ val Card.readableMap: ReadableMap
13
+ get() {
14
+ val result = WritableNativeMap()
15
+ result.putString("id", this.id)
16
+ result.putString(
17
+ "cardBrand", when (this.brand) {
18
+ Card.Brand.OTHER_BRAND -> "OTHER_BRAND"
19
+ Card.Brand.VISA -> "VISA"
20
+ Card.Brand.MASTERCARD -> "MASTERCARD"
21
+ Card.Brand.AMERICAN_EXPRESS -> "AMERICAN_EXPRESS"
22
+ Card.Brand.DISCOVER -> "DISCOVER"
23
+ Card.Brand.DISCOVER_DINERS -> "DISCOVER_DINERS"
24
+ Card.Brand.EBT -> "EBT"
25
+ Card.Brand.JCB -> "JCB"
26
+ Card.Brand.CHINA_UNIONPAY -> "CHINA_UNION_PAY"
27
+ Card.Brand.SQUARE_GIFT_CARD -> "SQUARE_GIFT_CARD"
28
+ Card.Brand.ALIPAY -> "ALIPAY"
29
+ Card.Brand.CASH_APP -> "CASH_APP"
30
+ Card.Brand.EFTPOS -> "EFTPOS"
31
+ Card.Brand.FELICA -> "FELICA"
32
+ Card.Brand.INTERAC -> "INTERAC"
33
+ Card.Brand.SQUARE_CAPITAL_CARD -> "SQUARE_CAPITAL_CARD"
34
+ Card.Brand.SUICA -> "SUICA"
35
+ Card.Brand.ID -> "ID"
36
+ Card.Brand.QUICPAY -> "QUICPAY"
37
+ }
38
+ )
39
+ result.putString(
40
+ "coBrand", when (this.cardCoBrand) {
41
+ Card.CoBrand.AFTERPAY -> "AFTERPAY"
42
+ Card.CoBrand.CLEARPAY -> "CLEARPAY"
43
+ Card.CoBrand.NONE -> "NONE"
44
+ Card.CoBrand.UNKNOWN -> "UNKNOWN"
45
+ }
46
+ )
47
+ result.putString("last4", this.lastFourDigits)
48
+ result.putInt("expMonth", this.expirationMonth)
49
+ result.putInt("expYear", this.expirationYear)
50
+ result.putString("cardholderName", this.cardholderName)
51
+ result.putString("bin", this.bin)
52
+ return result
53
+ }
@@ -0,0 +1,74 @@
1
+ package com.connexup.square.mobilepayment.convert
2
+
3
+ import com.facebook.react.bridge.ReadableMap
4
+ import com.facebook.react.bridge.WritableNativeMap
5
+ import com.squareup.sdk.mobilepayments.payment.CardPaymentDetails
6
+
7
+ /**
8
+ * Description:
9
+ * @author lukechen@chancetop.com
10
+ * @date 2023/11/20
11
+ */
12
+ val CardPaymentDetails.OfflineCardPaymentDetails.readableMap: ReadableMap
13
+ get() {
14
+ val result = WritableNativeMap()
15
+ result.putMap("card", this.card.readableMap)
16
+ return result
17
+ }
18
+
19
+ val CardPaymentDetails.OnlineCardPaymentDetails.readableMap: ReadableMap
20
+ get() {
21
+ val result = WritableNativeMap()
22
+ result.putString(
23
+ "status", when (this.status) {
24
+ CardPaymentDetails.Status.AUTHORIZED -> "AUTHORIZED"
25
+ CardPaymentDetails.Status.CAPTURED -> "CAPTURED"
26
+ CardPaymentDetails.Status.VOIDED -> "VOIDED"
27
+ CardPaymentDetails.Status.FAILED -> "FAILED"
28
+ }
29
+ )
30
+ result.putMap("card", this.card.readableMap)
31
+ result.putString(
32
+ "entryMethod", when (this.entryMethod) {
33
+ CardPaymentDetails.EntryMethod.KEYED -> "KEYED"
34
+ CardPaymentDetails.EntryMethod.SWIPED -> "SWIPED"
35
+ CardPaymentDetails.EntryMethod.EMV -> "EMV"
36
+ CardPaymentDetails.EntryMethod.CONTACTLESS -> "CONTACTLESS"
37
+ CardPaymentDetails.EntryMethod.ON_FILE -> "ON_FILE"
38
+ }
39
+ )
40
+ result.putString("applicationIdentifier", this.applicationId)
41
+ result.putString("applicationName", this.applicationName)
42
+ result.putString("applicationCounter", this.applicationCounter)
43
+ result.putString("panSequenceNumber", this.panSequenceNumber?.toString())
44
+ result.putString(
45
+ "verificationMethod", when (this.verificationMethod) {
46
+ CardPaymentDetails.VerificationMethod.PIN -> "PIN"
47
+ CardPaymentDetails.VerificationMethod.SIGNATURE -> "SIGNATURE"
48
+ CardPaymentDetails.VerificationMethod.PIN_AND_SIGNATURE -> "PIN_AND_SIGNATURE"
49
+ CardPaymentDetails.VerificationMethod.ON_DEVICE -> "ON_DEVICE"
50
+ CardPaymentDetails.VerificationMethod.NONE -> "NONE"
51
+ null -> null
52
+ }
53
+ )
54
+ result.putString(
55
+ "verificationResults", when (this.verificationResults) {
56
+ CardPaymentDetails.VerificationResult.SUCCESS -> "SUCCESS"
57
+ CardPaymentDetails.VerificationResult.FAILURE -> "FAILURE"
58
+ CardPaymentDetails.VerificationResult.UNKNOWN -> "UNKNOWN"
59
+ null -> null
60
+ }
61
+ )
62
+ result.putString(
63
+ "accountType", when (this.accountType) {
64
+ CardPaymentDetails.AccountType.SAVINGS -> "SAVINGS"
65
+ CardPaymentDetails.AccountType.CHECKING -> "CHECKING"
66
+ CardPaymentDetails.AccountType.CREDIT -> "CREDIT"
67
+ null -> null
68
+ }
69
+ )
70
+ result.putMap("remainingBalanceAmountMoney", this.remainingBalanceAmountMoney?.readableMap)
71
+ result.putString("felicaSprwdId", this.felicaSprwdId)
72
+ result.putString("authResultCode", this.authorizationCode)
73
+ return result
74
+ }
@@ -0,0 +1,31 @@
1
+ package com.connexup.square.mobilepayment.convert
2
+
3
+ import com.facebook.react.bridge.ReadableArray
4
+ import com.facebook.react.bridge.WritableArray
5
+ import com.facebook.react.bridge.WritableNativeArray
6
+ import com.squareup.sdk.mobilepayments.cardreader.CardEntryMethod
7
+
8
+ /**
9
+ * Description:
10
+ * @author lukechen@chancetop.com
11
+ * @date 2023/11/17
12
+ */
13
+ val Set<CardEntryMethod>.readableArray: ReadableArray
14
+ get() {
15
+ return this.writableArray
16
+ }
17
+
18
+ val Set<CardEntryMethod>.writableArray: WritableArray
19
+ get() {
20
+ val result = WritableNativeArray()
21
+ if (this.contains(CardEntryMethod.SWIPED)) {
22
+ result.pushString("SWIPE")
23
+ }
24
+ if (this.contains(CardEntryMethod.EMV)) {
25
+ result.pushString("CHIP")
26
+ }
27
+ if (this.contains(CardEntryMethod.CONTACTLESS)) {
28
+ result.pushString("CONTACTLESS")
29
+ }
30
+ return result
31
+ }
@@ -0,0 +1,18 @@
1
+ package com.connexup.square.mobilepayment.convert
2
+
3
+ import com.facebook.react.bridge.ReadableMap
4
+ import com.facebook.react.bridge.WritableNativeMap
5
+ import com.squareup.sdk.mobilepayments.payment.CashPaymentDetails
6
+
7
+ /**
8
+ * Description:
9
+ * @author lukechen@chancetop.com
10
+ * @date 2023/11/20
11
+ */
12
+ val CashPaymentDetails.readableMap: ReadableMap
13
+ get() {
14
+ val result = WritableNativeMap()
15
+ result.putMap("buyerSuppliedMoney", this.buyerSuppliedMoney.readableMap)
16
+ result.putMap("changeBackMoney", this.changeBackMoney.readableMap)
17
+ return result
18
+ }
@@ -0,0 +1,204 @@
1
+ package com.connexup.square.mobilepayment.convert
2
+
3
+ import com.squareup.sdk.mobilepayments.payment.CurrencyCode
4
+
5
+
6
+ /**
7
+ * Description:
8
+ * @author lukechen@chancetop.com
9
+ * @date 2023/11/16
10
+ */
11
+ //TODO symbol
12
+ val CurrencyCode.jsonValue: String
13
+ get() {
14
+ return when (this) {
15
+ CurrencyCode.AUD -> "AUD"
16
+ CurrencyCode.CAD -> "CAD"
17
+ CurrencyCode.EUR -> "EUR"
18
+ CurrencyCode.GBP -> "GBP"
19
+ CurrencyCode.JPY -> "JPY"
20
+ CurrencyCode.USD -> "USD"
21
+ CurrencyCode.AED -> "AED"
22
+ CurrencyCode.AFN -> "AFN"
23
+ CurrencyCode.ALL -> "ALL"
24
+ CurrencyCode.AMD -> "AMD"
25
+ CurrencyCode.ANG -> "ANG"
26
+ CurrencyCode.AOA -> "AOA"
27
+ CurrencyCode.ARS -> "ARS"
28
+ CurrencyCode.AWG -> "AWG"
29
+ CurrencyCode.AZN -> "AZN"
30
+ CurrencyCode.BAM -> "BAM"
31
+ CurrencyCode.BBD -> "BBD"
32
+ CurrencyCode.BDT -> "BDT"
33
+ CurrencyCode.BGN -> "BGN"
34
+ CurrencyCode.BHD -> "BHD"
35
+ CurrencyCode.BIF -> "BIF"
36
+ CurrencyCode.BMD -> "BMD"
37
+ CurrencyCode.BND -> "BND"
38
+ CurrencyCode.BOB -> "BOB"
39
+ CurrencyCode.BOV -> "BOV"
40
+ CurrencyCode.BRL -> "BRL"
41
+ CurrencyCode.BSD -> "BSD"
42
+ CurrencyCode.BTN -> "BTN"
43
+ CurrencyCode.BWP -> "BWP"
44
+ CurrencyCode.BYR -> "BYR"
45
+ CurrencyCode.BZD -> "BZD"
46
+ CurrencyCode.CDF -> "CDF"
47
+ CurrencyCode.CHE -> "CHE"
48
+ CurrencyCode.CHF -> "CHF"
49
+ CurrencyCode.CHW -> "CHW"
50
+ CurrencyCode.CLF -> "CLF"
51
+ CurrencyCode.CLP -> "CLP"
52
+ CurrencyCode.CNY -> "CNY"
53
+ CurrencyCode.COP -> "COP"
54
+ CurrencyCode.COU -> "COU"
55
+ CurrencyCode.CRC -> "CRC"
56
+ CurrencyCode.CUC -> "CUC"
57
+ CurrencyCode.CUP -> "CUP"
58
+ CurrencyCode.CVE -> "CVE"
59
+ CurrencyCode.CZK -> "CZK"
60
+ CurrencyCode.DJF -> "DJF"
61
+ CurrencyCode.DKK -> "DKK"
62
+ CurrencyCode.DOP -> "DOP"
63
+ CurrencyCode.DZD -> "DZD"
64
+ CurrencyCode.EGP -> "EGP"
65
+ CurrencyCode.ERN -> "ERN"
66
+ CurrencyCode.ETB -> "ETB"
67
+ CurrencyCode.FJD -> "FJD"
68
+ CurrencyCode.FKP -> "FKP"
69
+ CurrencyCode.GEL -> "GEL"
70
+ CurrencyCode.GHS -> "GHS"
71
+ CurrencyCode.GIP -> "GIP"
72
+ CurrencyCode.GMD -> "GMD"
73
+ CurrencyCode.GNF -> "GNF"
74
+ CurrencyCode.GTQ -> "GTQ"
75
+ CurrencyCode.GYD -> "GYD"
76
+ CurrencyCode.HKD -> "HKD"
77
+ CurrencyCode.HNL -> "HNL"
78
+ CurrencyCode.HRK -> "HRK"
79
+ CurrencyCode.HTG -> "HTG"
80
+ CurrencyCode.HUF -> "HUF"
81
+ CurrencyCode.IDR -> "IDR"
82
+ CurrencyCode.ILS -> "ILS"
83
+ CurrencyCode.INR -> "INR"
84
+ CurrencyCode.IQD -> "IQD"
85
+ CurrencyCode.IRR -> "IRR"
86
+ CurrencyCode.ISK -> "ISK"
87
+ CurrencyCode.JMD -> "JMD"
88
+ CurrencyCode.JOD -> "JOD"
89
+ CurrencyCode.KES -> "KES"
90
+ CurrencyCode.KGS -> "KGS"
91
+ CurrencyCode.KHR -> "KHR"
92
+ CurrencyCode.KMF -> "KMF"
93
+ CurrencyCode.KPW -> "KPW"
94
+ CurrencyCode.KRW -> "KRW"
95
+ CurrencyCode.KWD -> "KWD"
96
+ CurrencyCode.KYD -> "KYD"
97
+ CurrencyCode.KZT -> "KZT"
98
+ CurrencyCode.LAK -> "LAK"
99
+ CurrencyCode.LBP -> "LBP"
100
+ CurrencyCode.LKR -> "LKR"
101
+ CurrencyCode.LRD -> "LRD"
102
+ CurrencyCode.LSL -> "LSL"
103
+ CurrencyCode.LTL -> "LTL"
104
+ CurrencyCode.LVL -> "LVL"
105
+ CurrencyCode.LYD -> "LYD"
106
+ CurrencyCode.MAD -> "MAD"
107
+ CurrencyCode.MDL -> "MDL"
108
+ CurrencyCode.MGA -> "MGA"
109
+ CurrencyCode.MKD -> "MKD"
110
+ CurrencyCode.MMK -> "MMK"
111
+ CurrencyCode.MNT -> "MNT"
112
+ CurrencyCode.MOP -> "MOP"
113
+ CurrencyCode.MRO -> "MRO"
114
+ CurrencyCode.MUR -> "MUR"
115
+ CurrencyCode.MVR -> "MVR"
116
+ CurrencyCode.MWK -> "MWK"
117
+ CurrencyCode.MXN -> "MXN"
118
+ CurrencyCode.MXV -> "MXV"
119
+ CurrencyCode.MYR -> "MYR"
120
+ CurrencyCode.MZN -> "MZN"
121
+ CurrencyCode.NAD -> "NAD"
122
+ CurrencyCode.NGN -> "NGN"
123
+ CurrencyCode.NIO -> "NIO"
124
+ CurrencyCode.NOK -> "NOK"
125
+ CurrencyCode.NPR -> "NPR"
126
+ CurrencyCode.NZD -> "NZD"
127
+ CurrencyCode.OMR -> "OMR"
128
+ CurrencyCode.PAB -> "PAB"
129
+ CurrencyCode.PEN -> "PEN"
130
+ CurrencyCode.PGK -> "PGK"
131
+ CurrencyCode.PHP -> "PHP"
132
+ CurrencyCode.PKR -> "PKR"
133
+ CurrencyCode.PLN -> "PLN"
134
+ CurrencyCode.PYG -> "PYG"
135
+ CurrencyCode.QAR -> "QAR"
136
+ CurrencyCode.RON -> "RON"
137
+ CurrencyCode.RSD -> "RSD"
138
+ CurrencyCode.RUB -> "RUB"
139
+ CurrencyCode.RWF -> "RWF"
140
+ CurrencyCode.SAR -> "SAR"
141
+ CurrencyCode.SBD -> "SBD"
142
+ CurrencyCode.SCR -> "SCR"
143
+ CurrencyCode.SDG -> "SDG"
144
+ CurrencyCode.SEK -> "SEK"
145
+ CurrencyCode.SGD -> "SGD"
146
+ CurrencyCode.SHP -> "SHP"
147
+ CurrencyCode.SLL -> "SLL"
148
+ CurrencyCode.SOS -> "SOS"
149
+ CurrencyCode.SRD -> "SRD"
150
+ CurrencyCode.SSP -> "SSP"
151
+ CurrencyCode.STD -> "STD"
152
+ CurrencyCode.SVC -> "SVC"
153
+ CurrencyCode.SYP -> "SYP"
154
+ CurrencyCode.SZL -> "SZL"
155
+ CurrencyCode.THB -> "THB"
156
+ CurrencyCode.TJS -> "TJS"
157
+ CurrencyCode.TMT -> "TMT"
158
+ CurrencyCode.TND -> "TND"
159
+ CurrencyCode.TOP -> "TOP"
160
+ CurrencyCode.TRY -> "TRY"
161
+ CurrencyCode.TTD -> "TTD"
162
+ CurrencyCode.TWD -> "TWD"
163
+ CurrencyCode.TZS -> "TZS"
164
+ CurrencyCode.UAH -> "UAH"
165
+ CurrencyCode.UGX -> "UGX"
166
+ CurrencyCode.USN -> "USN"
167
+ CurrencyCode.USS -> "USS"
168
+ CurrencyCode.UYI -> "UYI"
169
+ CurrencyCode.UYU -> "UYU"
170
+ CurrencyCode.UZS -> "UZS"
171
+ CurrencyCode.VEF -> "VEF"
172
+ CurrencyCode.VND -> "VND"
173
+ CurrencyCode.VUV -> "VUV"
174
+ CurrencyCode.WST -> "WST"
175
+ CurrencyCode.XAF -> "XAF"
176
+ CurrencyCode.XAG -> "XAG"
177
+ CurrencyCode.XAU -> "XAU"
178
+ CurrencyCode.XBA -> "XBA"
179
+ CurrencyCode.XBB -> "XBB"
180
+ CurrencyCode.XBC -> "XBC"
181
+ CurrencyCode.XBD -> "XBD"
182
+ CurrencyCode.XCD -> "XCD"
183
+ CurrencyCode.XDR -> "XDR"
184
+ CurrencyCode.XOF -> "XOF"
185
+ CurrencyCode.XPD -> "XPD"
186
+ CurrencyCode.XPF -> "XPF"
187
+ CurrencyCode.XPT -> "XPT"
188
+ CurrencyCode.XTS -> "XTS"
189
+ CurrencyCode.XXX -> "XXX"
190
+ CurrencyCode.YER -> "YER"
191
+ CurrencyCode.ZAR -> "ZAR"
192
+ CurrencyCode.ZMK -> "ZMK"
193
+ CurrencyCode.ZMW -> "ZMW"
194
+ CurrencyCode.BTC -> "BTC"
195
+ CurrencyCode.XUS -> "XUS"
196
+ CurrencyCode.SLE -> "SLE"
197
+ }
198
+ }
199
+
200
+ fun String.toCurrencyCode(): CurrencyCode? {
201
+ return CurrencyCode.entries.find {
202
+ it.jsonValue == this
203
+ }
204
+ }
@@ -0,0 +1,33 @@
1
+ package com.connexup.square.mobilepayment.convert
2
+
3
+ import com.squareup.sdk.mobilepayments.payment.DelayAction
4
+
5
+
6
+ /**
7
+ * Description:
8
+ * @author lukechen@chancetop.com
9
+ * @date 2023/11/20
10
+ */
11
+
12
+ val DelayAction.jsonValue: String
13
+ get() {
14
+ return when (this) {
15
+ DelayAction.CANCEL -> "CANCEL"
16
+ DelayAction.COMPLETE -> "COMPLETE"
17
+ }
18
+ }
19
+
20
+
21
+ fun String.toDelayAction(): DelayAction? {
22
+ return when (this) {
23
+ "CANCEL" -> {
24
+ DelayAction.CANCEL
25
+ }
26
+
27
+ "COMPLETE" -> {
28
+ DelayAction.COMPLETE
29
+ }
30
+
31
+ else -> null
32
+ }
33
+ }
@@ -0,0 +1,28 @@
1
+ package com.connexup.square.mobilepayment.convert
2
+
3
+ import com.facebook.react.bridge.ReadableMap
4
+ import com.facebook.react.bridge.WritableNativeMap
5
+ import com.squareup.sdk.mobilepayments.cardreader.ReaderInfo
6
+
7
+ /**
8
+ * Description:
9
+ * @author lukechen@chancetop.com
10
+ * @date 2023/11/17
11
+ */
12
+
13
+ val ReaderInfo.DeniedReason.readableMap: ReadableMap
14
+ get() {
15
+ val result = WritableNativeMap()
16
+ val suggestion = when (this.uxHint) {
17
+ ReaderInfo.DeniedUxHint.NO_SUGGESTED_ACTION -> "NO_SUGGESTION"
18
+ ReaderInfo.DeniedUxHint.SUGGEST_RETRY -> "RETRY"
19
+ ReaderInfo.DeniedUxHint.SUGGEST_ACTIVATION -> "ACTIVATE_ACCOUNT"
20
+ ReaderInfo.DeniedUxHint.SUGGEST_CONTACT_SUPPORT -> "CONTACT_SUPPORT"
21
+ ReaderInfo.DeniedUxHint.COUNT -> "COUNT"
22
+ }
23
+ result.putString("recoverySuggestion", suggestion)
24
+ result.putString("localizedTitle", this.localizedTitle)
25
+ result.putString("localizedDescription", this.localizedDescription)
26
+ //TODO failureReason
27
+ return result
28
+ }
@@ -0,0 +1,18 @@
1
+ package com.connexup.square.mobilepayment.convert
2
+
3
+ import com.facebook.react.bridge.ReadableMap
4
+ import com.facebook.react.bridge.WritableNativeMap
5
+ import com.squareup.sdk.mobilepayments.payment.DigitalWalletDetails
6
+
7
+ /**
8
+ * Description:
9
+ * @author lukechen@chancetop.com
10
+ * @date 2024/4/17
11
+ */
12
+ val DigitalWalletDetails.readableMap: ReadableMap
13
+ get() {
14
+ val result = WritableNativeMap()
15
+ result.putString("walletBrand", this.walletBrand?.jsonValue)
16
+ result.putString("buyerId",this.buyerId)
17
+ return result
18
+ }
@@ -0,0 +1,32 @@
1
+ package com.connexup.square.mobilepayment.convert
2
+
3
+ import com.facebook.react.bridge.ReadableArray
4
+ import com.facebook.react.bridge.ReadableMap
5
+ import com.facebook.react.bridge.WritableNativeArray
6
+ import com.facebook.react.bridge.WritableNativeMap
7
+ import com.squareup.sdk.mobilepayments.core.ErrorDetails
8
+
9
+ /**
10
+ * Description:
11
+ * @author lukechen@chancetop.com
12
+ * @date 2024/4/17
13
+ */
14
+
15
+ val List<ErrorDetails>.readableArray: ReadableArray
16
+ get() {
17
+ val result = WritableNativeArray()
18
+ this.forEach {
19
+ result.pushMap(it.readableMap);
20
+ }
21
+ return result
22
+ }
23
+
24
+ val ErrorDetails.readableMap: ReadableMap
25
+ get() {
26
+ val result = WritableNativeMap()
27
+ result.putString("category", this.category)
28
+ result.putString("code", this.code)
29
+ result.putString("detail", this.detail)
30
+ result.putString("field", this.field)
31
+ return result
32
+ }
@@ -0,0 +1,25 @@
1
+ package com.connexup.square.mobilepayment.convert
2
+
3
+ import com.facebook.react.bridge.ReadableMap
4
+ import com.facebook.react.bridge.WritableNativeMap
5
+ import com.squareup.sdk.mobilepayments.payment.ExternalPaymentDetails
6
+
7
+ /**
8
+ * Description:
9
+ * @author lukechen@chancetop.com
10
+ * @date 2024/4/17
11
+ */
12
+
13
+ val ExternalPaymentDetails.readableMap: ReadableMap
14
+ get() {
15
+ val result = WritableNativeMap()
16
+ result.putString("type", this.type)
17
+ result.putString("source", this.source)
18
+ if (this.sourceId != null) {
19
+ result.putString("sourceId", this.sourceId)
20
+ }
21
+ if (this.sourceFeeMoney != null) {
22
+ result.putMap("sourceFeeMoney", this.sourceFeeMoney?.readableMap)
23
+ }
24
+ return result
25
+ }
@@ -0,0 +1,31 @@
1
+ package com.connexup.square.mobilepayment.convert
2
+
3
+ import com.facebook.react.bridge.ReadableMap
4
+ import com.facebook.react.bridge.WritableMap
5
+ import com.facebook.react.bridge.WritableNativeMap
6
+ import com.squareup.sdk.mobilepayments.authorization.AuthorizedLocation
7
+
8
+ /**
9
+ * Description:
10
+ * @author lukechen@chancetop.com
11
+ * @date 2023/11/16
12
+ */
13
+
14
+ val AuthorizedLocation.readableMap: ReadableMap
15
+ get() {
16
+ return this.writableMap
17
+ }
18
+
19
+ val AuthorizedLocation.writableMap: WritableMap
20
+ get() {
21
+ val result = WritableNativeMap()
22
+ result.putString("merchantId", this.merchantId)
23
+ result.putString("id", this.locationId)
24
+ result.putString("currency", this.currencyCode.jsonValue)
25
+ result.putString("nickName", this.name)
26
+ result.putString("name", this.businessName)
27
+ //TODO mcc
28
+ // result.putString("mcc", this.merchantId)
29
+ result.putBoolean("cardProcessingActivated", this.cardProcessingActivated)
30
+ return result
31
+ }
@@ -0,0 +1,31 @@
1
+ package com.connexup.square.mobilepayment.convert
2
+
3
+ import com.facebook.react.bridge.ReadableMap
4
+ import com.facebook.react.bridge.ReadableNativeMap
5
+ import com.facebook.react.bridge.WritableNativeMap
6
+ import com.squareup.sdk.mobilepayments.payment.Money
7
+
8
+ /**
9
+ * Description:
10
+ * @author lukechen@chancetop.com
11
+ * @date 2023/11/17
12
+ */
13
+
14
+ val Money.readableMap: ReadableMap
15
+ get() {
16
+ val result = WritableNativeMap()
17
+ result.putDouble("amount", this.amount.toDouble())
18
+ result.putString("currency", this.currencyCode.jsonValue)
19
+ return result
20
+ }
21
+
22
+
23
+ fun ReadableMap.toMoney(): Money? {
24
+ return (this.toHashMap() as Map<String?, Any?>).toMoney()
25
+ }
26
+
27
+ fun Map<String?, Any?>.toMoney(): Money? {
28
+ val amount = (this["amount"] as? Double)?.toLong() ?: return null
29
+ val currencyCode = (this["currency"] as? String)?.toCurrencyCode() ?: return null
30
+ return Money(amount, currencyCode)
31
+ }
@@ -0,0 +1,21 @@
1
+ package com.connexup.square.mobilepayment.convert
2
+
3
+ import com.squareup.sdk.mobilepayments.payment.Payment
4
+
5
+
6
+ /**
7
+ * Description:
8
+ * @author lukechen@chancetop.com
9
+ * @date 2023/11/20
10
+ */
11
+
12
+ val Payment.OfflineStatus.jsonValue: String
13
+ get() {
14
+ return when (this) {
15
+ Payment.OfflineStatus.QUEUED -> "QUEUED"
16
+ Payment.OfflineStatus.UPLOADED -> "UPLOADED"
17
+ Payment.OfflineStatus.FAILED_TO_UPLOAD -> "FAILED_TO_UPLOAD"
18
+ Payment.OfflineStatus.FAILED_TO_PROCESS -> "FAILED_TO_PROCESS"
19
+ Payment.OfflineStatus.PROCESSED -> "PROCESSED"
20
+ }
21
+ }