Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
e9d0049
refactor: migrate utility functions and components from ReasonML to T…
manideepk90 Jul 13, 2026
ebaa538
refactor: subscription events
manideepk90 Jul 15, 2026
2ea68fa
refactor: remove sessionHandle from context and related components
manideepk90 Jul 19, 2026
cb132fd
chore: wip android
manideepk90 Jul 20, 2026
26e0737
feat: Implement Fabric architecture for PaymentElement and CVCWidget
manideepk90 Jul 21, 2026
4957f6b
fix: ios codegen mismatch
25harsh Jul 21, 2026
40c7a8b
fix: ios codegen mismatch
25harsh Jul 21, 2026
a8647f6
refactor: remove unused element types and simplify createElements fun…
manideepk90 Jul 21, 2026
2f5fe3b
feat: Refactor Hyperswitch SDK for React Native
manideepk90 Jul 21, 2026
fd2894b
refactor: Update view handling to use UIView instead of RCTRootView i…
manideepk90 Jul 21, 2026
59a1583
chore
manideepk90 Jul 21, 2026
7cb7d13
feat: Implement HyperModuleImpl for payment sheet registration and ev…
manideepk90 Jul 21, 2026
beb2312
chore: update react-native-hyperswitch to version 0.4.5
manideepk90 Jul 22, 2026
cf22b17
chore: Refactored ReactNativeHyperswitchModule to utilize a new meth…
manideepk90 Jul 22, 2026
6edbf4d
feat: update payment status mapping and improve response handling
manideepk90 Jul 22, 2026
a2518b1
fix: refine type assignment in mapNativeResponseToPaymentResult function
manideepk90 Jul 22, 2026
1764cef
fix: refine type assignment in mapNativeResponseToPaymentResult function
manideepk90 Jul 22, 2026
7764b6a
feat: release version
manideepk90 Jul 22, 2026
69b31cc
chore: release 1.0.0-beta.1
sh-iv-am Jul 22, 2026
9943f65
chore: release version beta 2
manideepk90 Jul 23, 2026
97739b7
chore: default export
manideepk90 Jul 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions example/android/.kotlin/errors/errors-1784620966431.log
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
kotlin version: 2.0.21
error message: The daemon has terminated unexpectedly on startup attempt #1 with error code: 0. The daemon process output:
1. Kotlin compile daemon is ready

16 changes: 16 additions & 0 deletions example/android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ buildscript {
ndkVersion = "27.1.12297006"
kotlinVersion = "2.0.21"
androidXBrowser = "1.8.0"
hyperswitchSdkVersion = "1.3.11"
}
repositories {
google()
Expand All @@ -18,5 +19,20 @@ buildscript {
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin")
}
}
allprojects {
buildscript {
repositories {
mavenLocal()
mavenCentral()
google()
}
}

repositories {
mavenLocal()
mavenCentral()
google()
}
}

apply plugin: "com.facebook.react.rootproject"
2 changes: 1 addition & 1 deletion example/android/gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ reactNativeArchitectures=armeabi-v7a,arm64-v8a,x86,x86_64
# your application. You should enable this flag either if you want
# to write custom TurboModules/Fabric components OR use libraries that
# are providing them.
newArchEnabled=false
newArchEnabled=true

# Use this property to enable or disable the Hermes JS engine.
# If set to false, you will be using JSC instead.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,22 +8,22 @@

/* Begin PBXBuildFile section */
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
72F7E3B28E114F30630DF277 /* libPods-HyperswitchSdkReactNativeExample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 12103CD3452D40A91C983CDA /* libPods-HyperswitchSdkReactNativeExample.a */; };
2A4B68A9B93F50D5D8A75C58 /* libPods-HyperswitchSdkReactNativeExample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B6BF205B62AB700375AA9992 /* libPods-HyperswitchSdkReactNativeExample.a */; };
761780ED2CA45674006654EE /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 761780EC2CA45674006654EE /* AppDelegate.swift */; };
81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; };
A91E413A67F55C86385B0A58 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */; };
/* End PBXBuildFile section */

/* Begin PBXFileReference section */
12103CD3452D40A91C983CDA /* libPods-HyperswitchSdkReactNativeExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-HyperswitchSdkReactNativeExample.a"; sourceTree = BUILT_PRODUCTS_DIR; };
13B07F961A680F5B00A75B9A /* HyperswitchSdkReactNativeExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = HyperswitchSdkReactNativeExample.app; sourceTree = BUILT_PRODUCTS_DIR; };
13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = HyperswitchSdkReactNativeExample/Images.xcassets; sourceTree = "<group>"; };
13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = HyperswitchSdkReactNativeExample/Info.plist; sourceTree = "<group>"; };
13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = PrivacyInfo.xcprivacy; path = HyperswitchSdkReactNativeExample/PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
51642B25516E6214359D27F6 /* Pods-HyperswitchSdkReactNativeExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-HyperswitchSdkReactNativeExample.debug.xcconfig"; path = "Target Support Files/Pods-HyperswitchSdkReactNativeExample/Pods-HyperswitchSdkReactNativeExample.debug.xcconfig"; sourceTree = "<group>"; };
56103E6569BFB5B984C3C28A /* Pods-HyperswitchSdkReactNativeExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-HyperswitchSdkReactNativeExample.release.xcconfig"; path = "Target Support Files/Pods-HyperswitchSdkReactNativeExample/Pods-HyperswitchSdkReactNativeExample.release.xcconfig"; sourceTree = "<group>"; };
761780EC2CA45674006654EE /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AppDelegate.swift; path = HyperswitchSdkReactNativeExample/AppDelegate.swift; sourceTree = "<group>"; };
81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = HyperswitchSdkReactNativeExample/LaunchScreen.storyboard; sourceTree = "<group>"; };
A102D6188193D26CD4DED82D /* Pods-HyperswitchSdkReactNativeExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-HyperswitchSdkReactNativeExample.release.xcconfig"; path = "Target Support Files/Pods-HyperswitchSdkReactNativeExample/Pods-HyperswitchSdkReactNativeExample.release.xcconfig"; sourceTree = "<group>"; };
B6BF205B62AB700375AA9992 /* libPods-HyperswitchSdkReactNativeExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-HyperswitchSdkReactNativeExample.a"; sourceTree = BUILT_PRODUCTS_DIR; };
C1C4227DC2D66599846A76E8 /* Pods-HyperswitchSdkReactNativeExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-HyperswitchSdkReactNativeExample.debug.xcconfig"; path = "Target Support Files/Pods-HyperswitchSdkReactNativeExample/Pods-HyperswitchSdkReactNativeExample.debug.xcconfig"; sourceTree = "<group>"; };
ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
/* End PBXFileReference section */

Expand All @@ -32,7 +32,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
72F7E3B28E114F30630DF277 /* libPods-HyperswitchSdkReactNativeExample.a in Frameworks */,
2A4B68A9B93F50D5D8A75C58 /* libPods-HyperswitchSdkReactNativeExample.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand All @@ -55,7 +55,7 @@
isa = PBXGroup;
children = (
ED297162215061F000B7C4FE /* JavaScriptCore.framework */,
12103CD3452D40A91C983CDA /* libPods-HyperswitchSdkReactNativeExample.a */,
B6BF205B62AB700375AA9992 /* libPods-HyperswitchSdkReactNativeExample.a */,
);
name = Frameworks;
sourceTree = "<group>";
Expand Down Expand Up @@ -92,8 +92,8 @@
BBD78D7AC51CEA395F1C20DB /* Pods */ = {
isa = PBXGroup;
children = (
51642B25516E6214359D27F6 /* Pods-HyperswitchSdkReactNativeExample.debug.xcconfig */,
56103E6569BFB5B984C3C28A /* Pods-HyperswitchSdkReactNativeExample.release.xcconfig */,
C1C4227DC2D66599846A76E8 /* Pods-HyperswitchSdkReactNativeExample.debug.xcconfig */,
A102D6188193D26CD4DED82D /* Pods-HyperswitchSdkReactNativeExample.release.xcconfig */,
);
path = Pods;
sourceTree = "<group>";
Expand All @@ -105,13 +105,13 @@
isa = PBXNativeTarget;
buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "HyperswitchSdkReactNativeExample" */;
buildPhases = (
6FEC798D0C8F7B90BF7A110B /* [CP] Check Pods Manifest.lock */,
34D83E2466026D1B662A548C /* [CP] Check Pods Manifest.lock */,
13B07F871A680F5B00A75B9A /* Sources */,
13B07F8C1A680F5B00A75B9A /* Frameworks */,
13B07F8E1A680F5B00A75B9A /* Resources */,
00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */,
E410CC9AF576F90A48E9AEB7 /* [CP] Embed Pods Frameworks */,
98151504456E2D028649BC6B /* [CP] Copy Pods Resources */,
A91658C089C934CB46D518CC /* [CP] Embed Pods Frameworks */,
8CA8C587005A076439E9AA1C /* [CP] Copy Pods Resources */,
);
buildRules = (
);
Expand Down Expand Up @@ -183,7 +183,7 @@
shellPath = /bin/sh;
shellScript = "set -e\n\nWITH_ENVIRONMENT=\"$REACT_NATIVE_PATH/scripts/xcode/with-environment.sh\"\nREACT_NATIVE_XCODE=\"$REACT_NATIVE_PATH/scripts/react-native-xcode.sh\"\n\n/bin/sh -c \"$WITH_ENVIRONMENT $REACT_NATIVE_XCODE\"\n";
};
6FEC798D0C8F7B90BF7A110B /* [CP] Check Pods Manifest.lock */ = {
34D83E2466026D1B662A548C /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
Expand All @@ -205,7 +205,7 @@
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
98151504456E2D028649BC6B /* [CP] Copy Pods Resources */ = {
8CA8C587005A076439E9AA1C /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
Expand All @@ -222,7 +222,7 @@
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-HyperswitchSdkReactNativeExample/Pods-HyperswitchSdkReactNativeExample-resources.sh\"\n";
showEnvVarsInLog = 0;
};
E410CC9AF576F90A48E9AEB7 /* [CP] Embed Pods Frameworks */ = {
A91658C089C934CB46D518CC /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
Expand Down Expand Up @@ -255,7 +255,7 @@
/* Begin XCBuildConfiguration section */
13B07F941A680F5B00A75B9A /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 51642B25516E6214359D27F6 /* Pods-HyperswitchSdkReactNativeExample.debug.xcconfig */;
baseConfigurationReference = C1C4227DC2D66599846A76E8 /* Pods-HyperswitchSdkReactNativeExample.debug.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
Expand Down Expand Up @@ -283,7 +283,7 @@
};
13B07F951A680F5B00A75B9A /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 56103E6569BFB5B984C3C28A /* Pods-HyperswitchSdkReactNativeExample.release.xcconfig */;
baseConfigurationReference = A102D6188193D26CD4DED82D /* Pods-HyperswitchSdkReactNativeExample.release.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
Expand Down
11 changes: 10 additions & 1 deletion example/ios/Podfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ENV['RCT_NEW_ARCH_ENABLED'] = '1'
ENV['RCT_NEW_ARCH_ENABLED'] = '1'

# Resolve react_native_pods.rb with node to allow for hoisting
require Pod::Executable.execute_command('node', ['-p',
Expand Down Expand Up @@ -33,5 +33,14 @@ target 'HyperswitchSdkReactNativeExample' do
:mac_catalyst_enabled => false,
# :ccache_enabled => true
)
# Fix for Xcode 26.4 build error
installer.pods_project.targets.each do |target|
if target.name == 'fmt'
target.build_configurations.each do |config|
config.build_settings['CLANG_CXX_LANGUAGE_STANDARD'] = 'c++17'
end
end
end
end
end

Loading
Loading