react-native-tpay 0.3.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 (558) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +555 -0
  3. package/android/build.gradle +95 -0
  4. package/android/gradle.properties +5 -0
  5. package/android/src/main/AndroidManifest.xml +3 -0
  6. package/android/src/main/AndroidManifestNew.xml +2 -0
  7. package/android/src/main/java/com/tpay/TpayAmbiguousBLIKPaymentHandler.kt +21 -0
  8. package/android/src/main/java/com/tpay/TpayModule.kt +528 -0
  9. package/android/src/main/java/com/tpay/TpayPackage.kt +17 -0
  10. package/android/src/main/java/com/tpay/TpayResult.kt +12 -0
  11. package/android/src/main/java/com/tpay/TpayScreenlessPaymentHandler.kt +102 -0
  12. package/android/src/main/java/com/tpay/TpayScreenlessResult.kt +25 -0
  13. package/android/src/main/java/com/tpay/TpayScreenlessResultHandler.kt +121 -0
  14. package/android/src/main/java/com/tpay/delegate/AddCardDelegateImpl.kt +30 -0
  15. package/android/src/main/java/com/tpay/delegate/PaymentDelegateImpl.kt +33 -0
  16. package/android/src/main/java/com/tpay/extension/AmbiguousAlias+.kt +11 -0
  17. package/android/src/main/java/com/tpay/extension/BlikAlias+.kt +18 -0
  18. package/android/src/main/java/com/tpay/extension/CardTokenTransaction+.kt +19 -0
  19. package/android/src/main/java/com/tpay/extension/Exception.kt +3 -0
  20. package/android/src/main/java/com/tpay/extension/JSONObject+.kt +10 -0
  21. package/android/src/main/java/com/tpay/extension/PaymentChannel+.kt +22 -0
  22. package/android/src/main/java/com/tpay/extension/PaymentConstraint+.kt +24 -0
  23. package/android/src/main/java/com/tpay/extension/PaymentGroup+.kt +21 -0
  24. package/android/src/main/java/com/tpay/extension/SingleTransaction+.kt +14 -0
  25. package/android/src/main/java/com/tpay/extension/String+.kt +30 -0
  26. package/android/src/main/java/com/tpay/model/CertificateConfiguration.kt +20 -0
  27. package/android/src/main/java/com/tpay/model/Configuration.kt +5 -0
  28. package/android/src/main/java/com/tpay/model/ConfigurationMerchant.kt +33 -0
  29. package/android/src/main/java/com/tpay/model/Languages.kt +24 -0
  30. package/android/src/main/java/com/tpay/model/LocalizedString.kt +21 -0
  31. package/android/src/main/java/com/tpay/model/MerchantAuthorization.kt +20 -0
  32. package/android/src/main/java/com/tpay/model/MerchantDetails.kt +32 -0
  33. package/android/src/main/java/com/tpay/model/PaymentMethods.kt +90 -0
  34. package/android/src/main/java/com/tpay/model/TpayConfiguration.kt +50 -0
  35. package/android/src/main/java/com/tpay/model/WalletConfiguration.kt +14 -0
  36. package/android/src/main/java/com/tpay/model/googlePay/GooglePayConfiguration.kt +13 -0
  37. package/android/src/main/java/com/tpay/model/googlePay/GooglePayConfigureResult.kt +6 -0
  38. package/android/src/main/java/com/tpay/model/googlePay/GooglePayUtilsConfiguration.kt +57 -0
  39. package/android/src/main/java/com/tpay/model/screenless/AmbiguousBLIKAlias.kt +35 -0
  40. package/android/src/main/java/com/tpay/model/screenless/AmbiguousBLIKPayment.kt +26 -0
  41. package/android/src/main/java/com/tpay/model/screenless/BLIKScreenlessPayment.kt +28 -0
  42. package/android/src/main/java/com/tpay/model/screenless/CreditCardData.kt +10 -0
  43. package/android/src/main/java/com/tpay/model/screenless/CreditCardScreenlessPayment.kt +75 -0
  44. package/android/src/main/java/com/tpay/model/screenless/ExpirationDate.kt +22 -0
  45. package/android/src/main/java/com/tpay/model/screenless/GooglePayScreenlessPayment.kt +19 -0
  46. package/android/src/main/java/com/tpay/model/screenless/PaymentConstraintType.kt +5 -0
  47. package/android/src/main/java/com/tpay/model/screenless/RatyPekaoScreenlessPayment.kt +9 -0
  48. package/android/src/main/java/com/tpay/model/screenless/ScreenlessPayment.kt +87 -0
  49. package/android/src/main/java/com/tpay/model/screenless/TransferScreenlessPayment.kt +9 -0
  50. package/android/src/main/java/com/tpay/util/JsonUtil.kt +178 -0
  51. package/android/src/main/java/com/tpay/util/TpayBackpressUtil.kt +23 -0
  52. package/android/src/main/java/com/tpay/util/TpayUtil.kt +67 -0
  53. package/android/src/main/java/com/tpay/util/ValidationMessages.kt +19 -0
  54. package/ios/Source/Configuration/MerchantConfiguration.swift +120 -0
  55. package/ios/Source/Configuration/PaymentMethodConfiguration.swift +41 -0
  56. package/ios/Source/Configuration/TransactionConfiguration.swift +200 -0
  57. package/ios/Source/Extension/TPay+Setup.swift +32 -0
  58. package/ios/Source/Model/Domain/BankPayment.swift +12 -0
  59. package/ios/Source/Model/Domain/BlikPayment.swift +14 -0
  60. package/ios/Source/Model/Domain/CardPayment.swift +14 -0
  61. package/ios/Source/Model/Domain/ConfigurationResult.swift +98 -0
  62. package/ios/Source/Model/Domain/ContinuePayment.swift +10 -0
  63. package/ios/Source/Model/Domain/DigitalWalletPayment.swift +13 -0
  64. package/ios/Source/Model/Domain/PaymentChannelResult.swift +44 -0
  65. package/ios/Source/Model/Domain/ScreenlessResult.swift +67 -0
  66. package/ios/Source/Model/Domain/TokenisationData.swift +16 -0
  67. package/ios/Source/Model/Transportation/Transportation+AmbiguousAlias.swift +10 -0
  68. package/ios/Source/Model/Transportation/Transportation+Bank.swift +11 -0
  69. package/ios/Source/Model/Transportation/Transportation+BankPayment.swift +13 -0
  70. package/ios/Source/Model/Transportation/Transportation+BlikPayment+Alias.swift +9 -0
  71. package/ios/Source/Model/Transportation/Transportation+BlikPayment.swift +13 -0
  72. package/ios/Source/Model/Transportation/Transportation+Callbacks+Notifications.swift +10 -0
  73. package/ios/Source/Model/Transportation/Transportation+Callbacks+Redirects.swift +10 -0
  74. package/ios/Source/Model/Transportation/Transportation+Callbacks.swift +10 -0
  75. package/ios/Source/Model/Transportation/Transportation+CardDetails+Configuration.swift +9 -0
  76. package/ios/Source/Model/Transportation/Transportation+CardDetails+ExpiryDate.swift +10 -0
  77. package/ios/Source/Model/Transportation/Transportation+CardDetails.swift +12 -0
  78. package/ios/Source/Model/Transportation/Transportation+CardPayment.swift +13 -0
  79. package/ios/Source/Model/Transportation/Transportation+CardToken.swift +11 -0
  80. package/ios/Source/Model/Transportation/Transportation+ContinuePayment.swift +11 -0
  81. package/ios/Source/Model/Transportation/Transportation+DigitalWalletPayment.swift +12 -0
  82. package/ios/Source/Model/Transportation/Transportation+Environment.swift +23 -0
  83. package/ios/Source/Model/Transportation/Transportation+Languages.swift +10 -0
  84. package/ios/Source/Model/Transportation/Transportation+Merchant+Authorization.swift +10 -0
  85. package/ios/Source/Model/Transportation/Transportation+Merchant+CertificatePinning.swift +9 -0
  86. package/ios/Source/Model/Transportation/Transportation+Merchant+WalletConfiguration+ApplePay.swift +10 -0
  87. package/ios/Source/Model/Transportation/Transportation+Merchant+WalletConfiguration.swift +9 -0
  88. package/ios/Source/Model/Transportation/Transportation+Merchant.swift +13 -0
  89. package/ios/Source/Model/Transportation/Transportation+MerchantConfiguration.swift +12 -0
  90. package/ios/Source/Model/Transportation/Transportation+MerchantDetails+Detail.swift +10 -0
  91. package/ios/Source/Model/Transportation/Transportation+MerchantDetails.swift +11 -0
  92. package/ios/Source/Model/Transportation/Transportation+Payer+Address.swift +12 -0
  93. package/ios/Source/Model/Transportation/Transportation+Payer.swift +12 -0
  94. package/ios/Source/Model/Transportation/Transportation+PayerContext+AutomaticPaymentMethods+BlikAlias.swift +9 -0
  95. package/ios/Source/Model/Transportation/Transportation+PayerContext+AutomaticPaymentMethods.swift +10 -0
  96. package/ios/Source/Model/Transportation/Transportation+PayerContext.swift +10 -0
  97. package/ios/Source/Model/Transportation/Transportation+PaymentChannel.swift +21 -0
  98. package/ios/Source/Model/Transportation/Transportation+PaymentDetails.swift +10 -0
  99. package/ios/Source/Model/Transportation/Transportation+PaymentMethod.swift +47 -0
  100. package/ios/Source/Model/Transportation/Transportation+PaymentMethods.swift +11 -0
  101. package/ios/Source/Model/Transportation/Transportation+PaymentMethodsInfo.swift +12 -0
  102. package/ios/Source/Model/Transportation/Transportation+SingleTransaction.swift +11 -0
  103. package/ios/Source/Model/Transportation/Transportation+TokenPayment.swift +12 -0
  104. package/ios/Source/Model/Transportation/Transportation+Tokenisation.swift +12 -0
  105. package/ios/Source/Model/Transportation/Transportation.swift +3 -0
  106. package/ios/Source/Presentation/AddCardPresentation.swift +43 -0
  107. package/ios/Source/Presentation/CardTokenPresentation.swift +48 -0
  108. package/ios/Source/Presentation/PaymentPresentation.swift +48 -0
  109. package/ios/Source/Provider/DefaultMerchantDetailsProvider.swift +32 -0
  110. package/ios/Source/Provider/DefaultSSLCertificatesProvider.swift +14 -0
  111. package/ios/Source/TpaySDK.mm +35 -0
  112. package/ios/Source/TpaySDK.swift +324 -0
  113. package/ios/Tpay-Bridging-Header.h +2 -0
  114. package/lib/commonjs/assets/tpay_logo.png +0 -0
  115. package/lib/commonjs/assets/tpay_logo@2x.png +0 -0
  116. package/lib/commonjs/assets/tpay_logo@3x.png +0 -0
  117. package/lib/commonjs/component/tpay_button.js +38 -0
  118. package/lib/commonjs/component/tpay_button.js.map +1 -0
  119. package/lib/commonjs/index.js +856 -0
  120. package/lib/commonjs/index.js.map +1 -0
  121. package/lib/commonjs/model/language/language.js +12 -0
  122. package/lib/commonjs/model/language/language.js.map +1 -0
  123. package/lib/commonjs/model/language/languages.js +21 -0
  124. package/lib/commonjs/model/language/languages.js.map +1 -0
  125. package/lib/commonjs/model/language/localized_string.js +17 -0
  126. package/lib/commonjs/model/language/localized_string.js.map +1 -0
  127. package/lib/commonjs/model/merchant/apple_pay_configuration.js +22 -0
  128. package/lib/commonjs/model/merchant/apple_pay_configuration.js.map +1 -0
  129. package/lib/commonjs/model/merchant/certificate_configuration.js +20 -0
  130. package/lib/commonjs/model/merchant/certificate_configuration.js.map +1 -0
  131. package/lib/commonjs/model/merchant/google_pay_configuration.js +19 -0
  132. package/lib/commonjs/model/merchant/google_pay_configuration.js.map +1 -0
  133. package/lib/commonjs/model/merchant/merchant.js +27 -0
  134. package/lib/commonjs/model/merchant/merchant.js.map +1 -0
  135. package/lib/commonjs/model/merchant/merchant_authorization.js +21 -0
  136. package/lib/commonjs/model/merchant/merchant_authorization.js.map +1 -0
  137. package/lib/commonjs/model/merchant/merchant_details.js +23 -0
  138. package/lib/commonjs/model/merchant/merchant_details.js.map +1 -0
  139. package/lib/commonjs/model/merchant/tpay_environment.js +12 -0
  140. package/lib/commonjs/model/merchant/tpay_environment.js.map +1 -0
  141. package/lib/commonjs/model/merchant/wallet_configuration.js +21 -0
  142. package/lib/commonjs/model/merchant/wallet_configuration.js.map +1 -0
  143. package/lib/commonjs/model/payer/address.js +25 -0
  144. package/lib/commonjs/model/payer/address.js.map +1 -0
  145. package/lib/commonjs/model/payer/payer.js +25 -0
  146. package/lib/commonjs/model/payer/payer.js.map +1 -0
  147. package/lib/commonjs/model/payer/payer_context.js +21 -0
  148. package/lib/commonjs/model/payer/payer_context.js.map +1 -0
  149. package/lib/commonjs/model/payment_channel/payment_channel.js +35 -0
  150. package/lib/commonjs/model/payment_channel/payment_channel.js.map +1 -0
  151. package/lib/commonjs/model/payment_channel/payment_constraint.js +47 -0
  152. package/lib/commonjs/model/payment_channel/payment_constraint.js.map +1 -0
  153. package/lib/commonjs/model/payment_channel/payment_group.js +30 -0
  154. package/lib/commonjs/model/payment_channel/payment_group.js.map +1 -0
  155. package/lib/commonjs/model/payment_method/automatic_payment_methods.js +21 -0
  156. package/lib/commonjs/model/payment_method/automatic_payment_methods.js.map +1 -0
  157. package/lib/commonjs/model/payment_method/blik_alias.js +23 -0
  158. package/lib/commonjs/model/payment_method/blik_alias.js.map +1 -0
  159. package/lib/commonjs/model/payment_method/credit_card_brand.js +16 -0
  160. package/lib/commonjs/model/payment_method/credit_card_brand.js.map +1 -0
  161. package/lib/commonjs/model/payment_method/digital_wallet.js +15 -0
  162. package/lib/commonjs/model/payment_method/digital_wallet.js.map +1 -0
  163. package/lib/commonjs/model/payment_method/installment_payment.js +14 -0
  164. package/lib/commonjs/model/payment_method/installment_payment.js.map +1 -0
  165. package/lib/commonjs/model/payment_method/payment_method.js +16 -0
  166. package/lib/commonjs/model/payment_method/payment_method.js.map +1 -0
  167. package/lib/commonjs/model/payment_method/payment_methods.js +23 -0
  168. package/lib/commonjs/model/payment_method/payment_methods.js.map +1 -0
  169. package/lib/commonjs/model/payment_method/tokenized_card.js +23 -0
  170. package/lib/commonjs/model/payment_method/tokenized_card.js.map +1 -0
  171. package/lib/commonjs/model/result/google_pay_configure_result.js +33 -0
  172. package/lib/commonjs/model/result/google_pay_configure_result.js.map +1 -0
  173. package/lib/commonjs/model/result/google_pay_open_result.js +61 -0
  174. package/lib/commonjs/model/result/google_pay_open_result.js.map +1 -0
  175. package/lib/commonjs/model/result/payment_channels_result.js +42 -0
  176. package/lib/commonjs/model/result/payment_channels_result.js.map +1 -0
  177. package/lib/commonjs/model/result/result.js +96 -0
  178. package/lib/commonjs/model/result/result.js.map +1 -0
  179. package/lib/commonjs/model/result/screenless_result.js +141 -0
  180. package/lib/commonjs/model/result/screenless_result.js.map +1 -0
  181. package/lib/commonjs/model/screenless/ambiguous_alias.js +25 -0
  182. package/lib/commonjs/model/screenless/ambiguous_alias.js.map +1 -0
  183. package/lib/commonjs/model/screenless/ambiguous_blik_payment.js +23 -0
  184. package/lib/commonjs/model/screenless/ambiguous_blik_payment.js.map +1 -0
  185. package/lib/commonjs/model/screenless/apple_pay_payment.js +21 -0
  186. package/lib/commonjs/model/screenless/apple_pay_payment.js.map +1 -0
  187. package/lib/commonjs/model/screenless/blik_payment.js +26 -0
  188. package/lib/commonjs/model/screenless/blik_payment.js.map +1 -0
  189. package/lib/commonjs/model/screenless/callbacks.js +21 -0
  190. package/lib/commonjs/model/screenless/callbacks.js.map +1 -0
  191. package/lib/commonjs/model/screenless/credit_card.js +25 -0
  192. package/lib/commonjs/model/screenless/credit_card.js.map +1 -0
  193. package/lib/commonjs/model/screenless/credit_card_config.js +22 -0
  194. package/lib/commonjs/model/screenless/credit_card_config.js.map +1 -0
  195. package/lib/commonjs/model/screenless/credit_card_payment.js +26 -0
  196. package/lib/commonjs/model/screenless/credit_card_payment.js.map +1 -0
  197. package/lib/commonjs/model/screenless/expiration_date.js +21 -0
  198. package/lib/commonjs/model/screenless/expiration_date.js.map +1 -0
  199. package/lib/commonjs/model/screenless/frequency.js +18 -0
  200. package/lib/commonjs/model/screenless/frequency.js.map +1 -0
  201. package/lib/commonjs/model/screenless/google_pay_environment.js +15 -0
  202. package/lib/commonjs/model/screenless/google_pay_environment.js.map +1 -0
  203. package/lib/commonjs/model/screenless/google_pay_payment.js +21 -0
  204. package/lib/commonjs/model/screenless/google_pay_payment.js.map +1 -0
  205. package/lib/commonjs/model/screenless/google_pay_utils_configuration.js +27 -0
  206. package/lib/commonjs/model/screenless/google_pay_utils_configuration.js.map +1 -0
  207. package/lib/commonjs/model/screenless/notifications.js +21 -0
  208. package/lib/commonjs/model/screenless/notifications.js.map +1 -0
  209. package/lib/commonjs/model/screenless/payment_details.js +25 -0
  210. package/lib/commonjs/model/screenless/payment_details.js.map +1 -0
  211. package/lib/commonjs/model/screenless/raty_pekao_payment.js +21 -0
  212. package/lib/commonjs/model/screenless/raty_pekao_payment.js.map +1 -0
  213. package/lib/commonjs/model/screenless/recursive.js +23 -0
  214. package/lib/commonjs/model/screenless/recursive.js.map +1 -0
  215. package/lib/commonjs/model/screenless/redirects.js +21 -0
  216. package/lib/commonjs/model/screenless/redirects.js.map +1 -0
  217. package/lib/commonjs/model/screenless/screenless_payment.js +23 -0
  218. package/lib/commonjs/model/screenless/screenless_payment.js.map +1 -0
  219. package/lib/commonjs/model/screenless/transfer_payment.js +21 -0
  220. package/lib/commonjs/model/screenless/transfer_payment.js.map +1 -0
  221. package/lib/commonjs/model/tokenization/tokenization.js +21 -0
  222. package/lib/commonjs/model/tokenization/tokenization.js.map +1 -0
  223. package/lib/commonjs/model/tpay_configuration.js +25 -0
  224. package/lib/commonjs/model/tpay_configuration.js.map +1 -0
  225. package/lib/commonjs/model/transaction/single_transaction.js +24 -0
  226. package/lib/commonjs/model/transaction/single_transaction.js.map +1 -0
  227. package/lib/commonjs/model/transaction/token_payment.js +26 -0
  228. package/lib/commonjs/model/transaction/token_payment.js.map +1 -0
  229. package/lib/commonjs/model/transaction/transaction.js +23 -0
  230. package/lib/commonjs/model/transaction/transaction.js.map +1 -0
  231. package/lib/commonjs/util/google_pay_configuration_util.js +22 -0
  232. package/lib/commonjs/util/google_pay_configuration_util.js.map +1 -0
  233. package/lib/commonjs/util/google_pay_open_util.js +24 -0
  234. package/lib/commonjs/util/google_pay_open_util.js.map +1 -0
  235. package/lib/commonjs/util/payment_channels_util.js +22 -0
  236. package/lib/commonjs/util/payment_channels_util.js.map +1 -0
  237. package/lib/commonjs/util/result_util.js +40 -0
  238. package/lib/commonjs/util/result_util.js.map +1 -0
  239. package/lib/commonjs/util/screenless_result_util.js +38 -0
  240. package/lib/commonjs/util/screenless_result_util.js.map +1 -0
  241. package/lib/module/assets/tpay_logo.png +0 -0
  242. package/lib/module/assets/tpay_logo@2x.png +0 -0
  243. package/lib/module/assets/tpay_logo@3x.png +0 -0
  244. package/lib/module/component/tpay_button.js +31 -0
  245. package/lib/module/component/tpay_button.js.map +1 -0
  246. package/lib/module/index.js +204 -0
  247. package/lib/module/index.js.map +1 -0
  248. package/lib/module/model/language/language.js +6 -0
  249. package/lib/module/model/language/language.js.map +1 -0
  250. package/lib/module/model/language/languages.js +14 -0
  251. package/lib/module/model/language/languages.js.map +1 -0
  252. package/lib/module/model/language/localized_string.js +10 -0
  253. package/lib/module/model/language/localized_string.js.map +1 -0
  254. package/lib/module/model/merchant/apple_pay_configuration.js +15 -0
  255. package/lib/module/model/merchant/apple_pay_configuration.js.map +1 -0
  256. package/lib/module/model/merchant/certificate_configuration.js +13 -0
  257. package/lib/module/model/merchant/certificate_configuration.js.map +1 -0
  258. package/lib/module/model/merchant/google_pay_configuration.js +12 -0
  259. package/lib/module/model/merchant/google_pay_configuration.js.map +1 -0
  260. package/lib/module/model/merchant/merchant.js +20 -0
  261. package/lib/module/model/merchant/merchant.js.map +1 -0
  262. package/lib/module/model/merchant/merchant_authorization.js +14 -0
  263. package/lib/module/model/merchant/merchant_authorization.js.map +1 -0
  264. package/lib/module/model/merchant/merchant_details.js +16 -0
  265. package/lib/module/model/merchant/merchant_details.js.map +1 -0
  266. package/lib/module/model/merchant/tpay_environment.js +6 -0
  267. package/lib/module/model/merchant/tpay_environment.js.map +1 -0
  268. package/lib/module/model/merchant/wallet_configuration.js +14 -0
  269. package/lib/module/model/merchant/wallet_configuration.js.map +1 -0
  270. package/lib/module/model/payer/address.js +18 -0
  271. package/lib/module/model/payer/address.js.map +1 -0
  272. package/lib/module/model/payer/payer.js +18 -0
  273. package/lib/module/model/payer/payer.js.map +1 -0
  274. package/lib/module/model/payer/payer_context.js +14 -0
  275. package/lib/module/model/payer/payer_context.js.map +1 -0
  276. package/lib/module/model/payment_channel/payment_channel.js +28 -0
  277. package/lib/module/model/payment_channel/payment_channel.js.map +1 -0
  278. package/lib/module/model/payment_channel/payment_constraint.js +40 -0
  279. package/lib/module/model/payment_channel/payment_constraint.js.map +1 -0
  280. package/lib/module/model/payment_channel/payment_group.js +23 -0
  281. package/lib/module/model/payment_channel/payment_group.js.map +1 -0
  282. package/lib/module/model/payment_method/automatic_payment_methods.js +14 -0
  283. package/lib/module/model/payment_method/automatic_payment_methods.js.map +1 -0
  284. package/lib/module/model/payment_method/blik_alias.js +16 -0
  285. package/lib/module/model/payment_method/blik_alias.js.map +1 -0
  286. package/lib/module/model/payment_method/credit_card_brand.js +10 -0
  287. package/lib/module/model/payment_method/credit_card_brand.js.map +1 -0
  288. package/lib/module/model/payment_method/digital_wallet.js +9 -0
  289. package/lib/module/model/payment_method/digital_wallet.js.map +1 -0
  290. package/lib/module/model/payment_method/installment_payment.js +8 -0
  291. package/lib/module/model/payment_method/installment_payment.js.map +1 -0
  292. package/lib/module/model/payment_method/payment_method.js +10 -0
  293. package/lib/module/model/payment_method/payment_method.js.map +1 -0
  294. package/lib/module/model/payment_method/payment_methods.js +16 -0
  295. package/lib/module/model/payment_method/payment_methods.js.map +1 -0
  296. package/lib/module/model/payment_method/tokenized_card.js +16 -0
  297. package/lib/module/model/payment_method/tokenized_card.js.map +1 -0
  298. package/lib/module/model/result/google_pay_configure_result.js +24 -0
  299. package/lib/module/model/result/google_pay_configure_result.js.map +1 -0
  300. package/lib/module/model/result/google_pay_open_result.js +50 -0
  301. package/lib/module/model/result/google_pay_open_result.js.map +1 -0
  302. package/lib/module/model/result/payment_channels_result.js +33 -0
  303. package/lib/module/model/result/payment_channels_result.js.map +1 -0
  304. package/lib/module/model/result/result.js +81 -0
  305. package/lib/module/model/result/result.js.map +1 -0
  306. package/lib/module/model/result/screenless_result.js +127 -0
  307. package/lib/module/model/result/screenless_result.js.map +1 -0
  308. package/lib/module/model/screenless/ambiguous_alias.js +18 -0
  309. package/lib/module/model/screenless/ambiguous_alias.js.map +1 -0
  310. package/lib/module/model/screenless/ambiguous_blik_payment.js +16 -0
  311. package/lib/module/model/screenless/ambiguous_blik_payment.js.map +1 -0
  312. package/lib/module/model/screenless/apple_pay_payment.js +15 -0
  313. package/lib/module/model/screenless/apple_pay_payment.js.map +1 -0
  314. package/lib/module/model/screenless/blik_payment.js +20 -0
  315. package/lib/module/model/screenless/blik_payment.js.map +1 -0
  316. package/lib/module/model/screenless/callbacks.js +14 -0
  317. package/lib/module/model/screenless/callbacks.js.map +1 -0
  318. package/lib/module/model/screenless/credit_card.js +18 -0
  319. package/lib/module/model/screenless/credit_card.js.map +1 -0
  320. package/lib/module/model/screenless/credit_card_config.js +15 -0
  321. package/lib/module/model/screenless/credit_card_config.js.map +1 -0
  322. package/lib/module/model/screenless/credit_card_payment.js +20 -0
  323. package/lib/module/model/screenless/credit_card_payment.js.map +1 -0
  324. package/lib/module/model/screenless/expiration_date.js +14 -0
  325. package/lib/module/model/screenless/expiration_date.js.map +1 -0
  326. package/lib/module/model/screenless/frequency.js +12 -0
  327. package/lib/module/model/screenless/frequency.js.map +1 -0
  328. package/lib/module/model/screenless/google_pay_environment.js +9 -0
  329. package/lib/module/model/screenless/google_pay_environment.js.map +1 -0
  330. package/lib/module/model/screenless/google_pay_payment.js +15 -0
  331. package/lib/module/model/screenless/google_pay_payment.js.map +1 -0
  332. package/lib/module/model/screenless/google_pay_utils_configuration.js +20 -0
  333. package/lib/module/model/screenless/google_pay_utils_configuration.js.map +1 -0
  334. package/lib/module/model/screenless/notifications.js +14 -0
  335. package/lib/module/model/screenless/notifications.js.map +1 -0
  336. package/lib/module/model/screenless/payment_details.js +18 -0
  337. package/lib/module/model/screenless/payment_details.js.map +1 -0
  338. package/lib/module/model/screenless/raty_pekao_payment.js +15 -0
  339. package/lib/module/model/screenless/raty_pekao_payment.js.map +1 -0
  340. package/lib/module/model/screenless/recursive.js +16 -0
  341. package/lib/module/model/screenless/recursive.js.map +1 -0
  342. package/lib/module/model/screenless/redirects.js +14 -0
  343. package/lib/module/model/screenless/redirects.js.map +1 -0
  344. package/lib/module/model/screenless/screenless_payment.js +16 -0
  345. package/lib/module/model/screenless/screenless_payment.js.map +1 -0
  346. package/lib/module/model/screenless/transfer_payment.js +15 -0
  347. package/lib/module/model/screenless/transfer_payment.js.map +1 -0
  348. package/lib/module/model/tokenization/tokenization.js +14 -0
  349. package/lib/module/model/tokenization/tokenization.js.map +1 -0
  350. package/lib/module/model/tpay_configuration.js +18 -0
  351. package/lib/module/model/tpay_configuration.js.map +1 -0
  352. package/lib/module/model/transaction/single_transaction.js +18 -0
  353. package/lib/module/model/transaction/single_transaction.js.map +1 -0
  354. package/lib/module/model/transaction/token_payment.js +20 -0
  355. package/lib/module/model/transaction/token_payment.js.map +1 -0
  356. package/lib/module/model/transaction/transaction.js +16 -0
  357. package/lib/module/model/transaction/transaction.js.map +1 -0
  358. package/lib/module/util/google_pay_configuration_util.js +16 -0
  359. package/lib/module/util/google_pay_configuration_util.js.map +1 -0
  360. package/lib/module/util/google_pay_open_util.js +18 -0
  361. package/lib/module/util/google_pay_open_util.js.map +1 -0
  362. package/lib/module/util/payment_channels_util.js +16 -0
  363. package/lib/module/util/payment_channels_util.js.map +1 -0
  364. package/lib/module/util/result_util.js +41 -0
  365. package/lib/module/util/result_util.js.map +1 -0
  366. package/lib/module/util/screenless_result_util.js +32 -0
  367. package/lib/module/util/screenless_result_util.js.map +1 -0
  368. package/lib/typescript/src/component/tpay_button.d.ts +13 -0
  369. package/lib/typescript/src/component/tpay_button.d.ts.map +1 -0
  370. package/lib/typescript/src/index.d.ts +147 -0
  371. package/lib/typescript/src/index.d.ts.map +1 -0
  372. package/lib/typescript/src/model/language/language.d.ts +5 -0
  373. package/lib/typescript/src/model/language/language.d.ts.map +1 -0
  374. package/lib/typescript/src/model/language/languages.d.ts +14 -0
  375. package/lib/typescript/src/model/language/languages.d.ts.map +1 -0
  376. package/lib/typescript/src/model/language/localized_string.d.ts +10 -0
  377. package/lib/typescript/src/model/language/localized_string.d.ts.map +1 -0
  378. package/lib/typescript/src/model/merchant/apple_pay_configuration.d.ts +14 -0
  379. package/lib/typescript/src/model/merchant/apple_pay_configuration.d.ts.map +1 -0
  380. package/lib/typescript/src/model/merchant/certificate_configuration.d.ts +12 -0
  381. package/lib/typescript/src/model/merchant/certificate_configuration.d.ts.map +1 -0
  382. package/lib/typescript/src/model/merchant/google_pay_configuration.d.ts +11 -0
  383. package/lib/typescript/src/model/merchant/google_pay_configuration.d.ts.map +1 -0
  384. package/lib/typescript/src/model/merchant/merchant.d.ts +23 -0
  385. package/lib/typescript/src/model/merchant/merchant.d.ts.map +1 -0
  386. package/lib/typescript/src/model/merchant/merchant_authorization.d.ts +13 -0
  387. package/lib/typescript/src/model/merchant/merchant_authorization.d.ts.map +1 -0
  388. package/lib/typescript/src/model/merchant/merchant_details.d.ts +16 -0
  389. package/lib/typescript/src/model/merchant/merchant_details.d.ts.map +1 -0
  390. package/lib/typescript/src/model/merchant/tpay_environment.d.ts +5 -0
  391. package/lib/typescript/src/model/merchant/tpay_environment.d.ts.map +1 -0
  392. package/lib/typescript/src/model/merchant/wallet_configuration.d.ts +15 -0
  393. package/lib/typescript/src/model/merchant/wallet_configuration.d.ts.map +1 -0
  394. package/lib/typescript/src/model/payer/address.d.ts +17 -0
  395. package/lib/typescript/src/model/payer/address.d.ts.map +1 -0
  396. package/lib/typescript/src/model/payer/payer.d.ts +18 -0
  397. package/lib/typescript/src/model/payer/payer.d.ts.map +1 -0
  398. package/lib/typescript/src/model/payer/payer_context.d.ts +15 -0
  399. package/lib/typescript/src/model/payer/payer_context.d.ts.map +1 -0
  400. package/lib/typescript/src/model/payment_channel/payment_channel.d.ts +24 -0
  401. package/lib/typescript/src/model/payment_channel/payment_channel.d.ts.map +1 -0
  402. package/lib/typescript/src/model/payment_channel/payment_constraint.d.ts +31 -0
  403. package/lib/typescript/src/model/payment_channel/payment_constraint.d.ts.map +1 -0
  404. package/lib/typescript/src/model/payment_channel/payment_group.d.ts +19 -0
  405. package/lib/typescript/src/model/payment_channel/payment_group.d.ts.map +1 -0
  406. package/lib/typescript/src/model/payment_method/automatic_payment_methods.d.ts +15 -0
  407. package/lib/typescript/src/model/payment_method/automatic_payment_methods.d.ts.map +1 -0
  408. package/lib/typescript/src/model/payment_method/blik_alias.d.ts +15 -0
  409. package/lib/typescript/src/model/payment_method/blik_alias.d.ts.map +1 -0
  410. package/lib/typescript/src/model/payment_method/credit_card_brand.d.ts +9 -0
  411. package/lib/typescript/src/model/payment_method/credit_card_brand.d.ts.map +1 -0
  412. package/lib/typescript/src/model/payment_method/digital_wallet.d.ts +8 -0
  413. package/lib/typescript/src/model/payment_method/digital_wallet.d.ts.map +1 -0
  414. package/lib/typescript/src/model/payment_method/installment_payment.d.ts +7 -0
  415. package/lib/typescript/src/model/payment_method/installment_payment.d.ts.map +1 -0
  416. package/lib/typescript/src/model/payment_method/payment_method.d.ts +9 -0
  417. package/lib/typescript/src/model/payment_method/payment_method.d.ts.map +1 -0
  418. package/lib/typescript/src/model/payment_method/payment_methods.d.ts +18 -0
  419. package/lib/typescript/src/model/payment_method/payment_methods.d.ts.map +1 -0
  420. package/lib/typescript/src/model/payment_method/tokenized_card.d.ts +16 -0
  421. package/lib/typescript/src/model/payment_method/tokenized_card.d.ts.map +1 -0
  422. package/lib/typescript/src/model/result/google_pay_configure_result.d.ts +21 -0
  423. package/lib/typescript/src/model/result/google_pay_configure_result.d.ts.map +1 -0
  424. package/lib/typescript/src/model/result/google_pay_open_result.d.ts +44 -0
  425. package/lib/typescript/src/model/result/google_pay_open_result.d.ts.map +1 -0
  426. package/lib/typescript/src/model/result/payment_channels_result.d.ts +27 -0
  427. package/lib/typescript/src/model/result/payment_channels_result.d.ts.map +1 -0
  428. package/lib/typescript/src/model/result/result.d.ts +66 -0
  429. package/lib/typescript/src/model/result/result.d.ts.map +1 -0
  430. package/lib/typescript/src/model/result/screenless_result.d.ts +98 -0
  431. package/lib/typescript/src/model/result/screenless_result.d.ts.map +1 -0
  432. package/lib/typescript/src/model/screenless/ambiguous_alias.d.ts +15 -0
  433. package/lib/typescript/src/model/screenless/ambiguous_alias.d.ts.map +1 -0
  434. package/lib/typescript/src/model/screenless/ambiguous_blik_payment.d.ts +17 -0
  435. package/lib/typescript/src/model/screenless/ambiguous_blik_payment.d.ts.map +1 -0
  436. package/lib/typescript/src/model/screenless/apple_pay_payment.d.ts +15 -0
  437. package/lib/typescript/src/model/screenless/apple_pay_payment.d.ts.map +1 -0
  438. package/lib/typescript/src/model/screenless/blik_payment.d.ts +21 -0
  439. package/lib/typescript/src/model/screenless/blik_payment.d.ts.map +1 -0
  440. package/lib/typescript/src/model/screenless/callbacks.d.ts +15 -0
  441. package/lib/typescript/src/model/screenless/callbacks.d.ts.map +1 -0
  442. package/lib/typescript/src/model/screenless/credit_card.d.ts +19 -0
  443. package/lib/typescript/src/model/screenless/credit_card.d.ts.map +1 -0
  444. package/lib/typescript/src/model/screenless/credit_card_config.d.ts +14 -0
  445. package/lib/typescript/src/model/screenless/credit_card_config.d.ts.map +1 -0
  446. package/lib/typescript/src/model/screenless/credit_card_payment.d.ts +21 -0
  447. package/lib/typescript/src/model/screenless/credit_card_payment.d.ts.map +1 -0
  448. package/lib/typescript/src/model/screenless/expiration_date.d.ts +13 -0
  449. package/lib/typescript/src/model/screenless/expiration_date.d.ts.map +1 -0
  450. package/lib/typescript/src/model/screenless/frequency.d.ts +11 -0
  451. package/lib/typescript/src/model/screenless/frequency.d.ts.map +1 -0
  452. package/lib/typescript/src/model/screenless/google_pay_environment.d.ts +8 -0
  453. package/lib/typescript/src/model/screenless/google_pay_environment.d.ts.map +1 -0
  454. package/lib/typescript/src/model/screenless/google_pay_payment.d.ts +15 -0
  455. package/lib/typescript/src/model/screenless/google_pay_payment.d.ts.map +1 -0
  456. package/lib/typescript/src/model/screenless/google_pay_utils_configuration.d.ts +20 -0
  457. package/lib/typescript/src/model/screenless/google_pay_utils_configuration.d.ts.map +1 -0
  458. package/lib/typescript/src/model/screenless/notifications.d.ts +13 -0
  459. package/lib/typescript/src/model/screenless/notifications.d.ts.map +1 -0
  460. package/lib/typescript/src/model/screenless/payment_details.d.ts +18 -0
  461. package/lib/typescript/src/model/screenless/payment_details.d.ts.map +1 -0
  462. package/lib/typescript/src/model/screenless/raty_pekao_payment.d.ts +15 -0
  463. package/lib/typescript/src/model/screenless/raty_pekao_payment.d.ts.map +1 -0
  464. package/lib/typescript/src/model/screenless/recursive.d.ts +16 -0
  465. package/lib/typescript/src/model/screenless/recursive.d.ts.map +1 -0
  466. package/lib/typescript/src/model/screenless/redirects.d.ts +13 -0
  467. package/lib/typescript/src/model/screenless/redirects.d.ts.map +1 -0
  468. package/lib/typescript/src/model/screenless/screenless_payment.d.ts +18 -0
  469. package/lib/typescript/src/model/screenless/screenless_payment.d.ts.map +1 -0
  470. package/lib/typescript/src/model/screenless/transfer_payment.d.ts +15 -0
  471. package/lib/typescript/src/model/screenless/transfer_payment.d.ts.map +1 -0
  472. package/lib/typescript/src/model/tokenization/tokenization.d.ts +14 -0
  473. package/lib/typescript/src/model/tokenization/tokenization.d.ts.map +1 -0
  474. package/lib/typescript/src/model/tpay_configuration.d.ts +21 -0
  475. package/lib/typescript/src/model/tpay_configuration.d.ts.map +1 -0
  476. package/lib/typescript/src/model/transaction/single_transaction.d.ts +17 -0
  477. package/lib/typescript/src/model/transaction/single_transaction.d.ts.map +1 -0
  478. package/lib/typescript/src/model/transaction/token_payment.d.ts +19 -0
  479. package/lib/typescript/src/model/transaction/token_payment.d.ts.map +1 -0
  480. package/lib/typescript/src/model/transaction/transaction.d.ts +16 -0
  481. package/lib/typescript/src/model/transaction/transaction.d.ts.map +1 -0
  482. package/lib/typescript/src/util/google_pay_configuration_util.d.ts +3 -0
  483. package/lib/typescript/src/util/google_pay_configuration_util.d.ts.map +1 -0
  484. package/lib/typescript/src/util/google_pay_open_util.d.ts +3 -0
  485. package/lib/typescript/src/util/google_pay_open_util.d.ts.map +1 -0
  486. package/lib/typescript/src/util/payment_channels_util.d.ts +3 -0
  487. package/lib/typescript/src/util/payment_channels_util.d.ts.map +1 -0
  488. package/lib/typescript/src/util/result_util.d.ts +3 -0
  489. package/lib/typescript/src/util/result_util.d.ts.map +1 -0
  490. package/lib/typescript/src/util/screenless_result_util.d.ts +3 -0
  491. package/lib/typescript/src/util/screenless_result_util.d.ts.map +1 -0
  492. package/package.json +164 -0
  493. package/react-native-tpay.podspec +42 -0
  494. package/src/assets/tpay_logo.png +0 -0
  495. package/src/assets/tpay_logo@2x.png +0 -0
  496. package/src/assets/tpay_logo@3x.png +0 -0
  497. package/src/component/tpay_button.tsx +44 -0
  498. package/src/index.tsx +267 -0
  499. package/src/model/language/language.ts +4 -0
  500. package/src/model/language/languages.ts +21 -0
  501. package/src/model/language/localized_string.ts +14 -0
  502. package/src/model/merchant/apple_pay_configuration.ts +17 -0
  503. package/src/model/merchant/certificate_configuration.ts +15 -0
  504. package/src/model/merchant/google_pay_configuration.ts +13 -0
  505. package/src/model/merchant/merchant.ts +36 -0
  506. package/src/model/merchant/merchant_authorization.ts +16 -0
  507. package/src/model/merchant/merchant_details.ts +25 -0
  508. package/src/model/merchant/tpay_environment.ts +4 -0
  509. package/src/model/merchant/wallet_configuration.ts +22 -0
  510. package/src/model/payer/address.ts +27 -0
  511. package/src/model/payer/payer.ts +29 -0
  512. package/src/model/payer/payer_context.ts +22 -0
  513. package/src/model/payment_channel/payment_channel.ts +38 -0
  514. package/src/model/payment_channel/payment_constraint.ts +41 -0
  515. package/src/model/payment_channel/payment_group.ts +25 -0
  516. package/src/model/payment_method/automatic_payment_methods.ts +22 -0
  517. package/src/model/payment_method/blik_alias.ts +19 -0
  518. package/src/model/payment_method/credit_card_brand.ts +8 -0
  519. package/src/model/payment_method/digital_wallet.ts +7 -0
  520. package/src/model/payment_method/installment_payment.ts +6 -0
  521. package/src/model/payment_method/payment_method.ts +8 -0
  522. package/src/model/payment_method/payment_methods.ts +27 -0
  523. package/src/model/payment_method/tokenized_card.ts +21 -0
  524. package/src/model/result/google_pay_configure_result.ts +25 -0
  525. package/src/model/result/google_pay_open_result.ts +58 -0
  526. package/src/model/result/payment_channels_result.ts +36 -0
  527. package/src/model/result/result.ts +84 -0
  528. package/src/model/result/screenless_result.ts +138 -0
  529. package/src/model/screenless/ambiguous_alias.ts +19 -0
  530. package/src/model/screenless/ambiguous_blik_payment.ts +26 -0
  531. package/src/model/screenless/apple_pay_payment.ts +24 -0
  532. package/src/model/screenless/blik_payment.ts +32 -0
  533. package/src/model/screenless/callbacks.ts +22 -0
  534. package/src/model/screenless/credit_card.ts +30 -0
  535. package/src/model/screenless/credit_card_config.ts +18 -0
  536. package/src/model/screenless/credit_card_payment.ts +32 -0
  537. package/src/model/screenless/expiration_date.ts +16 -0
  538. package/src/model/screenless/frequency.ts +10 -0
  539. package/src/model/screenless/google_pay_environment.ts +7 -0
  540. package/src/model/screenless/google_pay_payment.ts +24 -0
  541. package/src/model/screenless/google_pay_utils_configuration.ts +33 -0
  542. package/src/model/screenless/notifications.ts +16 -0
  543. package/src/model/screenless/payment_details.ts +29 -0
  544. package/src/model/screenless/raty_pekao_payment.ts +24 -0
  545. package/src/model/screenless/recursive.ts +21 -0
  546. package/src/model/screenless/redirects.ts +16 -0
  547. package/src/model/screenless/screenless_payment.ts +27 -0
  548. package/src/model/screenless/transfer_payment.ts +24 -0
  549. package/src/model/tokenization/tokenization.ts +18 -0
  550. package/src/model/tpay_configuration.ts +32 -0
  551. package/src/model/transaction/single_transaction.ts +26 -0
  552. package/src/model/transaction/token_payment.ts +30 -0
  553. package/src/model/transaction/transaction.ts +25 -0
  554. package/src/util/google_pay_configuration_util.ts +25 -0
  555. package/src/util/google_pay_open_util.ts +31 -0
  556. package/src/util/payment_channels_util.ts +22 -0
  557. package/src/util/result_util.ts +44 -0
  558. package/src/util/screenless_result_util.ts +50 -0
@@ -0,0 +1,14 @@
1
+ package com.tpay.model
2
+
3
+ import com.tpay.model.googlePay.GooglePayConfiguration
4
+ import org.json.JSONObject
5
+
6
+ data class WalletConfiguration(val googlePay: GooglePayConfiguration?) {
7
+ companion object {
8
+ private const val GOOGLE_PAY = "googlePay"
9
+
10
+ fun fromJson(json: JSONObject): WalletConfiguration = json.run {
11
+ WalletConfiguration(googlePay = optJSONObject(GOOGLE_PAY)?.run(GooglePayConfiguration::fromJson))
12
+ }
13
+ }
14
+ }
@@ -0,0 +1,13 @@
1
+ package com.tpay.model.googlePay
2
+
3
+ import org.json.JSONObject
4
+
5
+ data class GooglePayConfiguration(val merchantId: String) {
6
+ companion object {
7
+ private const val MERCHANT_ID = "merchantId"
8
+
9
+ fun fromJson(json: JSONObject) = json.run {
10
+ GooglePayConfiguration(merchantId = getString(MERCHANT_ID))
11
+ }
12
+ }
13
+ }
@@ -0,0 +1,6 @@
1
+ package com.tpay.model.googlePay
2
+
3
+ sealed class GooglePayConfigureResult {
4
+ object Success : GooglePayConfigureResult()
5
+ data class Error(val errorMessage: String?) : GooglePayConfigureResult()
6
+ }
@@ -0,0 +1,57 @@
1
+ package com.tpay.model.googlePay
2
+
3
+ import com.tpay.sdk.api.screenless.googlePay.GooglePayEnvironment
4
+ import org.json.JSONObject
5
+ import com.tpay.extension.ValidationException
6
+
7
+ data class GooglePayUtilsConfiguration(
8
+ val price: Double,
9
+ val merchantName: String,
10
+ val merchantId: String,
11
+ val environment: GooglePayEnvironment,
12
+ val customRequestCode: Int? = null
13
+ ) {
14
+ fun validate() {
15
+ if (price <= 0) {
16
+ throw ValidationException(PRICE_INVALID)
17
+ }
18
+ if (merchantName.isBlank()) {
19
+ throw ValidationException(MERCHANT_NAME_BLANK)
20
+ }
21
+ if (merchantId.isBlank()) {
22
+ throw ValidationException(MERCHANT_ID_BLANK)
23
+ }
24
+ customRequestCode?.run {
25
+ if (this < 0) {
26
+ throw ValidationException(CUSTOM_REQUEST_CODE_NEGATIVE)
27
+ }
28
+ }
29
+ }
30
+
31
+ companion object {
32
+ private const val PRICE = "price"
33
+ private const val MERCHANT_NAME = "merchantName"
34
+ private const val MERCHANT_ID = "merchantId"
35
+ private const val ENVIRONMENT = "environment"
36
+ private const val CUSTOM_REQUEST_CODE = "customRequestCode"
37
+ private const val ENVIRONMENT_PRODUCTION = "production"
38
+ private const val ENVIRONMENT_TEST = "test"
39
+ private const val UNKNOWN_ENVIRONMENT_MESSAGE = "Unknown Google Pay environment"
40
+ private const val PRICE_INVALID = "Price is invalid"
41
+ private const val MERCHANT_NAME_BLANK = "Merchant name cannot be blank"
42
+ private const val MERCHANT_ID_BLANK = "Merchant id cannot be blank"
43
+ private const val CUSTOM_REQUEST_CODE_NEGATIVE = "Custom request code cannot be negative"
44
+
45
+ fun fromJson(json: String): GooglePayUtilsConfiguration {
46
+ val rootJson = JSONObject(json)
47
+
48
+ return GooglePayUtilsConfiguration(
49
+ price = rootJson.getDouble(PRICE),
50
+ merchantName = rootJson.getString(MERCHANT_NAME),
51
+ merchantId = rootJson.getString(MERCHANT_ID),
52
+ environment = GooglePayEnvironment.valueOf(rootJson.getString(ENVIRONMENT).uppercase()),
53
+ customRequestCode = rootJson.optInt(CUSTOM_REQUEST_CODE)
54
+ )
55
+ }
56
+ }
57
+ }
@@ -0,0 +1,35 @@
1
+ package com.tpay.model.screenless
2
+
3
+ import org.json.JSONObject
4
+ import com.tpay.sdk.api.screenless.blik.AmbiguousAlias
5
+
6
+ data class AmbiguousBLIKAlias(
7
+ val name: String,
8
+ val code: String
9
+ ) {
10
+ fun toJson(): String {
11
+ return JSONObject().apply {
12
+ put(NAME, name)
13
+ put(CODE, code)
14
+ }.toString()
15
+ }
16
+
17
+ fun toAmbiguousAlias(): AmbiguousAlias {
18
+ return AmbiguousAlias(
19
+ name = name,
20
+ code = code
21
+ )
22
+ }
23
+
24
+ companion object {
25
+ private const val NAME = "name"
26
+ private const val CODE = "code"
27
+
28
+ fun fromJson(jsonObject: JSONObject): AmbiguousBLIKAlias = jsonObject.run {
29
+ AmbiguousBLIKAlias(
30
+ name = getString(NAME),
31
+ code = getString(CODE)
32
+ )
33
+ }
34
+ }
35
+ }
@@ -0,0 +1,26 @@
1
+ package com.tpay.model.screenless
2
+
3
+ import com.tpay.sdk.api.models.BlikAlias
4
+ import org.json.JSONObject
5
+ import com.tpay.sdk.api.screenless.blik.*
6
+ import com.tpay.extension.*
7
+
8
+ data class AmbiguousBLIKPayment(
9
+ val transactionId: String,
10
+ val blikAlias: BlikAlias,
11
+ val ambiguousBlikAlias: AmbiguousBLIKAlias
12
+ ) {
13
+ companion object {
14
+ private const val TRANSACTION_ID = "transactionId"
15
+ private const val BLIK_ALIAS = "blikAlias"
16
+ private const val AMBIGUOUS_ALIAS = "ambiguousAlias"
17
+
18
+ fun fromJson(json: String): AmbiguousBLIKPayment = JSONObject(json).run {
19
+ AmbiguousBLIKPayment(
20
+ transactionId = getString(TRANSACTION_ID),
21
+ blikAlias = getJSONObject(BLIK_ALIAS).run { getBlikAlias() },
22
+ ambiguousBlikAlias = AmbiguousBLIKAlias.fromJson(getJSONObject(AMBIGUOUS_ALIAS))
23
+ )
24
+ }
25
+ }
26
+ }
@@ -0,0 +1,28 @@
1
+ package com.tpay.model.screenless
2
+
3
+ import com.tpay.sdk.api.models.BlikAlias
4
+ import org.json.JSONObject
5
+ import com.tpay.util.ValidationMessages
6
+ import com.tpay.extension.*
7
+
8
+ class BLIKScreenlessPayment(json: String) : ScreenlessPayment(json) {
9
+ val code: String? = actuallyOptString(CODE)
10
+ val alias: BlikAlias? = optJSONObject(ALIAS)?.run { getBlikAlias() }
11
+
12
+ override fun validate() {
13
+ super.validate()
14
+ if (code.isNullOrBlank() && alias == null) {
15
+ throw ValidationException(ValidationMessages.BLIK_CODE_AND_ALIAS_NULL)
16
+ }
17
+ code?.let {
18
+ if (!code.isValidBLIKCode()) {
19
+ throw ValidationException(ValidationMessages.BLIK_CODE_INVALID)
20
+ }
21
+ }
22
+ }
23
+
24
+ companion object {
25
+ private const val CODE = "code"
26
+ private const val ALIAS = "alias"
27
+ }
28
+ }
@@ -0,0 +1,10 @@
1
+ package com.tpay.model.screenless
2
+
3
+ import com.tpay.sdk.api.screenless.card.CreditCard
4
+
5
+ data class CreditCardData(
6
+ val creditCard: CreditCard,
7
+ val saveCard: Boolean,
8
+ val domain: String,
9
+ val rocText: String?
10
+ )
@@ -0,0 +1,75 @@
1
+ package com.tpay.model.screenless
2
+
3
+ import com.tpay.sdk.api.screenless.card.Recursive
4
+ import com.tpay.sdk.api.screenless.card.CreditCard
5
+ import com.tpay.sdk.api.models.transaction.*
6
+ import java.text.SimpleDateFormat
7
+ import com.tpay.util.ValidationMessages
8
+ import com.tpay.extension.ValidationException
9
+ import com.tpay.extension.actuallyOptString
10
+
11
+ class CreditCardScreenlessPayment(json: String) : ScreenlessPayment(json) {
12
+ val creditCardData: CreditCardData? = optJSONObject(CREDIT_CARD)?.let { creditCardJson ->
13
+ creditCardJson.getJSONObject(CONFIG).let { configJson ->
14
+ CreditCardData(
15
+ creditCard = CreditCard(
16
+ cardNumber = creditCardJson.getString(CARD_NUMBER),
17
+ expirationDate = ExpirationDate.fromJson(
18
+ creditCardJson.getJSONObject(EXPIRY_DATE)
19
+ ).toString(),
20
+ cvv = creditCardJson.getString(CVV)
21
+ ),
22
+ saveCard = configJson.getBoolean(SAVE_CARD),
23
+ domain = configJson.getString(DOMAIN),
24
+ rocText = configJson.actuallyOptString(ROC_TEXT)
25
+ )
26
+ }
27
+ }
28
+
29
+ val recursive: Recursive? = optJSONObject(RECURSIVE)?.run {
30
+ Recursive(
31
+ frequency = Frequency.valueOf(getString(FREQUENCY).uppercase()),
32
+ quantity = optInt(QUANTITY, -1).let { value ->
33
+ when (value) {
34
+ -1 -> Quantity.Indefinite
35
+ else -> Quantity.Specified(value)
36
+ }
37
+ },
38
+ expirationDate = SimpleDateFormat(DATE_FORMAT).parse(getString(END_DATE))
39
+ )
40
+ }
41
+
42
+ val cardToken: String? = actuallyOptString(CARD_TOKEN)
43
+
44
+ override fun validate() {
45
+ super.validate()
46
+
47
+ if (cardToken == null && creditCardData == null) {
48
+ throw ValidationException(ValidationMessages.CREDIT_CARD_DATA_NULL)
49
+ }
50
+ }
51
+
52
+ companion object {
53
+ private const val CREDIT_CARD = "creditCard"
54
+ private const val RECURSIVE = "recursive"
55
+ private const val CARD_NUMBER = "cardNumber"
56
+ private const val EXPIRY_DATE = "expiryDate"
57
+ private const val END_DATE = "endDate"
58
+ private const val CVV = "cvv"
59
+ private const val FREQUENCY = "frequency"
60
+ private const val QUANTITY = "quantity"
61
+ private const val CARD_TOKEN = "creditCardToken"
62
+ private const val SAVE_CARD = "shouldSave"
63
+ private const val DOMAIN = "domain"
64
+ private const val ROC_TEXT = "rocText"
65
+ private const val CONFIG = "config"
66
+
67
+ private const val DAILY = "daily"
68
+ private const val WEEKLY = "weekly"
69
+ private const val MONTHLY = "monthly"
70
+ private const val QUARTERLY = "quarterly"
71
+ private const val YEARLY = "yearly"
72
+
73
+ private const val DATE_FORMAT = "yyyy-MM-dd"
74
+ }
75
+ }
@@ -0,0 +1,22 @@
1
+ package com.tpay.model.screenless
2
+
3
+ import org.json.JSONObject
4
+
5
+ data class ExpirationDate(val month: String, val year: String) {
6
+ override fun toString(): String {
7
+ return "$month$SEPARATOR$year"
8
+ }
9
+
10
+ companion object {
11
+ private const val MONTH = "month"
12
+ private const val YEAR = "year"
13
+ private const val SEPARATOR = "/"
14
+
15
+ fun fromJson(jsonObject: JSONObject): ExpirationDate {
16
+ return ExpirationDate(
17
+ month = jsonObject.getString(MONTH),
18
+ year = jsonObject.getString(YEAR)
19
+ )
20
+ }
21
+ }
22
+ }
@@ -0,0 +1,19 @@
1
+ package com.tpay.model.screenless
2
+
3
+ import com.tpay.util.ValidationMessages
4
+ import com.tpay.extension.*
5
+
6
+ class GooglePayScreenlessPayment(json: String) : ScreenlessPayment(json) {
7
+ val token: String = getString(TOKEN)
8
+
9
+ override fun validate() {
10
+ super.validate()
11
+ if (token.isBlank()) {
12
+ throw ValidationException(ValidationMessages.GOOGLE_PAY_TOKEN_BLANK)
13
+ }
14
+ }
15
+
16
+ companion object {
17
+ private const val TOKEN = "token"
18
+ }
19
+ }
@@ -0,0 +1,5 @@
1
+ package com.tpay.model.screenless
2
+
3
+ enum class PaymentConstraintType {
4
+ AMOUNT
5
+ }
@@ -0,0 +1,9 @@
1
+ package com.tpay.model.screenless
2
+
3
+ class RatyPekaoScreenlessPayment(json: String) : ScreenlessPayment(json) {
4
+ val channelId: Int = getInt(CHANNEL_ID)
5
+
6
+ companion object {
7
+ private const val CHANNEL_ID = "channelId"
8
+ }
9
+ }
@@ -0,0 +1,87 @@
1
+ package com.tpay.model.screenless
2
+
3
+ import org.json.JSONObject
4
+ import com.tpay.util.ValidationMessages
5
+ import com.tpay.extension.*
6
+ import com.tpay.util.JsonUtil
7
+ import com.tpay.sdk.api.models.payer.Payer
8
+ import com.tpay.sdk.api.screenless.Redirects
9
+ import com.tpay.sdk.api.screenless.Notifications
10
+ import com.tpay.sdk.api.models.Language
11
+
12
+ open class ScreenlessPayment(json: String) : JSONObject(json) {
13
+ val amount: Double
14
+ val description: String
15
+ val hiddenDescription: String?
16
+ val language: Language?
17
+ val payer: Payer
18
+ val redirects: Redirects?
19
+ val notifications: Notifications?
20
+
21
+ init {
22
+ getJSONObject(PAYMENT_DETAILS).let { paymentDetailsJson ->
23
+ amount = paymentDetailsJson.getDouble(AMOUNT)
24
+ description = paymentDetailsJson.getString(DESCRIPTION)
25
+ hiddenDescription = paymentDetailsJson.actuallyOptString(HIDDEN_DESCRIPTION)
26
+ language = paymentDetailsJson.actuallyOptString(LANGUAGE)?.uppercase()?.let { lang ->
27
+ Language.valueOf(lang)
28
+ }
29
+ }
30
+ payer = JsonUtil.getPayer(getJSONObject(PAYER).toString())
31
+ optJSONObject(CALLBACKS).let { callbacksJson ->
32
+ if (callbacksJson == null) {
33
+ redirects = null
34
+ notifications = null
35
+ } else {
36
+ redirects = callbacksJson.optJSONObject(REDIRECTS)?.let { redirectsJson ->
37
+ Redirects(
38
+ successUrl = redirectsJson.getString(SUCCESS_URL),
39
+ errorUrl = redirectsJson.getString(ERROR_URL)
40
+ )
41
+ }
42
+ notifications = callbacksJson.optJSONObject(NOTIFICATIONS)?.let { notificationsJson ->
43
+ Notifications(
44
+ notificationUrl = notificationsJson.getString(URL),
45
+ notificationEmail = notificationsJson.getString(EMAIL)
46
+ )
47
+ }
48
+ }
49
+ }
50
+ }
51
+
52
+ open fun validate() {
53
+ if (amount <= 0) {
54
+ throw ValidationException(ValidationMessages.AMOUNT_NEGATIVE)
55
+ }
56
+ if (description.isBlank()) {
57
+ throw ValidationException(ValidationMessages.DESCRIPTION_BLANK)
58
+ }
59
+ if (!payer.email.isEmailValid()) {
60
+ throw ValidationException(ValidationMessages.PAYER_EMAIL_INVALID)
61
+ }
62
+ notifications?.let {
63
+ if (!notifications.notificationEmail.isEmailValid()) {
64
+ throw ValidationException(ValidationMessages.NOTIFICATION_EMAIL_INVALID)
65
+ }
66
+ }
67
+ }
68
+
69
+ companion object {
70
+ const val PAYMENT_DETAILS = "paymentDetails"
71
+ const val AMOUNT = "amount"
72
+ const val DESCRIPTION = "description"
73
+ const val HIDDEN_DESCRIPTION = "hiddenDescription"
74
+ const val LANGUAGE = "language"
75
+ const val PAYER = "payer"
76
+ const val CALLBACKS = "callbacks"
77
+ const val REDIRECTS = "redirects"
78
+ const val SUCCESS_URL = "successUrl"
79
+ const val ERROR_URL = "errorUrl"
80
+ const val NOTIFICATIONS = "notifications"
81
+ const val URL = "url"
82
+ const val EMAIL = "email"
83
+ const val DELAY_MILLIS = "delayMillis"
84
+ const val MAX_REQUEST_COUNT = "maxRequestCount"
85
+ const val STOP_ON_FIRST_REQUEST_ERROR = "stopOnFirstRequestError"
86
+ }
87
+ }
@@ -0,0 +1,9 @@
1
+ package com.tpay.model.screenless
2
+
3
+ class TransferScreenlessPayment(json: String) : ScreenlessPayment(json) {
4
+ val channelId: Int = getInt(CHANNEL_ID)
5
+
6
+ companion object {
7
+ private const val CHANNEL_ID = "channelId"
8
+ }
9
+ }
@@ -0,0 +1,178 @@
1
+ package com.tpay.util
2
+
3
+ import com.tpay.sdk.api.models.transaction.SingleTransaction
4
+ import org.json.JSONObject
5
+ import com.tpay.sdk.api.models.payer.Payer
6
+ import com.tpay.sdk.api.models.*
7
+ import com.tpay.sdk.api.paycard.CreditCardBrand
8
+ import com.tpay.sdk.api.models.PayerContext
9
+ import com.tpay.sdk.api.cardTokenPayment.CardTokenTransaction
10
+ import com.tpay.sdk.api.screenless.Notifications
11
+ import com.tpay.sdk.api.addCard.Tokenization
12
+ import com.tpay.extension.*
13
+ import com.tpay.util.ValidationMessages
14
+ import com.tpay.extension.ValidationException
15
+
16
+ object JsonUtil {
17
+ private const val NAME = "name"
18
+ private const val EMAIL = "email"
19
+ private const val PHONE = "phone"
20
+ private const val ADDRESS = "address"
21
+ private const val CITY = "city"
22
+ private const val COUNTRY_CODE = "countryCode"
23
+ private const val POSTAL_CODE = "postalCode"
24
+ private const val AMOUNT = "amount"
25
+ private const val DESCRIPTION = "description"
26
+ private const val PAYER = "payer"
27
+ private const val CARD_TOKEN = "cardToken"
28
+ private const val PAYER_CONTEXT = "payerContext"
29
+ private const val NOTIFICATIONS = "notifications"
30
+ private const val AUTOMATIC_PAYMENT_METHODS = "automaticPaymentMethods"
31
+ private const val TOKENIZED_CARDS = "tokenizedCards"
32
+ private const val BLIK_ALIAS = "blikAlias"
33
+ private const val TOKEN = "token"
34
+ private const val CARD_TAIL = "cardTail"
35
+ private const val BRAND = "brand"
36
+ private const val MASTERCARD = "mastercard"
37
+ private const val VISA = "visa"
38
+ private const val VALUE = "value"
39
+ private const val LABEL = "label"
40
+ private const val URL = "url"
41
+ private const val NOTIFICATION_URL = "notificationUrl"
42
+ private const val IS_REGISTERED = "isRegistered"
43
+
44
+ fun getTokenization(json: String): Tokenization {
45
+ val rootJson = JSONObject(json)
46
+
47
+ return Tokenization(
48
+ payer = getPayer(rootJson.optJSONObject(PAYER)?.toString()),
49
+ notificationUrl = rootJson.getString(NOTIFICATION_URL)
50
+ )
51
+ }
52
+
53
+ fun getPayer(json: String?): Payer {
54
+ json ?: return Payer(
55
+ name = "",
56
+ email = "",
57
+ phone = null,
58
+ address = null
59
+ )
60
+
61
+ val rootJson = JSONObject(json)
62
+
63
+ val name = rootJson.actuallyOptString(NAME)
64
+ val email = rootJson.actuallyOptString(EMAIL)
65
+ val phone = rootJson.actuallyOptString(PHONE)
66
+
67
+ val addressJson = rootJson.optJSONObject(ADDRESS)
68
+ val address = addressJson?.actuallyOptString(ADDRESS)
69
+ val city = addressJson?.actuallyOptString(CITY)
70
+ val countryCode = addressJson?.actuallyOptString(COUNTRY_CODE)
71
+ val postalCode = addressJson?.actuallyOptString(POSTAL_CODE)
72
+
73
+ return Payer(
74
+ name = name ?: "",
75
+ email = email ?: "",
76
+ phone = phone,
77
+ address = address?.run {
78
+ Payer.Address(
79
+ address = address,
80
+ city = city,
81
+ countryCode = countryCode,
82
+ postalCode = postalCode
83
+ )
84
+ }
85
+ )
86
+ }
87
+
88
+ fun getCardTokenTransaction(json: String): CardTokenTransaction {
89
+ val rootJson = JSONObject(json)
90
+
91
+ val amount = rootJson.getDouble(AMOUNT)
92
+ val description = rootJson.getString(DESCRIPTION)
93
+ val payerJson = rootJson.optJSONObject(PAYER)
94
+ payerJson ?: throw ValidationException(ValidationMessages.PAYER_REQUIRED_TOKEN_PAYMENT)
95
+ val payer = getPayer(payerJson.toString())
96
+ val cardToken = rootJson.getString(CARD_TOKEN)
97
+
98
+ val notifications = rootJson.optJSONObject(NOTIFICATIONS)?.let { json ->
99
+ Notifications(
100
+ notificationUrl = json.getString(URL),
101
+ notificationEmail = json.getString(EMAIL)
102
+ )
103
+ }
104
+
105
+ return CardTokenTransaction(
106
+ amount = amount,
107
+ description = description,
108
+ payer = payer,
109
+ cardToken = cardToken,
110
+ notifications = notifications
111
+ )
112
+ }
113
+
114
+ fun getSingleTransaction(json: String): SingleTransaction {
115
+ val rootJson = JSONObject(json)
116
+
117
+ val amount = rootJson.getDouble(AMOUNT)
118
+ val description = rootJson.getString(DESCRIPTION)
119
+
120
+ val notifications = rootJson.optJSONObject(NOTIFICATIONS)?.let { json ->
121
+ Notifications(
122
+ notificationUrl = json.getString(URL),
123
+ notificationEmail = json.getString(EMAIL)
124
+ )
125
+ }
126
+
127
+ val payerContextJson = rootJson.getJSONObject(PAYER_CONTEXT)
128
+
129
+ val payerJson = payerContextJson.optJSONObject(PAYER)
130
+ val payer = getPayer(payerJson?.toString())
131
+
132
+ val automaticPaymentMethodsJson = payerContextJson.optJSONObject(AUTOMATIC_PAYMENT_METHODS)
133
+
134
+ val (tokenizedCards, blikAlias) = automaticPaymentMethodsJson?.let { automaticPaymentsJson ->
135
+ val tokenizedCardsArray = automaticPaymentMethodsJson.optJSONArray(TOKENIZED_CARDS)
136
+ val blikAliasJson = automaticPaymentMethodsJson.optJSONObject(BLIK_ALIAS)
137
+
138
+ val tokenizedCards: List<TokenizedCard> = tokenizedCardsArray?.run {
139
+ (0 until length())
140
+ .map { index -> getJSONObject(index) }
141
+ .map { tokenizedCardObject ->
142
+ TokenizedCard(
143
+ token = tokenizedCardObject.getString(TOKEN),
144
+ cardTail = tokenizedCardObject.getString(CARD_TAIL),
145
+ brand = CreditCardBrand.valueOf(tokenizedCardObject.getString(BRAND).uppercase())
146
+ )
147
+ }
148
+ } ?: emptyList<TokenizedCard>()
149
+
150
+ val blikAlias: BlikAlias? = blikAliasJson?.run {
151
+ val label = getString(LABEL)
152
+ val value = getString(VALUE)
153
+ if (getBoolean(IS_REGISTERED)) {
154
+ BlikAlias.Registered(value, label)
155
+ } else {
156
+ BlikAlias.NotRegistered(value, label)
157
+ }
158
+ } ?: null
159
+
160
+ tokenizedCards to blikAlias
161
+ } ?: emptyList<TokenizedCard>() to null
162
+
163
+ val payerContext = PayerContext(
164
+ payer = payer,
165
+ automaticPaymentMethods = AutomaticPaymentMethods(
166
+ blikAlias = blikAlias,
167
+ tokenizedCards = tokenizedCards
168
+ )
169
+ )
170
+
171
+ return SingleTransaction(
172
+ amount = amount,
173
+ description = description,
174
+ payerContext = payerContext,
175
+ notifications = notifications
176
+ )
177
+ }
178
+ }
@@ -0,0 +1,23 @@
1
+ package com.tpay.util
2
+
3
+ import com.tpay.sdk.api.models.Presentable
4
+ import java.util.ArrayDeque
5
+
6
+ object TpayBackpressUtil {
7
+ private var sheet: Presentable? = null
8
+
9
+ val isModuleVisible: Boolean
10
+ get() = sheet != null
11
+
12
+ fun set(sheet: Presentable) {
13
+ this.sheet = sheet
14
+ }
15
+
16
+ fun remove() {
17
+ sheet = null
18
+ }
19
+
20
+ fun onBackPressed() {
21
+ sheet?.onBackPressed()
22
+ }
23
+ }