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.
- package/README.md +269 -110
- package/android/.gradle/6.1.1/executionHistory/executionHistory.lock +0 -0
- package/android/.gradle/{5.6.4/fileHashes/resourceHashesCache.bin → 6.1.1/fileHashes/fileHashes.bin} +0 -0
- package/android/.gradle/6.1.1/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/cache.properties +2 -2
- package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
- package/android/.gradle/checksums/checksums.lock +0 -0
- package/android/.gradle/checksums/md5-checksums.bin +0 -0
- package/android/.gradle/checksums/sha1-checksums.bin +0 -0
- package/android/.gradle/config.properties +2 -0
- package/android/.idea/caches/deviceStreaming.xml +329 -0
- package/android/.idea/gradle.xml +2 -3
- package/android/.idea/kotlinc.xml +6 -0
- package/android/.idea/migrations.xml +10 -0
- package/android/.idea/misc.xml +1 -1
- package/android/build.gradle +25 -4
- package/android/gradle/wrapper/gradle-wrapper.properties +1 -1
- package/android/payment-sdk-debug-1.0.2.aar +0 -0
- package/android/payment-sdk-release-1.0.2.aar +0 -0
- package/android/src/main/java/com/reactnativepayengine/PayengineModule.java +1 -5
- package/android/src/main/java/com/reactnativepayengine/PayenginePackage.java +9 -33
- package/android/src/main/java/com/reactnativepayengine/util/MetricsUtil.kt +44 -0
- package/android/src/main/java/com/reactnativepayengine/v2/RNPEFraudAnalyticsApplication.java +55 -0
- package/android/src/main/java/com/reactnativepayengine/v2/RNPayEngineNative.kt +73 -0
- package/android/src/main/java/com/reactnativepayengine/v2/features/googlepay/RNPEGooglePayButton.kt +105 -0
- package/android/src/main/java/com/reactnativepayengine/v2/features/googlepay/RNPEGooglePayButtonManager.kt +56 -0
- package/android/src/main/java/com/reactnativepayengine/v2/securefields/RNPEEvents.kt +11 -0
- package/android/src/main/java/com/reactnativepayengine/v2/securefields/RNPEField.kt +17 -0
- package/android/src/main/java/com/reactnativepayengine/v2/securefields/bankaccount/RNBankAccountViewManager.kt +103 -0
- package/android/src/main/java/com/reactnativepayengine/v2/securefields/bankaccount/RNPEBankAccountView.kt +77 -0
- package/android/src/main/java/com/reactnativepayengine/v2/securefields/creditcard/RNPECreditCardView.kt +77 -0
- package/android/src/main/java/com/reactnativepayengine/v2/securefields/creditcard/RNPECreditCardViewManager.kt +103 -0
- package/ios/PayEngineSDK.xcframework/Info.plist +44 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/Frameworks/libKountDataCollector.a +0 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/Headers/CustomWindow.h +25 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/Headers/KDataCollector.h +106 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/Headers/KountAnalyticsViewController.h +82 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/Headers/PayEngineSDK-Swift.h +622 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/Headers/PayEngineSDK.h +20 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/Headers/UIControl+CustomControl.h +33 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/Headers/UIViewController+TouchControl.h +27 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/Info.plist +0 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/arm64-apple-ios.abi.json +15143 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/arm64-apple-ios.private.swiftinterface +326 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/arm64-apple-ios.private.swiftinterface-e +326 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/arm64-apple-ios.swiftinterface +326 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/arm64-apple-ios.swiftinterface-e +326 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/Modules/module.modulemap +11 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/PayEngineSDK +0 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/VGSCollectSDK_VGSCollectSDK.bundle/Assets.car +0 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/VGSCollectSDK_VGSCollectSDK.bundle/Info.plist +0 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/browserInfo.html +136 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64/PayEngineSDK.framework/perform3ds.html +467 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Frameworks/libKountDataCollector.a +0 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Headers/CustomWindow.h +25 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Headers/KDataCollector.h +106 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Headers/KountAnalyticsViewController.h +82 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Headers/PayEngineSDK-Swift.h +1240 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Headers/PayEngineSDK.h +20 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Headers/UIControl+CustomControl.h +33 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Headers/UIViewController+TouchControl.h +27 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Info.plist +0 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/arm64-apple-ios-simulator.abi.json +15143 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +326 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface-e +326 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/arm64-apple-ios-simulator.swiftinterface +326 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/arm64-apple-ios-simulator.swiftinterface-e +326 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/x86_64-apple-ios-simulator.abi.json +15143 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +326 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface-e +326 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +326 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Modules/PayEngineSDK.swiftmodule/x86_64-apple-ios-simulator.swiftinterface-e +326 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/Modules/module.modulemap +11 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/PayEngineSDK +0 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/VGSCollectSDK_VGSCollectSDK.bundle/Assets.car +0 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/VGSCollectSDK_VGSCollectSDK.bundle/Info.plist +0 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/browserInfo.html +136 -0
- package/ios/PayEngineSDK.xcframework/ios-arm64_x86_64-simulator/PayEngineSDK.framework/perform3ds.html +467 -0
- package/ios/Payengine.xcodeproj/project.pbxproj +14 -4
- package/ios/Payengine.xcodeproj/project.xcworkspace/xcuserdata/tringuyen.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/ios/Payengine.xcworkspace/contents.xcworkspacedata +7 -0
- package/ios/Payengine.xcworkspace/xcuserdata/tringuyen.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/ios/Sources/Classes/ApplePay/RNPEApplePayButton.swift +111 -0
- package/ios/Sources/Classes/ApplePay/RNPEApplePayPaymentRequest.swift +43 -0
- package/ios/Sources/Classes/RNPEError.swift +12 -0
- package/ios/Sources/Classes/RNPEEventEmitter.swift +29 -0
- package/ios/Sources/Classes/RNPEUtils.swift +30 -0
- package/ios/Sources/Classes/RNPayEngineNative.swift +87 -0
- package/ios/Sources/Classes/SecureFields/RNPEBankAccountView.swift +130 -0
- package/ios/Sources/Classes/SecureFields/RNPECreditCardView.swift +129 -0
- package/ios/Sources/Classes/SecureFields/RNPEEvents.swift +15 -0
- package/ios/Sources/Classes/SecureFields/RNPEField.swift +26 -0
- package/ios/Sources/Payengine.m +73 -0
- package/ios/Sources/Payengine.swift +13 -0
- package/lib/commonjs/components/PayEngine.js +2 -123
- package/lib/commonjs/components/PayEngine.js.map +1 -1
- package/lib/commonjs/components/v2/ApplePay/PEApplePayButton.js +55 -0
- package/lib/commonjs/components/v2/ApplePay/PEApplePayButton.js.map +1 -0
- package/lib/commonjs/components/v2/GooglePay/PEGooglePayButton.js +70 -0
- package/lib/commonjs/components/v2/GooglePay/PEGooglePayButton.js.map +1 -0
- package/lib/commonjs/components/v2/PEPaymentRequest.js +32 -0
- package/lib/commonjs/components/v2/PEPaymentRequest.js.map +1 -0
- package/lib/commonjs/components/v2/PayEngineNative.js +36 -0
- package/lib/commonjs/components/v2/PayEngineNative.js.map +1 -0
- package/lib/commonjs/components/{SecureFields/VGS/TextField.js → v2/PayEngineProvider.js} +28 -12
- package/lib/commonjs/components/v2/PayEngineProvider.js.map +1 -0
- package/lib/commonjs/components/v2/SecureFields/BankAccountView.js +89 -0
- package/lib/commonjs/components/v2/SecureFields/BankAccountView.js.map +1 -0
- package/lib/commonjs/components/v2/SecureFields/CreditCardView.js +90 -0
- package/lib/commonjs/components/v2/SecureFields/CreditCardView.js.map +1 -0
- package/lib/commonjs/components/v2/SecureFields/IPEField.js +6 -0
- package/lib/commonjs/components/v2/SecureFields/IPEField.js.map +1 -0
- package/lib/commonjs/components/v2/SecureFields/PEBankAccount.js +6 -0
- package/lib/commonjs/components/v2/SecureFields/PEBankAccount.js.map +1 -0
- package/lib/commonjs/components/v2/SecureFields/PECard.js +6 -0
- package/lib/commonjs/components/v2/SecureFields/PECard.js.map +1 -0
- package/lib/commonjs/components/v2/SecureFields/PEKeyboardType.js +18 -0
- package/lib/commonjs/components/v2/SecureFields/PEKeyboardType.js.map +1 -0
- package/lib/commonjs/index.js +62 -18
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/interfaces/index.js +0 -4
- package/lib/commonjs/interfaces/index.js.map +1 -1
- package/lib/commonjs/utils/index.js +10 -38
- package/lib/commonjs/utils/index.js.map +1 -1
- package/lib/module/components/PayEngine.js +3 -118
- package/lib/module/components/PayEngine.js.map +1 -1
- package/lib/module/components/v2/ApplePay/PEApplePayButton.js +41 -0
- package/lib/module/components/v2/ApplePay/PEApplePayButton.js.map +1 -0
- package/lib/module/components/v2/GooglePay/PEGooglePayButton.js +56 -0
- package/lib/module/components/v2/GooglePay/PEGooglePayButton.js.map +1 -0
- package/lib/module/components/v2/PEPaymentRequest.js +23 -0
- package/lib/module/components/v2/PEPaymentRequest.js.map +1 -0
- package/lib/module/components/v2/PayEngineNative.js +25 -0
- package/lib/module/components/v2/PayEngineNative.js.map +1 -0
- package/lib/module/components/v2/PayEngineProvider.js +30 -0
- package/lib/module/components/v2/PayEngineProvider.js.map +1 -0
- package/lib/module/components/v2/SecureFields/BankAccountView.js +75 -0
- package/lib/module/components/v2/SecureFields/BankAccountView.js.map +1 -0
- package/lib/module/components/v2/SecureFields/CreditCardView.js +76 -0
- package/lib/module/components/v2/SecureFields/CreditCardView.js.map +1 -0
- package/lib/module/components/v2/SecureFields/IPEField.js +2 -0
- package/lib/module/components/v2/SecureFields/IPEField.js.map +1 -0
- package/lib/module/components/v2/SecureFields/PEBankAccount.js +2 -0
- package/lib/module/components/v2/SecureFields/PEBankAccount.js.map +1 -0
- package/lib/module/components/v2/SecureFields/PECard.js +2 -0
- package/lib/module/components/v2/SecureFields/PECard.js.map +1 -0
- package/lib/module/components/v2/SecureFields/PEKeyboardType.js +11 -0
- package/lib/module/components/v2/SecureFields/PEKeyboardType.js.map +1 -0
- package/lib/module/index.js +15 -6
- package/lib/module/index.js.map +1 -1
- package/lib/module/interfaces/index.js +1 -1
- package/lib/module/interfaces/index.js.map +1 -1
- package/lib/module/utils/index.js +6 -37
- package/lib/module/utils/index.js.map +1 -1
- package/lib/typescript/components/PayEngine.d.ts +1 -14
- package/lib/typescript/components/v2/ApplePay/PEApplePayButton.d.ts +12 -0
- package/lib/typescript/components/v2/GooglePay/PEGooglePayButton.d.ts +12 -0
- package/lib/typescript/components/v2/PEPaymentRequest.d.ts +13 -0
- package/lib/typescript/components/v2/PayEngineNative.d.ts +5 -0
- package/lib/typescript/components/v2/PayEngineProvider.d.ts +8 -0
- package/lib/typescript/components/v2/SecureFields/BankAccountView.d.ts +14 -0
- package/lib/typescript/components/v2/SecureFields/CreditCardView.d.ts +14 -0
- package/lib/typescript/components/v2/SecureFields/IPEField.d.ts +10 -0
- package/lib/typescript/components/v2/SecureFields/PEBankAccount.d.ts +11 -0
- package/lib/typescript/components/v2/SecureFields/PECard.d.ts +13 -0
- package/lib/typescript/components/v2/SecureFields/PEKeyboardType.d.ts +7 -0
- package/lib/typescript/index.d.ts +13 -6
- package/lib/typescript/interfaces/index.d.ts +0 -27
- package/lib/typescript/utils/index.d.ts +3 -36
- package/package.json +11 -6
- package/react-native-payengine.podspec +2 -2
- package/src/components/PayEngine.tsx +5 -118
- package/src/components/v2/ApplePay/PEApplePayButton.tsx +74 -0
- package/src/components/v2/GooglePay/PEGooglePayButton.tsx +73 -0
- package/src/components/v2/PEPaymentRequest.ts +20 -0
- package/src/components/v2/PayEngineNative.tsx +22 -0
- package/src/components/v2/PayEngineProvider.tsx +30 -0
- package/src/components/v2/SecureFields/BankAccountView.tsx +95 -0
- package/src/components/v2/SecureFields/CreditCardView.tsx +96 -0
- package/src/components/v2/SecureFields/IPEField.ts +12 -0
- package/src/components/v2/SecureFields/PEBankAccount.ts +12 -0
- package/src/components/v2/SecureFields/PECard.ts +14 -0
- package/src/components/v2/SecureFields/PEKeyboardType.ts +8 -0
- package/src/index.tsx +49 -22
- package/src/interfaces/index.ts +0 -32
- package/src/utils/index.ts +8 -36
- package/android/.gradle/5.6.4/executionHistory/executionHistory.bin +0 -0
- package/android/.gradle/5.6.4/executionHistory/executionHistory.lock +0 -0
- package/android/.gradle/5.6.4/fileContent/fileContent.lock +0 -0
- package/android/.gradle/5.6.4/fileHashes/fileHashes.bin +0 -0
- package/android/.gradle/5.6.4/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/5.6.4/javaCompile/classAnalysis.bin +0 -0
- package/android/.gradle/5.6.4/javaCompile/jarAnalysis.bin +0 -0
- package/android/.gradle/5.6.4/javaCompile/javaCompile.lock +0 -0
- package/android/.gradle/5.6.4/javaCompile/taskHistory.bin +0 -0
- package/android/src/main/java/com/reactnativepayengine/collect/VGSCollectModule.java +0 -153
- package/android/src/main/java/com/reactnativepayengine/collect/VGSCollectOnCreateViewInstanceListener.java +0 -6
- package/android/src/main/java/com/reactnativepayengine/collect/fields/VGSCVCField.java +0 -67
- package/android/src/main/java/com/reactnativepayengine/collect/fields/VGSCardHolderNameField.java +0 -53
- package/android/src/main/java/com/reactnativepayengine/collect/fields/VGSCardNumberField.java +0 -57
- package/android/src/main/java/com/reactnativepayengine/collect/fields/VGSExpDateField.java +0 -54
- package/android/src/main/java/com/reactnativepayengine/collect/fields/VGSTextField.java +0 -57
- package/android/src/main/java/com/reactnativepayengine/collect/fields/VGSZipCodeField.java +0 -62
- package/android/src/main/java/com/reactnativepayengine/util/ResourceUtil.java +0 -14
- package/ios/Payengine.m +0 -72
- package/ios/Payengine.swift +0 -720
- package/lib/commonjs/components/ApplePay/PayEngineApplePay.js +0 -71
- package/lib/commonjs/components/ApplePay/PayEngineApplePay.js.map +0 -1
- package/lib/commonjs/components/ApplePay/index.js +0 -46
- package/lib/commonjs/components/ApplePay/index.js.map +0 -1
- package/lib/commonjs/components/ApplePay/interfaces.js +0 -2
- package/lib/commonjs/components/ApplePay/interfaces.js.map +0 -1
- package/lib/commonjs/components/CreditCardForm/index.js +0 -76
- package/lib/commonjs/components/CreditCardForm/index.js.map +0 -1
- package/lib/commonjs/components/GooglePay/PayEngineGooglePay.js +0 -65
- package/lib/commonjs/components/GooglePay/PayEngineGooglePay.js.map +0 -1
- package/lib/commonjs/components/GooglePay/index.js +0 -40
- package/lib/commonjs/components/GooglePay/index.js.map +0 -1
- package/lib/commonjs/components/GooglePay/interfaces.js +0 -2
- package/lib/commonjs/components/GooglePay/interfaces.js.map +0 -1
- package/lib/commonjs/components/Legacy/CreditCardFormLegacy.js +0 -323
- package/lib/commonjs/components/Legacy/CreditCardFormLegacy.js.map +0 -1
- package/lib/commonjs/components/SecureFields/VGS/CVCField.js +0 -26
- package/lib/commonjs/components/SecureFields/VGS/CVCField.js.map +0 -1
- package/lib/commonjs/components/SecureFields/VGS/CardHolderNameField.js +0 -26
- package/lib/commonjs/components/SecureFields/VGS/CardHolderNameField.js.map +0 -1
- package/lib/commonjs/components/SecureFields/VGS/CardNumberField.js +0 -26
- package/lib/commonjs/components/SecureFields/VGS/CardNumberField.js.map +0 -1
- package/lib/commonjs/components/SecureFields/VGS/CollectManager.js +0 -60
- package/lib/commonjs/components/SecureFields/VGS/CollectManager.js.map +0 -1
- package/lib/commonjs/components/SecureFields/VGS/ExpDateField.js +0 -26
- package/lib/commonjs/components/SecureFields/VGS/ExpDateField.js.map +0 -1
- package/lib/commonjs/components/SecureFields/VGS/TextField.js.map +0 -1
- package/lib/commonjs/components/SecureFields/VGS/ZipCodeField.js +0 -26
- package/lib/commonjs/components/SecureFields/VGS/ZipCodeField.js.map +0 -1
- package/lib/commonjs/components/SecureFields/index.js +0 -34
- package/lib/commonjs/components/SecureFields/index.js.map +0 -1
- package/lib/module/components/ApplePay/PayEngineApplePay.js +0 -58
- package/lib/module/components/ApplePay/PayEngineApplePay.js.map +0 -1
- package/lib/module/components/ApplePay/index.js +0 -35
- package/lib/module/components/ApplePay/index.js.map +0 -1
- package/lib/module/components/ApplePay/interfaces.js +0 -2
- package/lib/module/components/ApplePay/interfaces.js.map +0 -1
- package/lib/module/components/CreditCardForm/index.js +0 -60
- package/lib/module/components/CreditCardForm/index.js.map +0 -1
- package/lib/module/components/GooglePay/PayEngineGooglePay.js +0 -52
- package/lib/module/components/GooglePay/PayEngineGooglePay.js.map +0 -1
- package/lib/module/components/GooglePay/index.js +0 -29
- package/lib/module/components/GooglePay/index.js.map +0 -1
- package/lib/module/components/GooglePay/interfaces.js +0 -2
- package/lib/module/components/GooglePay/interfaces.js.map +0 -1
- package/lib/module/components/Legacy/CreditCardFormLegacy.js +0 -302
- package/lib/module/components/Legacy/CreditCardFormLegacy.js.map +0 -1
- package/lib/module/components/SecureFields/VGS/CVCField.js +0 -14
- package/lib/module/components/SecureFields/VGS/CVCField.js.map +0 -1
- package/lib/module/components/SecureFields/VGS/CardHolderNameField.js +0 -14
- package/lib/module/components/SecureFields/VGS/CardHolderNameField.js.map +0 -1
- package/lib/module/components/SecureFields/VGS/CardNumberField.js +0 -14
- package/lib/module/components/SecureFields/VGS/CardNumberField.js.map +0 -1
- package/lib/module/components/SecureFields/VGS/CollectManager.js +0 -45
- package/lib/module/components/SecureFields/VGS/CollectManager.js.map +0 -1
- package/lib/module/components/SecureFields/VGS/ExpDateField.js +0 -14
- package/lib/module/components/SecureFields/VGS/ExpDateField.js.map +0 -1
- package/lib/module/components/SecureFields/VGS/TextField.js +0 -17
- package/lib/module/components/SecureFields/VGS/TextField.js.map +0 -1
- package/lib/module/components/SecureFields/VGS/ZipCodeField.js +0 -14
- package/lib/module/components/SecureFields/VGS/ZipCodeField.js.map +0 -1
- package/lib/module/components/SecureFields/index.js +0 -17
- package/lib/module/components/SecureFields/index.js.map +0 -1
- package/lib/typescript/components/ApplePay/PayEngineApplePay.d.ts +0 -12
- package/lib/typescript/components/ApplePay/index.d.ts +0 -7
- package/lib/typescript/components/ApplePay/interfaces.d.ts +0 -20
- package/lib/typescript/components/CreditCardForm/index.d.ts +0 -3
- package/lib/typescript/components/GooglePay/PayEngineGooglePay.d.ts +0 -10
- package/lib/typescript/components/GooglePay/index.d.ts +0 -7
- package/lib/typescript/components/GooglePay/interfaces.d.ts +0 -38
- package/lib/typescript/components/Legacy/CreditCardFormLegacy.d.ts +0 -4
- package/lib/typescript/components/SecureFields/VGS/CVCField.d.ts +0 -10
- package/lib/typescript/components/SecureFields/VGS/CardHolderNameField.d.ts +0 -10
- package/lib/typescript/components/SecureFields/VGS/CardNumberField.d.ts +0 -10
- package/lib/typescript/components/SecureFields/VGS/CollectManager.d.ts +0 -12
- package/lib/typescript/components/SecureFields/VGS/ExpDateField.d.ts +0 -10
- package/lib/typescript/components/SecureFields/VGS/TextField.d.ts +0 -14
- package/lib/typescript/components/SecureFields/VGS/ZipCodeField.d.ts +0 -10
- package/lib/typescript/components/SecureFields/index.d.ts +0 -16
- package/src/components/ApplePay/PayEngineApplePay.ts +0 -61
- package/src/components/ApplePay/index.ts +0 -32
- package/src/components/ApplePay/interfaces.ts +0 -25
- package/src/components/CreditCardForm/index.tsx +0 -43
- package/src/components/GooglePay/PayEngineGooglePay.ts +0 -48
- package/src/components/GooglePay/index.ts +0 -39
- package/src/components/GooglePay/interfaces.ts +0 -42
- package/src/components/Legacy/CreditCardFormLegacy.tsx +0 -292
- package/src/components/SecureFields/VGS/CVCField.tsx +0 -21
- package/src/components/SecureFields/VGS/CardHolderNameField.tsx +0 -21
- package/src/components/SecureFields/VGS/CardNumberField.tsx +0 -21
- package/src/components/SecureFields/VGS/CollectManager.tsx +0 -74
- package/src/components/SecureFields/VGS/ExpDateField.tsx +0 -21
- package/src/components/SecureFields/VGS/TextField.tsx +0 -27
- package/src/components/SecureFields/VGS/ZipCodeField.tsx +0 -21
- package/src/components/SecureFields/index.ts +0 -17
- /package/android/.gradle/{5.6.4 → 6.1.1}/fileChanges/last-build.bin +0 -0
- /package/android/.gradle/{5.6.4 → 6.1.1}/gc.properties +0 -0
- /package/android/{vgscollect-1.7.2-debug.aar → securefields-1.7.2-debug.aar} +0 -0
- /package/ios/{Payengine-Bridging-Header.h → Sources/Payengine-Bridging-Header.h} +0 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import type IPEField from './IPEField';
|
|
3
|
+
import type PEBankAccount from './PEBankAccount';
|
|
4
|
+
export interface PEBankAccountViewProps {
|
|
5
|
+
additionalFields?: IPEField[];
|
|
6
|
+
}
|
|
7
|
+
export interface PEBankAccountViewMethods {
|
|
8
|
+
submit: (merchantId: string, additionalData: {
|
|
9
|
+
[key: string]: string;
|
|
10
|
+
}) => Promise<PEBankAccount>;
|
|
11
|
+
showKeyboard: () => void;
|
|
12
|
+
hideKeyboard: () => void;
|
|
13
|
+
}
|
|
14
|
+
export declare const PEBankAccountView: React.ForwardRefExoticComponent<PEBankAccountViewProps & React.RefAttributes<PEBankAccountViewMethods>>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import type IPEField from './IPEField';
|
|
3
|
+
import type PECard from './PECard';
|
|
4
|
+
export interface PECreditCardViewProps {
|
|
5
|
+
additionalFields?: IPEField[];
|
|
6
|
+
}
|
|
7
|
+
export interface PECreditCardViewMethods {
|
|
8
|
+
submit: (merchantId: string, additionalData: {
|
|
9
|
+
[key: string]: string;
|
|
10
|
+
}) => Promise<PECard>;
|
|
11
|
+
showKeyboard: () => void;
|
|
12
|
+
hideKeyboard: () => void;
|
|
13
|
+
}
|
|
14
|
+
export declare const PECreditCardView: React.ForwardRefExoticComponent<PECreditCardViewProps & React.RefAttributes<PECreditCardViewMethods>>;
|
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
import PayEngine from './components/PayEngine';
|
|
2
|
-
import { SecureFields } from './components/SecureFields/index';
|
|
3
|
-
import { CreditCardForm } from './components/CreditCardForm/index';
|
|
4
|
-
import CreditCardFormLegacy from './components/Legacy/CreditCardFormLegacy';
|
|
5
2
|
import type { IPayEngineConfig } from './interfaces/index';
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
3
|
+
import { PECreditCardView, PECreditCardViewMethods } from './components/v2/SecureFields/CreditCardView';
|
|
4
|
+
import { PEBankAccountView, PEBankAccountViewMethods } from './components/v2/SecureFields/BankAccountView';
|
|
5
|
+
import type IPEField from './components/v2/SecureFields/IPEField';
|
|
6
|
+
import type PECard from './components/v2/SecureFields/PECard';
|
|
7
|
+
import type PEBankAccount from './components/v2/SecureFields/PEBankAccount';
|
|
8
|
+
import { PayEngineProvider } from './components/v2/PayEngineProvider';
|
|
9
|
+
import PayEngineNative from './components/v2/PayEngineNative';
|
|
10
|
+
import { PEApplePayButton } from './components/v2/ApplePay/PEApplePayButton';
|
|
11
|
+
import { PEPaymentRequest } from './components/v2/PEPaymentRequest';
|
|
12
|
+
import { PEGooglePayButton } from './components/v2/GooglePay/PEGooglePayButton';
|
|
13
|
+
import * as PayEngineUtils from './utils/index';
|
|
14
|
+
import PEKeyboardType from './components/v2/SecureFields/PEKeyboardType';
|
|
8
15
|
declare const PayEngineStatic: any;
|
|
9
|
-
export { PayEngineStatic, PayEngine,
|
|
16
|
+
export { PayEngineStatic, PayEngine, IPayEngineConfig, PayEngineUtils, PayEngineProvider, PayEngineNative, PEKeyboardType, IPEField, PECreditCardView, PECreditCardViewMethods, PECard, PEBankAccountView, PEBankAccountViewMethods, PEBankAccount, PEApplePayButton, PEPaymentRequest, PEGooglePayButton, };
|
|
@@ -1,33 +1,6 @@
|
|
|
1
|
-
import type { StyleProp, ViewStyle } from 'react-native';
|
|
2
|
-
import type { GooglePayRequestData } from '../components/GooglePay/interfaces';
|
|
3
1
|
export interface IPayEngineConfig {
|
|
4
2
|
publicKey: string;
|
|
5
3
|
version?: string;
|
|
6
4
|
scriptURL?: string;
|
|
7
5
|
logLevel?: number;
|
|
8
6
|
}
|
|
9
|
-
export interface CreditCardFormProps {
|
|
10
|
-
style?: StyleProp<ViewStyle>;
|
|
11
|
-
merchantId?: string;
|
|
12
|
-
showZipCode?: boolean;
|
|
13
|
-
config: IPayEngineConfig;
|
|
14
|
-
}
|
|
15
|
-
export interface CreditCardFormMethods {
|
|
16
|
-
createCard: (merchantId?: string) => Promise<any>;
|
|
17
|
-
}
|
|
18
|
-
export interface MobilePaymentConfig {
|
|
19
|
-
base_url: string;
|
|
20
|
-
country: string;
|
|
21
|
-
currency: string;
|
|
22
|
-
gateway: string;
|
|
23
|
-
google_pay: GooglePayRequestData;
|
|
24
|
-
apple_pay: {
|
|
25
|
-
merchantName: string;
|
|
26
|
-
supportedCardNetworks: string[];
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
export interface PaymentRequest {
|
|
30
|
-
amount: number;
|
|
31
|
-
currencyCode?: string;
|
|
32
|
-
countryCode?: string;
|
|
33
|
-
}
|
|
@@ -1,44 +1,11 @@
|
|
|
1
1
|
import type { IPayEngineConfig } from '../interfaces/index';
|
|
2
|
+
export declare class PEDeprecationError extends Error {
|
|
3
|
+
constructor();
|
|
4
|
+
}
|
|
2
5
|
export declare const getHttpHeaders: (config: IPayEngineConfig) => {
|
|
3
6
|
Authorization: string;
|
|
4
7
|
};
|
|
5
8
|
export declare const getBaseURL: (config: IPayEngineConfig) => string;
|
|
6
9
|
export declare const createHttpClient: (config: IPayEngineConfig) => import("axios").AxiosInstance;
|
|
7
10
|
export declare function getScriptURL(config: IPayEngineConfig): string;
|
|
8
|
-
/**
|
|
9
|
-
* <script>
|
|
10
|
-
console.log("AAAAAAAA")
|
|
11
|
-
var component = document.getElementById("component");
|
|
12
|
-
var onEvent = function(event) {
|
|
13
|
-
console.log({ event })
|
|
14
|
-
}
|
|
15
|
-
console.log('component')
|
|
16
|
-
component.addEventListener('stepChange', function(e) {
|
|
17
|
-
console.log('step change')
|
|
18
|
-
})
|
|
19
|
-
function addEventListenerAll(target, listener, ...otherArguments) {
|
|
20
|
-
|
|
21
|
-
// install listeners for all natively triggered events
|
|
22
|
-
for (const key in target) {
|
|
23
|
-
if (/^on/.test(key)) {
|
|
24
|
-
const eventType = key.substr(2);
|
|
25
|
-
target.addEventListener(eventType, listener, ...otherArguments);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
// dynamically install listeners for all manually triggered events, just-in-time before they're dispatched ;D
|
|
30
|
-
const dispatchEvent_original = EventTarget.prototype.dispatchEvent;
|
|
31
|
-
function dispatchEvent(event) {
|
|
32
|
-
console.log('event test', event.type)
|
|
33
|
-
target.addEventListener(event.type, listener, ...otherArguments); // multiple identical listeners are automatically discarded
|
|
34
|
-
dispatchEvent_original.apply(this, arguments);
|
|
35
|
-
}
|
|
36
|
-
EventTarget.prototype.dispatchEvent = dispatchEvent;
|
|
37
|
-
if (EventTarget.prototype.dispatchEvent !== dispatchEvent) throw new Error('Browser is smarter than you think');
|
|
38
|
-
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
// addEventListenerAll(component, onEvent);
|
|
42
|
-
</script>
|
|
43
|
-
*/
|
|
44
11
|
export declare const debuggingScript = "\nconst consoleLog = (type, ...log) => window.ReactNativeWebView.postMessage(JSON.stringify({'type': 'Console', 'data': {'type': type, 'log': log}}));\nconsole = {\n log: (...log) => consoleLog('log', ...log),\n debug: (...log) => consoleLog('debug', ...log),\n info: (...log) => consoleLog('info', ...log),\n warn: (...log) => consoleLog('warn', ...log),\n error: (...log) => consoleLog('error', ...log),\n verbose: (...log) => consoleLog('verbose', ...log),\n};\n\nconst dispatchEvent_original = EventTarget.prototype.dispatchEvent;\nfunction dispatchEvent(event) {\n if (event.type && !event.type.startsWith('react')) {\n ReactNativeWebView.postMessage(JSON.stringify({\n type: 'PayEngine',\n event: {\n type: event.type,\n detail: event.detail\n }\n }))\n }\n}\nEventTarget.prototype.dispatchEvent = dispatchEvent;\n";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-payengine",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.4",
|
|
4
4
|
"description": "PayEngine SDK for React Native",
|
|
5
5
|
"main": "lib/commonjs/index",
|
|
6
6
|
"module": "lib/module/index",
|
|
@@ -29,6 +29,8 @@
|
|
|
29
29
|
"lint": "eslint \"**/*.{js,ts,tsx}\"",
|
|
30
30
|
"prepare": "bob build",
|
|
31
31
|
"release": "release-it",
|
|
32
|
+
"update-release": "release-it --no-increment",
|
|
33
|
+
"beta": "release-it major --preRelease=beta",
|
|
32
34
|
"example": "yarn --cwd example",
|
|
33
35
|
"bootstrap": "yarn example && yarn && yarn example pods"
|
|
34
36
|
},
|
|
@@ -62,7 +64,6 @@
|
|
|
62
64
|
"react": "17.0.2",
|
|
63
65
|
"react-native": "0.68.2",
|
|
64
66
|
"react-native-builder-bob": "^0.18.3",
|
|
65
|
-
"react-native-webview": "^11.23.0",
|
|
66
67
|
"release-it": "^15.0.0",
|
|
67
68
|
"typescript": "^4.5.2"
|
|
68
69
|
},
|
|
@@ -71,8 +72,7 @@
|
|
|
71
72
|
},
|
|
72
73
|
"peerDependencies": {
|
|
73
74
|
"react": "*",
|
|
74
|
-
"react-native": "*"
|
|
75
|
-
"react-native-webview": "^11.23.0"
|
|
75
|
+
"react-native": "*"
|
|
76
76
|
},
|
|
77
77
|
"jest": {
|
|
78
78
|
"preset": "react-native",
|
|
@@ -89,13 +89,17 @@
|
|
|
89
89
|
"release-it": {
|
|
90
90
|
"git": {
|
|
91
91
|
"commitMessage": "chore: release ${version}",
|
|
92
|
-
"tagName": "v${version}"
|
|
92
|
+
"tagName": "v${version}",
|
|
93
|
+
"commit": true,
|
|
94
|
+
"tag": true,
|
|
95
|
+
"push": true,
|
|
96
|
+
"requireCleanWorkingDir": false
|
|
93
97
|
},
|
|
94
98
|
"npm": {
|
|
95
99
|
"publish": true
|
|
96
100
|
},
|
|
97
101
|
"github": {
|
|
98
|
-
"release":
|
|
102
|
+
"release": false
|
|
99
103
|
},
|
|
100
104
|
"plugins": {
|
|
101
105
|
"@release-it/conventional-changelog": {
|
|
@@ -150,6 +154,7 @@
|
|
|
150
154
|
},
|
|
151
155
|
"dependencies": {
|
|
152
156
|
"axios": "^0.27.2",
|
|
157
|
+
"caniuse-lite": "^1.0.30001658",
|
|
153
158
|
"events": "^3.3.0"
|
|
154
159
|
}
|
|
155
160
|
}
|
|
@@ -14,12 +14,12 @@ Pod::Spec.new do |s|
|
|
|
14
14
|
s.platforms = { :ios => "12.0" }
|
|
15
15
|
s.source = { :git => "https://bitbucket.org/payfac0/pf-react-native-payengine", :tag => "#{s.version}" }
|
|
16
16
|
|
|
17
|
-
s.source_files = "ios/**/*.{h,m,mm,swift}"
|
|
17
|
+
s.source_files = "ios/Sources/**/*.{h,m,mm,swift}"
|
|
18
18
|
|
|
19
19
|
s.dependency "React-Core"
|
|
20
20
|
|
|
21
21
|
# VGS collect
|
|
22
|
-
s.
|
|
22
|
+
s.vendored_frameworks = 'ios/PayEngineSDK.xcframework'
|
|
23
23
|
|
|
24
24
|
# Don't install the dependencies when we run `pod install` in the old architecture.
|
|
25
25
|
if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then
|
|
@@ -1,121 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import { WebView } from 'react-native-webview';
|
|
4
|
-
import { getScriptURL, debuggingScript } from '../utils';
|
|
5
|
-
import LoadingIndicator from './LoadingIndicator';
|
|
6
|
-
import type { IPayEngineConfig } from '../interfaces/index';
|
|
2
|
+
import { Text } from 'react-native';
|
|
7
3
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
merchantId?: string
|
|
12
|
-
hash?: string
|
|
13
|
-
events: {
|
|
14
|
-
[key: string]: (eventData: any) => void
|
|
15
|
-
}
|
|
16
|
-
style?: StyleProp<ViewStyle>
|
|
17
|
-
[key: string]: any
|
|
18
|
-
}
|
|
4
|
+
const PayEngine = () => {
|
|
5
|
+
return <Text>Obsolete. Please check out the package readme</Text>;
|
|
6
|
+
};
|
|
19
7
|
|
|
20
|
-
|
|
21
|
-
const allowedProps = Object.keys(props).filter(x => !['config', 'events', 'style'].includes(x))
|
|
22
|
-
return `<pay-engine id="component"
|
|
23
|
-
style="z-index: 100"
|
|
24
|
-
${allowedProps.map((propName: string) => `${propName}="${props[propName]}"`).join(' ')}
|
|
25
|
-
></pay-engine>`
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
const generateHTML = (scriptURL: string, props: IProps) => {
|
|
29
|
-
return `<!DOCTYPE html>
|
|
30
|
-
<html>
|
|
31
|
-
<head>
|
|
32
|
-
<title>PayEngine Elements</title>
|
|
33
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
34
|
-
<script src="${scriptURL}" async defer type="text/javascript"></script>
|
|
35
|
-
</head>
|
|
36
|
-
<body>
|
|
37
|
-
${getHtmlTag(props)}
|
|
38
|
-
<script>
|
|
39
|
-
setInterval(function() {
|
|
40
|
-
window.ReactNativeWebView.postMessage(JSON.stringify({
|
|
41
|
-
type: 'PayEngine-height',
|
|
42
|
-
height: document.body.scrollHeight
|
|
43
|
-
}))
|
|
44
|
-
}, 500);
|
|
45
|
-
</script>
|
|
46
|
-
</body>
|
|
47
|
-
</html>`
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
const PayEngine = (props: IProps) => {
|
|
51
|
-
|
|
52
|
-
const [scriptURL] = React.useState(getScriptURL(props.config))
|
|
53
|
-
const [height, setHeight] = React.useState(30)
|
|
54
|
-
|
|
55
|
-
const html = generateHTML(scriptURL, props)
|
|
56
|
-
|
|
57
|
-
const onMessage = (payload: any) => {
|
|
58
|
-
const isDebug = props.config.logLevel! > 0
|
|
59
|
-
let dataPayload;
|
|
60
|
-
try {
|
|
61
|
-
dataPayload = JSON.parse(payload.nativeEvent.data);
|
|
62
|
-
} catch (e) { }
|
|
63
|
-
|
|
64
|
-
if (dataPayload) {
|
|
65
|
-
switch (dataPayload.type) {
|
|
66
|
-
case 'Console':
|
|
67
|
-
if (isDebug) {
|
|
68
|
-
console.info(`[Console] ${JSON.stringify(dataPayload.data)}`);
|
|
69
|
-
}
|
|
70
|
-
break;
|
|
71
|
-
case 'PayEngine':
|
|
72
|
-
const { type, detail } = dataPayload.event
|
|
73
|
-
if (props.events?.[type]) {
|
|
74
|
-
props.events?.[type]?.(detail)
|
|
75
|
-
}
|
|
76
|
-
break;
|
|
77
|
-
case 'PayEngine-height':
|
|
78
|
-
setHeight(dataPayload.height)
|
|
79
|
-
break;
|
|
80
|
-
default:
|
|
81
|
-
if (isDebug) {
|
|
82
|
-
console.log(dataPayload)
|
|
83
|
-
}
|
|
84
|
-
break;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
return <View style={[{ flex: 1, height: height }, props.style]}>
|
|
90
|
-
<View style={styles.yellowBox}>
|
|
91
|
-
<Text>Script URL: {scriptURL}</Text>
|
|
92
|
-
</View>
|
|
93
|
-
<View style={styles.yellowBox}>
|
|
94
|
-
<Text>{getHtmlTag(props)}</Text>
|
|
95
|
-
</View>
|
|
96
|
-
<WebView
|
|
97
|
-
originWhitelist={['*']}
|
|
98
|
-
source={{ html: html, baseUrl: '' }}
|
|
99
|
-
// source={{ uri: 'https://google.com' }}
|
|
100
|
-
applicationNameForUserAgent={`PayEngine-RN/${Platform.OS}`}
|
|
101
|
-
injectedJavaScript={debuggingScript}
|
|
102
|
-
renderLoading={LoadingIndicator}
|
|
103
|
-
startInLoadingState={true}
|
|
104
|
-
onMessage={onMessage}
|
|
105
|
-
/>
|
|
106
|
-
</View>
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
const styles = StyleSheet.create({
|
|
110
|
-
yellowBox: {
|
|
111
|
-
marginVertical: 5,
|
|
112
|
-
marginHorizontal: 10,
|
|
113
|
-
padding: 10,
|
|
114
|
-
backgroundColor: 'yellow',
|
|
115
|
-
borderWidth: 1,
|
|
116
|
-
borderColor: 'yellow'
|
|
117
|
-
}
|
|
118
|
-
})
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
export default PayEngine
|
|
8
|
+
export default PayEngine;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { Platform, requireNativeComponent, Text, ViewProps } from 'react-native';
|
|
4
|
+
import type { PEPaymentRequest } from '../PEPaymentRequest';
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
const RNPEApplePayButton = requireNativeComponent<NativePEApplePayViewProps>('RNPEApplePayButton');
|
|
8
|
+
|
|
9
|
+
type NativePEApplePayEvent = {
|
|
10
|
+
nativeEvent: {
|
|
11
|
+
error?: string;
|
|
12
|
+
token?: string
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
interface NativePEApplePayViewProps extends ViewProps {
|
|
17
|
+
paymentRequest: string;
|
|
18
|
+
onPmSheetDidDismiss: (event: NativePEApplePayEvent) => void;
|
|
19
|
+
onPmTokenDidReturn: (event: NativePEApplePayEvent) => void;
|
|
20
|
+
onPmError: (event: NativePEApplePayEvent) => void;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export interface PEApplePayButtonProps extends ViewProps {
|
|
24
|
+
paymentRequest: PEPaymentRequest;
|
|
25
|
+
onTokenDidReturn?: (token: string) => void;
|
|
26
|
+
onPaymentSheetDismissed?: () => void;
|
|
27
|
+
onPaymentFailed?: (error: Error) => void;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export interface PEApplePayButtonMethods {
|
|
31
|
+
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
export const PEApplePayButton = React.forwardRef<
|
|
36
|
+
PEApplePayButtonMethods,
|
|
37
|
+
PEApplePayButtonProps
|
|
38
|
+
>((props, ref) => {
|
|
39
|
+
|
|
40
|
+
React.useImperativeHandle(ref, () => ({
|
|
41
|
+
}));
|
|
42
|
+
|
|
43
|
+
const pmError = (event: NativePEApplePayEvent) => {
|
|
44
|
+
if (props.onPaymentFailed) {
|
|
45
|
+
props.onPaymentFailed(new Error(event.nativeEvent.error));
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
const pmTokenDidReturn = (event: NativePEApplePayEvent) => {
|
|
50
|
+
if (props.onTokenDidReturn) {
|
|
51
|
+
props.onTokenDidReturn(event.nativeEvent.token!);
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
const pmSheetDidDismiss = () => {
|
|
56
|
+
if (props.onPaymentSheetDismissed) {
|
|
57
|
+
props.onPaymentSheetDismissed();
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
if (Platform.OS !== 'ios') {
|
|
62
|
+
return <Text>Apple Pay is not supported on this platform</Text>
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
return (
|
|
66
|
+
<RNPEApplePayButton
|
|
67
|
+
style={{ height: 32, width: '100%', ...(props.style as object) }}
|
|
68
|
+
paymentRequest={JSON.stringify(props.paymentRequest)}
|
|
69
|
+
onPmError={pmError}
|
|
70
|
+
onPmTokenDidReturn={pmTokenDidReturn}
|
|
71
|
+
onPmSheetDidDismiss={pmSheetDidDismiss}
|
|
72
|
+
/>
|
|
73
|
+
);
|
|
74
|
+
});
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { NativeEventEmitter, NativeModules, Platform, requireNativeComponent, Text, ViewProps } from 'react-native';
|
|
4
|
+
import type { PEPaymentRequest } from '../PEPaymentRequest';
|
|
5
|
+
|
|
6
|
+
const { RNPEEventEmitter } = NativeModules;
|
|
7
|
+
|
|
8
|
+
const RNPEGooglePayButton = requireNativeComponent<NativePEGooglePayViewProps>('RNPEGooglePayButton');
|
|
9
|
+
|
|
10
|
+
interface NativePEGooglePayViewProps extends ViewProps {
|
|
11
|
+
amount: number;
|
|
12
|
+
merchantId: string;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const peEventEmitter = new NativeEventEmitter(RNPEEventEmitter);
|
|
16
|
+
|
|
17
|
+
export interface PEGooglePayButtonProps extends ViewProps {
|
|
18
|
+
paymentRequest: PEPaymentRequest;
|
|
19
|
+
onTokenDidReturn?: (token: string) => void;
|
|
20
|
+
onPaymentSheetDismissed?: () => void;
|
|
21
|
+
onPaymentFailed?: (error: Error) => void;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export interface PEGooglePayButtonMethods {
|
|
25
|
+
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
export const PEGooglePayButton = React.forwardRef<
|
|
30
|
+
PEGooglePayButtonMethods,
|
|
31
|
+
PEGooglePayButtonProps
|
|
32
|
+
>((props, ref) => {
|
|
33
|
+
|
|
34
|
+
React.useImperativeHandle(ref, () => ({
|
|
35
|
+
}));
|
|
36
|
+
|
|
37
|
+
React.useEffect(() => {
|
|
38
|
+
const listener1 = peEventEmitter.addListener('onGooglePayRespond', args => {
|
|
39
|
+
const { token } = args;
|
|
40
|
+
console.log('ON token', token)
|
|
41
|
+
props.onTokenDidReturn?.(token)
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
const listener2 = peEventEmitter.addListener('onGooglePayError', args => {
|
|
45
|
+
const { error } = args;
|
|
46
|
+
console.log('ON error', error)
|
|
47
|
+
props.onPaymentFailed?.(new Error(error))
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
const listener3 = peEventEmitter.addListener('onGooglePayDismiss', () => {
|
|
51
|
+
console.log('ON dismiss')
|
|
52
|
+
props.onPaymentSheetDismissed?.()
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
return () => {
|
|
56
|
+
listener1.remove();
|
|
57
|
+
listener2.remove();
|
|
58
|
+
listener3.remove();
|
|
59
|
+
}
|
|
60
|
+
}, []);
|
|
61
|
+
|
|
62
|
+
if (Platform.OS !== 'android') {
|
|
63
|
+
return <Text>Google Pay is not supported on this platform</Text>
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
return (
|
|
67
|
+
<RNPEGooglePayButton
|
|
68
|
+
style={{ height: 32, width: '100%', ...(props.style as object) }}
|
|
69
|
+
amount={props.paymentRequest.paymentAmount}
|
|
70
|
+
merchantId={props.paymentRequest.merchantId}
|
|
71
|
+
/>
|
|
72
|
+
);
|
|
73
|
+
});
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
|
|
2
|
+
export class PEPaymentRequest {
|
|
3
|
+
merchantId: string;
|
|
4
|
+
paymentAmount: number;
|
|
5
|
+
currencyCode?: 'USD' | 'CAD' = 'USD';
|
|
6
|
+
paymentItems?: {
|
|
7
|
+
amount: number;
|
|
8
|
+
label: string;
|
|
9
|
+
}[] = []
|
|
10
|
+
|
|
11
|
+
constructor(merchantId: string, paymentAmount: number, currencyCode: 'USD' | 'CAD' = 'USD', paymentItems: {
|
|
12
|
+
amount: number;
|
|
13
|
+
label: string;
|
|
14
|
+
}[] = []) {
|
|
15
|
+
this.merchantId = merchantId;
|
|
16
|
+
this.paymentAmount = paymentAmount;
|
|
17
|
+
this.currencyCode = currencyCode;
|
|
18
|
+
this.paymentItems = paymentItems;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { NativeModules, Platform } from "react-native";
|
|
2
|
+
|
|
3
|
+
const { RNPayEngineNative } = NativeModules;
|
|
4
|
+
|
|
5
|
+
export default class PayEngineNative {
|
|
6
|
+
static async createFraudMonitorSession(merchantId: string) {
|
|
7
|
+
return RNPayEngineNative.createFraudMonitorSession(merchantId);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
static async getBrowserInfo() {
|
|
11
|
+
return RNPayEngineNative.getBrowserInfo();
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
static async isPlatformPaySupported(merchantId: string) {
|
|
15
|
+
if (Platform.OS === 'ios') {
|
|
16
|
+
return await RNPayEngineNative.isApplePaySupported(merchantId);
|
|
17
|
+
} else if (Platform.OS === 'android') {
|
|
18
|
+
return true
|
|
19
|
+
}
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import React, { createContext } from "react";
|
|
2
|
+
import type { IPayEngineConfig } from "../../interfaces";
|
|
3
|
+
import { ActivityIndicator, NativeModules } from "react-native";
|
|
4
|
+
|
|
5
|
+
const { RNPayEngineNative } = NativeModules;
|
|
6
|
+
|
|
7
|
+
const PayEngineContext = createContext<IPayEngineConfig | undefined>(undefined);
|
|
8
|
+
|
|
9
|
+
const PayEngineProvider = ({ config, children }: { config: IPayEngineConfig, children: React.ReactNode }) => {
|
|
10
|
+
const [loading, setLoading] = React.useState(true);
|
|
11
|
+
|
|
12
|
+
React.useEffect(() => {
|
|
13
|
+
setLoading(true);
|
|
14
|
+
RNPayEngineNative.setConfig(config.publicKey, config.scriptURL)
|
|
15
|
+
setLoading(false);
|
|
16
|
+
}, [config]);
|
|
17
|
+
|
|
18
|
+
if (!config) {
|
|
19
|
+
throw new Error('PayEngineProvider: config is required');
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
return <PayEngineContext.Provider value={config}>
|
|
23
|
+
{loading ? <ActivityIndicator /> : children}
|
|
24
|
+
</PayEngineContext.Provider>
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export {
|
|
28
|
+
PayEngineContext,
|
|
29
|
+
PayEngineProvider
|
|
30
|
+
};
|