react-native-payengine 1.0.6 → 2.0.4

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 (309) hide show
  1. package/README.md +269 -110
  2. package/android/.gradle/6.1.1/executionHistory/executionHistory.lock +0 -0
  3. package/android/.gradle/{5.6.4/fileHashes/resourceHashesCache.bin → 6.1.1/fileHashes/fileHashes.bin} +0 -0
  4. package/android/.gradle/6.1.1/fileHashes/fileHashes.lock +0 -0
  5. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  6. package/android/.gradle/buildOutputCleanup/cache.properties +2 -2
  7. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  8. package/android/.gradle/checksums/checksums.lock +0 -0
  9. package/android/.gradle/checksums/md5-checksums.bin +0 -0
  10. package/android/.gradle/checksums/sha1-checksums.bin +0 -0
  11. package/android/.gradle/config.properties +2 -0
  12. package/android/.idea/caches/deviceStreaming.xml +329 -0
  13. package/android/.idea/gradle.xml +2 -3
  14. package/android/.idea/kotlinc.xml +6 -0
  15. package/android/.idea/migrations.xml +10 -0
  16. package/android/.idea/misc.xml +1 -1
  17. package/android/build.gradle +25 -4
  18. package/android/gradle/wrapper/gradle-wrapper.properties +1 -1
  19. package/android/payment-sdk-debug-1.0.2.aar +0 -0
  20. package/android/payment-sdk-release-1.0.2.aar +0 -0
  21. package/android/src/main/java/com/reactnativepayengine/PayengineModule.java +1 -5
  22. package/android/src/main/java/com/reactnativepayengine/PayenginePackage.java +9 -33
  23. package/android/src/main/java/com/reactnativepayengine/util/MetricsUtil.kt +44 -0
  24. package/android/src/main/java/com/reactnativepayengine/v2/RNPEFraudAnalyticsApplication.java +55 -0
  25. package/android/src/main/java/com/reactnativepayengine/v2/RNPayEngineNative.kt +73 -0
  26. package/android/src/main/java/com/reactnativepayengine/v2/features/googlepay/RNPEGooglePayButton.kt +105 -0
  27. package/android/src/main/java/com/reactnativepayengine/v2/features/googlepay/RNPEGooglePayButtonManager.kt +56 -0
  28. package/android/src/main/java/com/reactnativepayengine/v2/securefields/RNPEEvents.kt +11 -0
  29. package/android/src/main/java/com/reactnativepayengine/v2/securefields/RNPEField.kt +17 -0
  30. package/android/src/main/java/com/reactnativepayengine/v2/securefields/bankaccount/RNBankAccountViewManager.kt +103 -0
  31. package/android/src/main/java/com/reactnativepayengine/v2/securefields/bankaccount/RNPEBankAccountView.kt +77 -0
  32. package/android/src/main/java/com/reactnativepayengine/v2/securefields/creditcard/RNPECreditCardView.kt +77 -0
  33. package/android/src/main/java/com/reactnativepayengine/v2/securefields/creditcard/RNPECreditCardViewManager.kt +103 -0
  34. package/ios/PayEngineSDK.xcframework/Info.plist +44 -0
  35. package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/Frameworks/libKountDataCollector.a +0 -0
  36. package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/Headers/CustomWindow.h +25 -0
  37. package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/Headers/KDataCollector.h +106 -0
  38. package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/Headers/KountAnalyticsViewController.h +82 -0
  39. package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/Headers/PayEngineSDK-Swift.h +622 -0
  40. package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/Headers/PayEngineSDK.h +20 -0
  41. package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/Headers/UIControl+CustomControl.h +33 -0
  42. package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/Headers/UIViewController+TouchControl.h +27 -0
  43. package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/Info.plist +0 -0
  44. package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/arm64-apple-ios.abi.json +15143 -0
  45. package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/arm64-apple-ios.private.swiftinterface +326 -0
  46. package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/arm64-apple-ios.private.swiftinterface-e +326 -0
  47. package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  48. package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/arm64-apple-ios.swiftinterface +326 -0
  49. package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/arm64-apple-ios.swiftinterface-e +326 -0
  50. package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/Modules/module.modulemap +11 -0
  51. package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/PayEngineSDK +0 -0
  52. package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/VGSCollectSDK_VGSCollectSDK.bundle/Assets.car +0 -0
  53. package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/VGSCollectSDK_VGSCollectSDK.bundle/Info.plist +0 -0
  54. package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/browserInfo.html +136 -0
  55. package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/perform3ds.html +467 -0
  56. package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Frameworks/libKountDataCollector.a +0 -0
  57. package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Headers/CustomWindow.h +25 -0
  58. package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Headers/KDataCollector.h +106 -0
  59. package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Headers/KountAnalyticsViewController.h +82 -0
  60. package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Headers/PayEngineSDK-Swift.h +1240 -0
  61. package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Headers/PayEngineSDK.h +20 -0
  62. package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Headers/UIControl+CustomControl.h +33 -0
  63. package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Headers/UIViewController+TouchControl.h +27 -0
  64. package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Info.plist +0 -0
  65. package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/arm64-apple-ios-simulator.abi.json +15143 -0
  66. package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +326 -0
  67. package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface-e +326 -0
  68. package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  69. package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/arm64-apple-ios-simulator.swiftinterface +326 -0
  70. package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/arm64-apple-ios-simulator.swiftinterface-e +326 -0
  71. package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/x86_64-apple-ios-simulator.abi.json +15143 -0
  72. package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +326 -0
  73. package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface-e +326 -0
  74. package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  75. package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +326 -0
  76. package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/x86_64-apple-ios-simulator.swiftinterface-e +326 -0
  77. package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Modules/module.modulemap +11 -0
  78. package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/PayEngineSDK +0 -0
  79. package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/VGSCollectSDK_VGSCollectSDK.bundle/Assets.car +0 -0
  80. package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/VGSCollectSDK_VGSCollectSDK.bundle/Info.plist +0 -0
  81. package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/browserInfo.html +136 -0
  82. package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/perform3ds.html +467 -0
  83. package/ios/Payengine.xcodeproj/project.pbxproj +14 -4
  84. package/ios/Payengine.xcodeproj/project.xcworkspace/xcuserdata/tringuyen.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  85. package/ios/Payengine.xcworkspace/contents.xcworkspacedata +7 -0
  86. package/ios/Payengine.xcworkspace/xcuserdata/tringuyen.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  87. package/ios/Sources/Classes/ApplePay/RNPEApplePayButton.swift +111 -0
  88. package/ios/Sources/Classes/ApplePay/RNPEApplePayPaymentRequest.swift +43 -0
  89. package/ios/Sources/Classes/RNPEError.swift +12 -0
  90. package/ios/Sources/Classes/RNPEEventEmitter.swift +29 -0
  91. package/ios/Sources/Classes/RNPEUtils.swift +30 -0
  92. package/ios/Sources/Classes/RNPayEngineNative.swift +87 -0
  93. package/ios/Sources/Classes/SecureFields/RNPEBankAccountView.swift +130 -0
  94. package/ios/Sources/Classes/SecureFields/RNPECreditCardView.swift +129 -0
  95. package/ios/Sources/Classes/SecureFields/RNPEEvents.swift +15 -0
  96. package/ios/Sources/Classes/SecureFields/RNPEField.swift +26 -0
  97. package/ios/Sources/Payengine.m +73 -0
  98. package/ios/Sources/Payengine.swift +13 -0
  99. package/lib/commonjs/components/PayEngine.js +2 -123
  100. package/lib/commonjs/components/PayEngine.js.map +1 -1
  101. package/lib/commonjs/components/v2/ApplePay/PEApplePayButton.js +55 -0
  102. package/lib/commonjs/components/v2/ApplePay/PEApplePayButton.js.map +1 -0
  103. package/lib/commonjs/components/v2/GooglePay/PEGooglePayButton.js +70 -0
  104. package/lib/commonjs/components/v2/GooglePay/PEGooglePayButton.js.map +1 -0
  105. package/lib/commonjs/components/v2/PEPaymentRequest.js +32 -0
  106. package/lib/commonjs/components/v2/PEPaymentRequest.js.map +1 -0
  107. package/lib/commonjs/components/v2/PayEngineNative.js +36 -0
  108. package/lib/commonjs/components/v2/PayEngineNative.js.map +1 -0
  109. package/lib/commonjs/components/{SecureFields/VGS/TextField.js → v2/PayEngineProvider.js} +28 -12
  110. package/lib/commonjs/components/v2/PayEngineProvider.js.map +1 -0
  111. package/lib/commonjs/components/v2/SecureFields/BankAccountView.js +89 -0
  112. package/lib/commonjs/components/v2/SecureFields/BankAccountView.js.map +1 -0
  113. package/lib/commonjs/components/v2/SecureFields/CreditCardView.js +90 -0
  114. package/lib/commonjs/components/v2/SecureFields/CreditCardView.js.map +1 -0
  115. package/lib/commonjs/components/v2/SecureFields/IPEField.js +6 -0
  116. package/lib/commonjs/components/v2/SecureFields/IPEField.js.map +1 -0
  117. package/lib/commonjs/components/v2/SecureFields/PEBankAccount.js +6 -0
  118. package/lib/commonjs/components/v2/SecureFields/PEBankAccount.js.map +1 -0
  119. package/lib/commonjs/components/v2/SecureFields/PECard.js +6 -0
  120. package/lib/commonjs/components/v2/SecureFields/PECard.js.map +1 -0
  121. package/lib/commonjs/components/v2/SecureFields/PEKeyboardType.js +18 -0
  122. package/lib/commonjs/components/v2/SecureFields/PEKeyboardType.js.map +1 -0
  123. package/lib/commonjs/index.js +62 -18
  124. package/lib/commonjs/index.js.map +1 -1
  125. package/lib/commonjs/interfaces/index.js +0 -4
  126. package/lib/commonjs/interfaces/index.js.map +1 -1
  127. package/lib/commonjs/utils/index.js +10 -38
  128. package/lib/commonjs/utils/index.js.map +1 -1
  129. package/lib/module/components/PayEngine.js +3 -118
  130. package/lib/module/components/PayEngine.js.map +1 -1
  131. package/lib/module/components/v2/ApplePay/PEApplePayButton.js +41 -0
  132. package/lib/module/components/v2/ApplePay/PEApplePayButton.js.map +1 -0
  133. package/lib/module/components/v2/GooglePay/PEGooglePayButton.js +56 -0
  134. package/lib/module/components/v2/GooglePay/PEGooglePayButton.js.map +1 -0
  135. package/lib/module/components/v2/PEPaymentRequest.js +23 -0
  136. package/lib/module/components/v2/PEPaymentRequest.js.map +1 -0
  137. package/lib/module/components/v2/PayEngineNative.js +25 -0
  138. package/lib/module/components/v2/PayEngineNative.js.map +1 -0
  139. package/lib/module/components/v2/PayEngineProvider.js +30 -0
  140. package/lib/module/components/v2/PayEngineProvider.js.map +1 -0
  141. package/lib/module/components/v2/SecureFields/BankAccountView.js +75 -0
  142. package/lib/module/components/v2/SecureFields/BankAccountView.js.map +1 -0
  143. package/lib/module/components/v2/SecureFields/CreditCardView.js +76 -0
  144. package/lib/module/components/v2/SecureFields/CreditCardView.js.map +1 -0
  145. package/lib/module/components/v2/SecureFields/IPEField.js +2 -0
  146. package/lib/module/components/v2/SecureFields/IPEField.js.map +1 -0
  147. package/lib/module/components/v2/SecureFields/PEBankAccount.js +2 -0
  148. package/lib/module/components/v2/SecureFields/PEBankAccount.js.map +1 -0
  149. package/lib/module/components/v2/SecureFields/PECard.js +2 -0
  150. package/lib/module/components/v2/SecureFields/PECard.js.map +1 -0
  151. package/lib/module/components/v2/SecureFields/PEKeyboardType.js +11 -0
  152. package/lib/module/components/v2/SecureFields/PEKeyboardType.js.map +1 -0
  153. package/lib/module/index.js +15 -6
  154. package/lib/module/index.js.map +1 -1
  155. package/lib/module/interfaces/index.js +1 -1
  156. package/lib/module/interfaces/index.js.map +1 -1
  157. package/lib/module/utils/index.js +6 -37
  158. package/lib/module/utils/index.js.map +1 -1
  159. package/lib/typescript/components/PayEngine.d.ts +1 -14
  160. package/lib/typescript/components/v2/ApplePay/PEApplePayButton.d.ts +12 -0
  161. package/lib/typescript/components/v2/GooglePay/PEGooglePayButton.d.ts +12 -0
  162. package/lib/typescript/components/v2/PEPaymentRequest.d.ts +13 -0
  163. package/lib/typescript/components/v2/PayEngineNative.d.ts +5 -0
  164. package/lib/typescript/components/v2/PayEngineProvider.d.ts +8 -0
  165. package/lib/typescript/components/v2/SecureFields/BankAccountView.d.ts +14 -0
  166. package/lib/typescript/components/v2/SecureFields/CreditCardView.d.ts +14 -0
  167. package/lib/typescript/components/v2/SecureFields/IPEField.d.ts +10 -0
  168. package/lib/typescript/components/v2/SecureFields/PEBankAccount.d.ts +11 -0
  169. package/lib/typescript/components/v2/SecureFields/PECard.d.ts +13 -0
  170. package/lib/typescript/components/v2/SecureFields/PEKeyboardType.d.ts +7 -0
  171. package/lib/typescript/index.d.ts +13 -6
  172. package/lib/typescript/interfaces/index.d.ts +0 -27
  173. package/lib/typescript/utils/index.d.ts +3 -36
  174. package/package.json +11 -6
  175. package/react-native-payengine.podspec +2 -2
  176. package/src/components/PayEngine.tsx +5 -118
  177. package/src/components/v2/ApplePay/PEApplePayButton.tsx +74 -0
  178. package/src/components/v2/GooglePay/PEGooglePayButton.tsx +73 -0
  179. package/src/components/v2/PEPaymentRequest.ts +20 -0
  180. package/src/components/v2/PayEngineNative.tsx +22 -0
  181. package/src/components/v2/PayEngineProvider.tsx +30 -0
  182. package/src/components/v2/SecureFields/BankAccountView.tsx +95 -0
  183. package/src/components/v2/SecureFields/CreditCardView.tsx +96 -0
  184. package/src/components/v2/SecureFields/IPEField.ts +12 -0
  185. package/src/components/v2/SecureFields/PEBankAccount.ts +12 -0
  186. package/src/components/v2/SecureFields/PECard.ts +14 -0
  187. package/src/components/v2/SecureFields/PEKeyboardType.ts +8 -0
  188. package/src/index.tsx +49 -22
  189. package/src/interfaces/index.ts +0 -32
  190. package/src/utils/index.ts +8 -36
  191. package/android/.gradle/5.6.4/executionHistory/executionHistory.bin +0 -0
  192. package/android/.gradle/5.6.4/executionHistory/executionHistory.lock +0 -0
  193. package/android/.gradle/5.6.4/fileContent/fileContent.lock +0 -0
  194. package/android/.gradle/5.6.4/fileHashes/fileHashes.bin +0 -0
  195. package/android/.gradle/5.6.4/fileHashes/fileHashes.lock +0 -0
  196. package/android/.gradle/5.6.4/javaCompile/classAnalysis.bin +0 -0
  197. package/android/.gradle/5.6.4/javaCompile/jarAnalysis.bin +0 -0
  198. package/android/.gradle/5.6.4/javaCompile/javaCompile.lock +0 -0
  199. package/android/.gradle/5.6.4/javaCompile/taskHistory.bin +0 -0
  200. package/android/src/main/java/com/reactnativepayengine/collect/VGSCollectModule.java +0 -153
  201. package/android/src/main/java/com/reactnativepayengine/collect/VGSCollectOnCreateViewInstanceListener.java +0 -6
  202. package/android/src/main/java/com/reactnativepayengine/collect/fields/VGSCVCField.java +0 -67
  203. package/android/src/main/java/com/reactnativepayengine/collect/fields/VGSCardHolderNameField.java +0 -53
  204. package/android/src/main/java/com/reactnativepayengine/collect/fields/VGSCardNumberField.java +0 -57
  205. package/android/src/main/java/com/reactnativepayengine/collect/fields/VGSExpDateField.java +0 -54
  206. package/android/src/main/java/com/reactnativepayengine/collect/fields/VGSTextField.java +0 -57
  207. package/android/src/main/java/com/reactnativepayengine/collect/fields/VGSZipCodeField.java +0 -62
  208. package/android/src/main/java/com/reactnativepayengine/util/ResourceUtil.java +0 -14
  209. package/ios/Payengine.m +0 -72
  210. package/ios/Payengine.swift +0 -720
  211. package/lib/commonjs/components/ApplePay/PayEngineApplePay.js +0 -71
  212. package/lib/commonjs/components/ApplePay/PayEngineApplePay.js.map +0 -1
  213. package/lib/commonjs/components/ApplePay/index.js +0 -46
  214. package/lib/commonjs/components/ApplePay/index.js.map +0 -1
  215. package/lib/commonjs/components/ApplePay/interfaces.js +0 -2
  216. package/lib/commonjs/components/ApplePay/interfaces.js.map +0 -1
  217. package/lib/commonjs/components/CreditCardForm/index.js +0 -76
  218. package/lib/commonjs/components/CreditCardForm/index.js.map +0 -1
  219. package/lib/commonjs/components/GooglePay/PayEngineGooglePay.js +0 -65
  220. package/lib/commonjs/components/GooglePay/PayEngineGooglePay.js.map +0 -1
  221. package/lib/commonjs/components/GooglePay/index.js +0 -40
  222. package/lib/commonjs/components/GooglePay/index.js.map +0 -1
  223. package/lib/commonjs/components/GooglePay/interfaces.js +0 -2
  224. package/lib/commonjs/components/GooglePay/interfaces.js.map +0 -1
  225. package/lib/commonjs/components/Legacy/CreditCardFormLegacy.js +0 -323
  226. package/lib/commonjs/components/Legacy/CreditCardFormLegacy.js.map +0 -1
  227. package/lib/commonjs/components/SecureFields/VGS/CVCField.js +0 -26
  228. package/lib/commonjs/components/SecureFields/VGS/CVCField.js.map +0 -1
  229. package/lib/commonjs/components/SecureFields/VGS/CardHolderNameField.js +0 -26
  230. package/lib/commonjs/components/SecureFields/VGS/CardHolderNameField.js.map +0 -1
  231. package/lib/commonjs/components/SecureFields/VGS/CardNumberField.js +0 -26
  232. package/lib/commonjs/components/SecureFields/VGS/CardNumberField.js.map +0 -1
  233. package/lib/commonjs/components/SecureFields/VGS/CollectManager.js +0 -60
  234. package/lib/commonjs/components/SecureFields/VGS/CollectManager.js.map +0 -1
  235. package/lib/commonjs/components/SecureFields/VGS/ExpDateField.js +0 -26
  236. package/lib/commonjs/components/SecureFields/VGS/ExpDateField.js.map +0 -1
  237. package/lib/commonjs/components/SecureFields/VGS/TextField.js.map +0 -1
  238. package/lib/commonjs/components/SecureFields/VGS/ZipCodeField.js +0 -26
  239. package/lib/commonjs/components/SecureFields/VGS/ZipCodeField.js.map +0 -1
  240. package/lib/commonjs/components/SecureFields/index.js +0 -34
  241. package/lib/commonjs/components/SecureFields/index.js.map +0 -1
  242. package/lib/module/components/ApplePay/PayEngineApplePay.js +0 -58
  243. package/lib/module/components/ApplePay/PayEngineApplePay.js.map +0 -1
  244. package/lib/module/components/ApplePay/index.js +0 -35
  245. package/lib/module/components/ApplePay/index.js.map +0 -1
  246. package/lib/module/components/ApplePay/interfaces.js +0 -2
  247. package/lib/module/components/ApplePay/interfaces.js.map +0 -1
  248. package/lib/module/components/CreditCardForm/index.js +0 -60
  249. package/lib/module/components/CreditCardForm/index.js.map +0 -1
  250. package/lib/module/components/GooglePay/PayEngineGooglePay.js +0 -52
  251. package/lib/module/components/GooglePay/PayEngineGooglePay.js.map +0 -1
  252. package/lib/module/components/GooglePay/index.js +0 -29
  253. package/lib/module/components/GooglePay/index.js.map +0 -1
  254. package/lib/module/components/GooglePay/interfaces.js +0 -2
  255. package/lib/module/components/GooglePay/interfaces.js.map +0 -1
  256. package/lib/module/components/Legacy/CreditCardFormLegacy.js +0 -302
  257. package/lib/module/components/Legacy/CreditCardFormLegacy.js.map +0 -1
  258. package/lib/module/components/SecureFields/VGS/CVCField.js +0 -14
  259. package/lib/module/components/SecureFields/VGS/CVCField.js.map +0 -1
  260. package/lib/module/components/SecureFields/VGS/CardHolderNameField.js +0 -14
  261. package/lib/module/components/SecureFields/VGS/CardHolderNameField.js.map +0 -1
  262. package/lib/module/components/SecureFields/VGS/CardNumberField.js +0 -14
  263. package/lib/module/components/SecureFields/VGS/CardNumberField.js.map +0 -1
  264. package/lib/module/components/SecureFields/VGS/CollectManager.js +0 -45
  265. package/lib/module/components/SecureFields/VGS/CollectManager.js.map +0 -1
  266. package/lib/module/components/SecureFields/VGS/ExpDateField.js +0 -14
  267. package/lib/module/components/SecureFields/VGS/ExpDateField.js.map +0 -1
  268. package/lib/module/components/SecureFields/VGS/TextField.js +0 -17
  269. package/lib/module/components/SecureFields/VGS/TextField.js.map +0 -1
  270. package/lib/module/components/SecureFields/VGS/ZipCodeField.js +0 -14
  271. package/lib/module/components/SecureFields/VGS/ZipCodeField.js.map +0 -1
  272. package/lib/module/components/SecureFields/index.js +0 -17
  273. package/lib/module/components/SecureFields/index.js.map +0 -1
  274. package/lib/typescript/components/ApplePay/PayEngineApplePay.d.ts +0 -12
  275. package/lib/typescript/components/ApplePay/index.d.ts +0 -7
  276. package/lib/typescript/components/ApplePay/interfaces.d.ts +0 -20
  277. package/lib/typescript/components/CreditCardForm/index.d.ts +0 -3
  278. package/lib/typescript/components/GooglePay/PayEngineGooglePay.d.ts +0 -10
  279. package/lib/typescript/components/GooglePay/index.d.ts +0 -7
  280. package/lib/typescript/components/GooglePay/interfaces.d.ts +0 -38
  281. package/lib/typescript/components/Legacy/CreditCardFormLegacy.d.ts +0 -4
  282. package/lib/typescript/components/SecureFields/VGS/CVCField.d.ts +0 -10
  283. package/lib/typescript/components/SecureFields/VGS/CardHolderNameField.d.ts +0 -10
  284. package/lib/typescript/components/SecureFields/VGS/CardNumberField.d.ts +0 -10
  285. package/lib/typescript/components/SecureFields/VGS/CollectManager.d.ts +0 -12
  286. package/lib/typescript/components/SecureFields/VGS/ExpDateField.d.ts +0 -10
  287. package/lib/typescript/components/SecureFields/VGS/TextField.d.ts +0 -14
  288. package/lib/typescript/components/SecureFields/VGS/ZipCodeField.d.ts +0 -10
  289. package/lib/typescript/components/SecureFields/index.d.ts +0 -16
  290. package/src/components/ApplePay/PayEngineApplePay.ts +0 -61
  291. package/src/components/ApplePay/index.ts +0 -32
  292. package/src/components/ApplePay/interfaces.ts +0 -25
  293. package/src/components/CreditCardForm/index.tsx +0 -43
  294. package/src/components/GooglePay/PayEngineGooglePay.ts +0 -48
  295. package/src/components/GooglePay/index.ts +0 -39
  296. package/src/components/GooglePay/interfaces.ts +0 -42
  297. package/src/components/Legacy/CreditCardFormLegacy.tsx +0 -292
  298. package/src/components/SecureFields/VGS/CVCField.tsx +0 -21
  299. package/src/components/SecureFields/VGS/CardHolderNameField.tsx +0 -21
  300. package/src/components/SecureFields/VGS/CardNumberField.tsx +0 -21
  301. package/src/components/SecureFields/VGS/CollectManager.tsx +0 -74
  302. package/src/components/SecureFields/VGS/ExpDateField.tsx +0 -21
  303. package/src/components/SecureFields/VGS/TextField.tsx +0 -27
  304. package/src/components/SecureFields/VGS/ZipCodeField.tsx +0 -21
  305. package/src/components/SecureFields/index.ts +0 -17
  306. /package/android/.gradle/{5.6.4 → 6.1.1}/fileChanges/last-build.bin +0 -0
  307. /package/android/.gradle/{5.6.4 → 6.1.1}/gc.properties +0 -0
  308. /package/android/{vgscollect-1.7.2-debug.aar → securefields-1.7.2-debug.aar} +0 -0
  309. /package/ios/{Payengine-Bridging-Header.h → Sources/Payengine-Bridging-Header.h} +0 -0
@@ -0,0 +1,95 @@
1
+
2
+ import * as React from 'react';
3
+ import { requireNativeComponent, NativeModules, NativeEventEmitter, ViewProps, findNodeHandle, UIManager, ActivityIndicator, Platform } from 'react-native';
4
+ import type IPEField from './IPEField';
5
+ import type PEBankAccount from './PEBankAccount';
6
+
7
+ const { RNPEEventEmitter } = NativeModules;
8
+
9
+ interface NativePEBankAccountViewProps extends ViewProps {
10
+ additionalFields: string;
11
+ }
12
+
13
+ const COMPONENT_NAME = 'RNPEBankAccountView'
14
+ const RNPEBankAccountView = requireNativeComponent<NativePEBankAccountViewProps>(COMPONENT_NAME);
15
+ // @ts-ignore
16
+ const RNPEBankAccountViewManager = UIManager[COMPONENT_NAME]
17
+
18
+ const peEventEmitter = new NativeEventEmitter(RNPEEventEmitter);
19
+
20
+ export interface PEBankAccountViewProps {
21
+ additionalFields?: IPEField[];
22
+ }
23
+
24
+ export interface PEBankAccountViewMethods {
25
+ submit: (merchantId: string, additionalData: { [key: string]: string }) => Promise<PEBankAccount>;
26
+ showKeyboard: () => void;
27
+ hideKeyboard: () => void;
28
+ }
29
+
30
+ export const PEBankAccountView = React.forwardRef<
31
+ PEBankAccountViewMethods,
32
+ PEBankAccountViewProps
33
+ >((props, ref) => {
34
+ const formRef = React.useRef<any>();
35
+ const [height, setHeight] = React.useState(0);
36
+
37
+ React.useImperativeHandle(ref, () => ({
38
+ submit: async (merchantId: string, additionalData: any = {}) => {
39
+ return new Promise((resolve, reject) => {
40
+ if (height === 0) {
41
+ return reject(new Error('Form is not ready'))
42
+ }
43
+
44
+ const listener = peEventEmitter.addListener('onBankAccountRespond', args => {
45
+ listener.remove()
46
+
47
+ const { error, bankAccount: json } = args;
48
+ if (error) {
49
+ reject(new Error(error))
50
+ } else {
51
+ const bankAccount = JSON.parse(json) as PEBankAccount;
52
+ resolve(bankAccount)
53
+ }
54
+ });
55
+
56
+ callNativeMethod("submit", [merchantId, additionalData],)
57
+ });
58
+ },
59
+ showKeyboard: () => {
60
+ callNativeMethod("showKeyboard")
61
+ },
62
+ hideKeyboard: () => {
63
+ callNativeMethod("hideKeyboard")
64
+ }
65
+ }));
66
+
67
+ const callNativeMethod = React.useCallback((methodName: string, params: any[] = []) => {
68
+ const viewId = findNodeHandle(formRef.current);
69
+ let commandId = RNPEBankAccountViewManager.Commands[methodName].toString()
70
+ if (Platform.OS === 'ios') {
71
+ commandId = Number(commandId)
72
+ }
73
+ UIManager.dispatchViewManagerCommand(
74
+ viewId,
75
+ commandId,
76
+ params,
77
+ );
78
+ }, [formRef.current])
79
+
80
+
81
+ React.useEffect(() => {
82
+ const eventListener = peEventEmitter.addListener('onSizeChanges', args => {
83
+ const { width: _, height: frameHeight } = args;
84
+ setHeight(frameHeight);
85
+ });
86
+ return () => eventListener.remove();
87
+ }, []);
88
+
89
+ return (
90
+ <>
91
+ {height === 0 && <ActivityIndicator />}
92
+ <RNPEBankAccountView ref={formRef} additionalFields={JSON.stringify(props.additionalFields ?? [])} style={{ height: height }} />
93
+ </>
94
+ );
95
+ });
@@ -0,0 +1,96 @@
1
+
2
+ import * as React from 'react';
3
+ import { requireNativeComponent, NativeModules, NativeEventEmitter, ViewProps, Platform, findNodeHandle, UIManager, ActivityIndicator } from 'react-native';
4
+ import type IPEField from './IPEField';
5
+ import type PECard from './PECard';
6
+
7
+ const { RNPEEventEmitter } = NativeModules;
8
+
9
+ interface NativePECreditCardViewProps extends ViewProps {
10
+ additionalFields: string;
11
+ }
12
+
13
+ const COMPONENT_NAME = 'RNPECreditCardView'
14
+ const RNPECreditCardView = requireNativeComponent<NativePECreditCardViewProps>(COMPONENT_NAME);
15
+ // @ts-ignore
16
+ const RNPECreditCardViewManager = UIManager[COMPONENT_NAME]
17
+ const peEventEmitter = new NativeEventEmitter(RNPEEventEmitter);
18
+
19
+ export interface PECreditCardViewProps {
20
+ additionalFields?: IPEField[];
21
+ }
22
+
23
+ export interface PECreditCardViewMethods {
24
+ submit: (merchantId: string, additionalData: { [key: string]: string }) => Promise<PECard>;
25
+ showKeyboard: () => void;
26
+ hideKeyboard: () => void;
27
+ }
28
+
29
+ export const PECreditCardView = React.forwardRef<
30
+ PECreditCardViewMethods,
31
+ PECreditCardViewProps
32
+ >((props, ref) => {
33
+ const formRef = React.useRef<any>();
34
+ const [height, setHeight] = React.useState(0);
35
+
36
+ React.useImperativeHandle(ref, () => ({
37
+ submit: async (merchantId: string, additionalData: any = {}) => {
38
+ return new Promise((resolve, reject) => {
39
+ if (height === 0) {
40
+ return reject(new Error('Form is not ready'))
41
+ }
42
+
43
+ const listener = peEventEmitter.addListener('onCardRespond', args => {
44
+ listener.remove()
45
+
46
+ const { error, card: json } = args;
47
+ if (error) {
48
+ reject(new Error(error))
49
+ } else {
50
+ const card = JSON.parse(json) as PECard;
51
+ resolve(card)
52
+ }
53
+ });
54
+
55
+ callNativeMethod("submit", [merchantId, additionalData])
56
+ });
57
+ },
58
+ showKeyboard: () => {
59
+ callNativeMethod("showKeyboard")
60
+ },
61
+ hideKeyboard: () => {
62
+ callNativeMethod("hideKeyboard")
63
+ }
64
+ }));
65
+
66
+ const callNativeMethod = React.useCallback((methodName: string, params: any[] = []) => {
67
+ console.log("callNativeMethod", methodName, params)
68
+ const viewId = findNodeHandle(formRef.current);
69
+ let commandId = RNPECreditCardViewManager.Commands[methodName].toString()
70
+ if (Platform.OS === 'ios') {
71
+ commandId = Number(commandId)
72
+ }
73
+ UIManager.dispatchViewManagerCommand(
74
+ viewId,
75
+ commandId,
76
+ params,
77
+ );
78
+ }, [formRef.current])
79
+
80
+ React.useEffect(() => {
81
+ const eventListener = peEventEmitter.addListener('onSizeChanges', args => {
82
+ const { width: _, height: frameHeight } = args;
83
+ setHeight(frameHeight);
84
+ });
85
+
86
+ return () => eventListener.remove();
87
+ }, []);
88
+
89
+
90
+ return (
91
+ <>
92
+ {height === 0 && <ActivityIndicator />}
93
+ <RNPECreditCardView ref={formRef} additionalFields={JSON.stringify(props.additionalFields ?? [])} style={{ height: height }} />
94
+ </>
95
+ );
96
+ });
@@ -0,0 +1,12 @@
1
+ import type PEKeyboardType from "./PEKeyboardType";
2
+
3
+ interface IPEField {
4
+ name: string;
5
+ type: string;
6
+ placeholder: string;
7
+ keyboardType: PEKeyboardType;
8
+ isRequired: boolean;
9
+ pattern?: string;
10
+ }
11
+
12
+ export default IPEField;
@@ -0,0 +1,12 @@
1
+ interface PEBankAccount {
2
+ id: string;
3
+ token: string;
4
+ account_data: {
5
+ first_name: string;
6
+ last_name: string;
7
+ routing_number: string;
8
+ last_4: string;
9
+ };
10
+ }
11
+
12
+ export default PEBankAccount;
@@ -0,0 +1,14 @@
1
+ interface PECard {
2
+ token: string;
3
+ card_data: {
4
+ id: string;
5
+ brand: string;
6
+ last_4: string;
7
+ exp_year: string;
8
+ exp_month: string;
9
+ name: string;
10
+ address_zip?: string;
11
+ };
12
+ }
13
+
14
+ export default PECard;
@@ -0,0 +1,8 @@
1
+ enum PEKeyboardType {
2
+ alphabet = 'alphabet',
3
+ number = 'number',
4
+ phone = 'phone',
5
+ normal = 'normal',
6
+ }
7
+
8
+ export default PEKeyboardType;
package/src/index.tsx CHANGED
@@ -1,11 +1,24 @@
1
- import PayEngine from './components/PayEngine'
1
+ import PayEngine from './components/PayEngine';
2
2
  import { NativeModules, Platform } from 'react-native';
3
- import { SecureFields } from './components/SecureFields/index';
4
- import { CreditCardForm } from './components/CreditCardForm/index';
5
- import CreditCardFormLegacy from './components/Legacy/CreditCardFormLegacy';
6
3
  import type { IPayEngineConfig } from './interfaces/index';
7
- import { PayEngineGooglePay } from './components/GooglePay/PayEngineGooglePay';
8
- import { PayEngineApplePay } from './components/ApplePay/PayEngineApplePay';
4
+ import {
5
+ PECreditCardView,
6
+ PECreditCardViewMethods,
7
+ } from './components/v2/SecureFields/CreditCardView';
8
+ import {
9
+ PEBankAccountView,
10
+ PEBankAccountViewMethods,
11
+ } from './components/v2/SecureFields/BankAccountView';
12
+ import type IPEField from './components/v2/SecureFields/IPEField';
13
+ import type PECard from './components/v2/SecureFields/PECard';
14
+ import type PEBankAccount from './components/v2/SecureFields/PEBankAccount';
15
+ import { PayEngineProvider } from './components/v2/PayEngineProvider';
16
+ import PayEngineNative from './components/v2/PayEngineNative';
17
+ import { PEApplePayButton } from './components/v2/ApplePay/PEApplePayButton';
18
+ import { PEPaymentRequest } from './components/v2/PEPaymentRequest';
19
+ import { PEGooglePayButton } from './components/v2/GooglePay/PEGooglePayButton';
20
+ import * as PayEngineUtils from './utils/index';
21
+ import PEKeyboardType from './components/v2/SecureFields/PEKeyboardType';
9
22
 
10
23
  const LINKING_ERROR =
11
24
  `The package 'react-native-payengine' doesn't seem to be linked. Make sure: \n\n` +
@@ -13,25 +26,39 @@ const LINKING_ERROR =
13
26
  '- You rebuilt the app after installing the package\n' +
14
27
  '- You are not using Expo managed workflow\n';
15
28
 
16
- const PayEngineStatic = NativeModules.Payengine ? NativeModules.Payengine : new Proxy(
17
- {},
18
- {
19
- get() {
20
- throw new Error(LINKING_ERROR);
21
- },
22
- }
23
- );
24
-
29
+ const PayEngineStatic = NativeModules.Payengine
30
+ ? NativeModules.Payengine
31
+ : new Proxy(
32
+ {},
33
+ {
34
+ get() {
35
+ throw new Error(LINKING_ERROR);
36
+ },
37
+ }
38
+ );
25
39
 
26
40
  export {
27
41
  PayEngineStatic,
28
42
  PayEngine,
29
- SecureFields,
30
- CreditCardForm,
31
- CreditCardFormLegacy,
32
43
  IPayEngineConfig,
33
- PayEngineGooglePay,
34
- PayEngineApplePay
35
- }
36
-
37
44
 
45
+ // v2 starting here
46
+ PayEngineUtils,
47
+ PayEngineProvider,
48
+ PayEngineNative,
49
+ // securefields
50
+ PEKeyboardType,
51
+ IPEField,
52
+ // credit card
53
+ PECreditCardView,
54
+ PECreditCardViewMethods,
55
+ PECard,
56
+ // bank account
57
+ PEBankAccountView,
58
+ PEBankAccountViewMethods,
59
+ PEBankAccount,
60
+ // Apple Pay
61
+ PEApplePayButton,
62
+ PEPaymentRequest,
63
+ PEGooglePayButton,
64
+ };
@@ -1,38 +1,6 @@
1
- import type { StyleProp, ViewStyle } from 'react-native';
2
- import type { GooglePayRequestData } from '../components/GooglePay/interfaces';
3
-
4
1
  export interface IPayEngineConfig {
5
2
  publicKey: string;
6
3
  version?: string;
7
4
  scriptURL?: string;
8
5
  logLevel?: number;
9
6
  }
10
-
11
- export interface CreditCardFormProps {
12
- style?: StyleProp<ViewStyle>;
13
- merchantId?: string;
14
- showZipCode?: boolean;
15
- config: IPayEngineConfig;
16
- }
17
-
18
- export interface CreditCardFormMethods {
19
- createCard: (merchantId?: string) => Promise<any>;
20
- }
21
-
22
- export interface MobilePaymentConfig {
23
- base_url: string;
24
- country: string;
25
- currency: string;
26
- gateway: string; // nmi | converge
27
- google_pay: GooglePayRequestData;
28
- apple_pay: {
29
- merchantName: string;
30
- supportedCardNetworks: string[];
31
- };
32
- }
33
-
34
- export interface PaymentRequest {
35
- amount: number;
36
- currencyCode?: string;
37
- countryCode?: string;
38
- }
@@ -1,6 +1,14 @@
1
1
  import axios from 'axios';
2
2
  import type { IPayEngineConfig } from '../interfaces/index';
3
3
 
4
+ export class PEDeprecationError extends Error {
5
+ constructor() {
6
+ super(
7
+ 'This method is obsolete and can not be used anymore. Please check out the package README'
8
+ );
9
+ }
10
+ }
11
+
4
12
  export const getHttpHeaders = (config: IPayEngineConfig) => {
5
13
  return {
6
14
  Authorization: `Signature key="${config.publicKey}",algorithm="hmac-sha256",identifier="secure-fields",signature=""`,
@@ -44,42 +52,6 @@ export function getScriptURL(config: IPayEngineConfig) {
44
52
  return scriptURL;
45
53
  }
46
54
 
47
- /**
48
- * <script>
49
- console.log("AAAAAAAA")
50
- var component = document.getElementById("component");
51
- var onEvent = function(event) {
52
- console.log({ event })
53
- }
54
- console.log('component')
55
- component.addEventListener('stepChange', function(e) {
56
- console.log('step change')
57
- })
58
- function addEventListenerAll(target, listener, ...otherArguments) {
59
-
60
- // install listeners for all natively triggered events
61
- for (const key in target) {
62
- if (/^on/.test(key)) {
63
- const eventType = key.substr(2);
64
- target.addEventListener(eventType, listener, ...otherArguments);
65
- }
66
- }
67
-
68
- // dynamically install listeners for all manually triggered events, just-in-time before they're dispatched ;D
69
- const dispatchEvent_original = EventTarget.prototype.dispatchEvent;
70
- function dispatchEvent(event) {
71
- console.log('event test', event.type)
72
- target.addEventListener(event.type, listener, ...otherArguments); // multiple identical listeners are automatically discarded
73
- dispatchEvent_original.apply(this, arguments);
74
- }
75
- EventTarget.prototype.dispatchEvent = dispatchEvent;
76
- if (EventTarget.prototype.dispatchEvent !== dispatchEvent) throw new Error('Browser is smarter than you think');
77
-
78
- }
79
-
80
- // addEventListenerAll(component, onEvent);
81
- </script>
82
- */
83
55
  export const debuggingScript = `
84
56
  const consoleLog = (type, ...log) => window.ReactNativeWebView.postMessage(JSON.stringify({'type': 'Console', 'data': {'type': type, 'log': log}}));
85
57
  console = {
@@ -1,153 +0,0 @@
1
- package com.reactnativepayengine.collect;
2
-
3
- import android.app.Activity;
4
- import android.content.Intent;
5
- import android.util.Log;
6
-
7
- import androidx.annotation.NonNull;
8
-
9
- import com.facebook.react.bridge.Promise;
10
- import com.facebook.react.bridge.ReactApplicationContext;
11
- import com.facebook.react.bridge.ReactContextBaseJavaModule;
12
- import com.facebook.react.bridge.ReactMethod;
13
- import com.facebook.react.modules.core.DeviceEventManagerModule;
14
- import com.reactnativepayengine.util.JSONObjectUtil;
15
- import com.verygoodsecurity.vgscollect.VGSCollectLogger;
16
- import com.verygoodsecurity.vgscollect.core.Environment;
17
- import com.verygoodsecurity.vgscollect.core.HTTPMethod;
18
- import com.verygoodsecurity.vgscollect.core.VGSCollect;
19
- import com.verygoodsecurity.vgscollect.core.model.network.VGSRequest;
20
- import com.verygoodsecurity.vgscollect.core.model.network.VGSResponse;
21
- import com.verygoodsecurity.vgscollect.core.model.state.FieldState;
22
- import com.verygoodsecurity.vgscollect.view.InputFieldView;
23
-
24
- import org.json.JSONException;
25
- import org.json.JSONObject;
26
-
27
- import java.util.HashMap;
28
- import java.util.List;
29
- import java.util.Optional;
30
-
31
- public class VGSCollectModule extends ReactContextBaseJavaModule {
32
-
33
- private static ReactApplicationContext reactContext;
34
-
35
- private VGSCollect collect;
36
- private String publicKey;
37
-
38
- public VGSCollectModule(ReactApplicationContext c) {
39
- super(c);
40
- reactContext = c;
41
- }
42
-
43
- @Override
44
- public void initialize() {
45
- super.initialize();
46
- // Activity activity = reactContext.getCurrentActivity();
47
- // collect = new VGSCollect.Builder(activity, "")
48
- // .create();
49
- }
50
-
51
- @NonNull
52
- @Override
53
- public String getName() {
54
- return "VGSCollectManager";
55
- }
56
-
57
- @ReactMethod
58
- public void setConfiguration(String publicKey, String vaultId, String environment, String cname,
59
- double vgsSatellitePort) {
60
- Log.e("test", "Create event called with name: " + vaultId + " and location: " + environment + " cname: " + cname);
61
-
62
- this.publicKey = publicKey;
63
- VGSCollectLogger.INSTANCE.setLogLevel(VGSCollectLogger.Level.DEBUG);
64
-
65
- Activity activity = reactContext.getCurrentActivity();
66
- collect = new VGSCollect.Builder(activity, vaultId)
67
- .setEnvironment(environment)
68
- // .setHostname(cname)
69
- // .setPort((int) Math.round(vgsSatellitePort))
70
- .create();
71
-
72
- }
73
-
74
- @ReactMethod
75
- public void createCard(String merchantId, Promise promise) {
76
- this.submit("/api/cards", merchantId, promise);
77
- }
78
-
79
- @ReactMethod
80
- public void createBankAccount(String merchantId, Promise promise) {
81
- this.submit("/api/bank-accounts", merchantId, promise);
82
- }
83
-
84
- private void submit(String path, String merchantId, Promise promise) {
85
- HashMap<String, Object> customData = new HashMap<>();
86
- customData.put("pci_vault_provider", "vgs");
87
- if (merchantId != null && !merchantId.isEmpty()) {
88
- customData.put("merchant_id", merchantId);
89
- }
90
-
91
- String authHeader = "Signature key=\"" + this.publicKey
92
- + "\",algorithm=\"hmac-sha256\",identifier=\"secure-fields\",signature=\"\"";
93
- HashMap<String, String> headers = new HashMap<>();
94
- headers.put("Authorization", authHeader);
95
-
96
- List<FieldState> states = collect.getAllStates();
97
-
98
- for (int i = 0; i < states.size(); i++) {
99
- FieldState state = states.get(i);
100
-
101
- if (!state.isValid()) {
102
- String message = new StringBuilder("Field ")
103
- .append(state.getFieldName())
104
- .append(" is not valid.")
105
- .toString();
106
- promise.reject("validation_error", message);
107
- return;
108
- }
109
- if (state instanceof FieldState.CardNumberState) {
110
- FieldState.CardNumberState cardState = (FieldState.CardNumberState) state;
111
- customData.put("last_4", cardState.getNumber());
112
- customData.put("bin", cardState.getBin());
113
- customData.put("brand", cardState.getCardBrand());
114
- }
115
- }
116
-
117
- VGSRequest request = new VGSRequest.VGSRequestBuilder()
118
- .setMethod(HTTPMethod.POST)
119
- .setPath(path)
120
- .setCustomHeader(headers)
121
- .setCustomData(customData)
122
- .build();
123
-
124
- VGSResponse response = collect.submit(request);
125
- Log.e("test", "response " + response.getBody());
126
- if (response instanceof VGSResponse.SuccessResponse) {
127
- VGSResponse.SuccessResponse result = (VGSResponse.SuccessResponse) response;
128
- try {
129
- JSONObject jsonObj = new JSONObject(result.getBody());
130
- promise.resolve(JSONObjectUtil.convertJsonToMap(jsonObj.getJSONObject("data")));
131
- return;
132
- } catch (JSONException e) {
133
- e.printStackTrace();
134
- promise.reject("invalid_response", "We got success response but unable to parse it");
135
- }
136
- } else if (response instanceof VGSResponse.ErrorResponse) {
137
- VGSResponse.ErrorResponse error = (VGSResponse.ErrorResponse) response;
138
- promise.reject(String.valueOf(error.getErrorCode()), error.getLocalizeMessage());
139
- }
140
-
141
- }
142
-
143
- public void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
144
- if (collect != null) {
145
- collect.onActivityResult(requestCode, resultCode, data);
146
- }
147
- }
148
-
149
- public void bindView(InputFieldView inputFieldView) {
150
- Log.e("test", "collect bindView " + inputFieldView.getFieldName() + " - Collect " + collect.getAllStates());
151
- collect.bindView(inputFieldView);
152
- }
153
- }
@@ -1,6 +0,0 @@
1
- package com.reactnativepayengine.collect;
2
- import com.verygoodsecurity.vgscollect.view.InputFieldView;
3
-
4
- public interface VGSCollectOnCreateViewInstanceListener {
5
- void onCreateViewInstance(InputFieldView inputFieldView);
6
- }
@@ -1,67 +0,0 @@
1
- package com.reactnativepayengine.collect.fields;
2
-
3
- import android.graphics.Rect;
4
- import android.graphics.drawable.Drawable;
5
-
6
- import androidx.annotation.NonNull;
7
- import androidx.annotation.Nullable;
8
-
9
- import com.facebook.react.bridge.ReactApplicationContext;
10
- import com.facebook.react.uimanager.SimpleViewManager;
11
- import com.facebook.react.uimanager.ThemedReactContext;
12
- import com.facebook.react.uimanager.annotations.ReactProp;
13
- import com.reactnativepayengine.collect.VGSCollectOnCreateViewInstanceListener;
14
- import com.verygoodsecurity.vgscollect.view.card.CardType;
15
- import com.verygoodsecurity.vgscollect.view.cvc.CVCIconAdapter;
16
- import com.verygoodsecurity.vgscollect.widget.CardVerificationCodeEditText;
17
- import com.verygoodsecurity.vgscollect.widget.VGSCardNumberEditText;
18
- import com.verygoodsecurity.vgscollect.widget.VGSTextInputLayout;
19
-
20
- import org.jetbrains.annotations.NotNull;
21
-
22
- public class VGSCVCField extends SimpleViewManager<VGSTextInputLayout> {
23
- private final VGSCollectOnCreateViewInstanceListener listener;
24
-
25
- private CardVerificationCodeEditText editText;
26
- private VGSTextInputLayout vgsTextInputLayout;
27
-
28
- ReactApplicationContext mCallerContext;
29
-
30
- public VGSCVCField(VGSCollectOnCreateViewInstanceListener listener, ReactApplicationContext reactContext) {
31
- this.listener = listener;
32
- mCallerContext = reactContext;
33
- }
34
-
35
- @Override
36
- public String getName() {
37
- return "VGSCVCField";
38
- }
39
-
40
- @NonNull
41
- @Override
42
- protected VGSTextInputLayout createViewInstance(@NonNull ThemedReactContext reactContext) {
43
- vgsTextInputLayout = new VGSTextInputLayout(reactContext);
44
- vgsTextInputLayout.setHint("CVC");
45
- editText = new CardVerificationCodeEditText(reactContext);
46
- editText.setIsRequired(true);
47
- editText.setFieldName("card_cvc");
48
- CVCIconAdapter adapter = new CVCIconAdapter(reactContext) {
49
- @Override
50
- protected Drawable getIcon(@NotNull CardType cardType, @Nullable String cardBrand, int cvcLength, @NotNull Rect r) {
51
- return super.getIcon(cardType, cardBrand, cvcLength, r);
52
- }
53
- };
54
- editText.setPreviewIconAdapter(adapter);
55
- editText.setPadding(10, 0, 10, 0);
56
-
57
- vgsTextInputLayout.addView(editText);
58
-
59
- this.listener.onCreateViewInstance(editText);
60
- return vgsTextInputLayout;
61
- }
62
-
63
- @ReactProp(name = "placeholder")
64
- public void setPlaceholder(VGSTextInputLayout view, @Nullable String placeholder) {
65
- vgsTextInputLayout.setHint(placeholder);
66
- }
67
- }