@jimrising/easymerchantsdk-react-native 2.3.9 → 2.4.1
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/.idea/caches/deviceStreaming.xml +340 -0
- package/.idea/em-MobileCheckoutSDK-ReactNative.iml +9 -0
- package/.idea/misc.xml +5 -0
- package/.idea/modules.xml +8 -0
- package/.idea/vcs.xml +6 -0
- package/README.md +113 -42
- package/android/build/generated/source/buildConfig/debug/com/reactlibrary/BuildConfig.java +10 -0
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +7 -0
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +18 -0
- package/android/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +6 -0
- package/android/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +1 -0
- package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
- package/android/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
- package/android/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +0 -0
- package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +1 -0
- package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +2 -0
- package/android/build/intermediates/incremental/mergeDebugAssets/merger.xml +2 -0
- package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +2 -0
- package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +2 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/reactlibrary/BuildConfig.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/reactlibrary/RNEasymerchantsdkModule$1$1.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/reactlibrary/RNEasymerchantsdkModule$1.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/reactlibrary/RNEasymerchantsdkModule$2.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/reactlibrary/RNEasymerchantsdkModule$3.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/reactlibrary/RNEasymerchantsdkModule.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/reactlibrary/RNEasymerchantsdkPackage.class +0 -0
- package/android/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +2 -0
- package/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +7 -0
- package/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +7 -0
- package/android/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +1 -0
- package/android/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +1 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/reactlibrary/BuildConfig.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/reactlibrary/RNEasymerchantsdkModule$1$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/reactlibrary/RNEasymerchantsdkModule$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/reactlibrary/RNEasymerchantsdkModule$2.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/reactlibrary/RNEasymerchantsdkModule$3.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/reactlibrary/RNEasymerchantsdkModule.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/reactlibrary/RNEasymerchantsdkPackage.class +0 -0
- package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
- package/android/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +1 -0
- package/android/build/outputs/logs/manifest-merger-debug-report.txt +16 -0
- package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
- package/android/build.gradle +3 -2
- package/ios/Classes/EasyMerchantSdk.h +4 -0
- package/ios/Classes/EasyMerchantSdk.m +8 -2
- package/ios/Classes/EasyMerchantSdk.swift +14 -0
- package/ios/Helper/GrailPayHelper.swift +166 -5
- package/ios/Pods/UserDefaults/UserStoreSingleton.swift +425 -0
- package/ios/Pods/ViewControllers/AdditionalInfoVC.swift +2996 -0
- package/ios/Pods/ViewControllers/BaseVC.swift +142 -0
- package/ios/Pods/ViewControllers/BillingInfoVC/BillingInfoVC.swift +3807 -0
- package/ios/Pods/ViewControllers/BillingInfoVC/Cells/CityListTVC.swift +46 -0
- package/ios/Pods/ViewControllers/BillingInfoVC/Cells/CountryListTVC.swift +47 -0
- package/ios/Pods/ViewControllers/BillingInfoVC/Cells/StateListTVC.swift +46 -0
- package/ios/Pods/ViewControllers/Clean Runner_2025-07-23T14-58-05.txt +13 -0
- package/ios/Pods/ViewControllers/CountryListVC.swift +435 -0
- package/ios/Pods/ViewControllers/EmailVerificationVC.swift +300 -0
- package/ios/Pods/ViewControllers/GrailPayVC.swift +492 -0
- package/ios/Pods/ViewControllers/OTPVerificationVC.swift +2278 -0
- package/ios/Pods/ViewControllers/PaymentDoneVC.swift +287 -0
- package/ios/Pods/ViewControllers/PaymentErrorVC.swift +85 -0
- package/ios/Pods/ViewControllers/PaymentInformation/AccountTypeTVC.swift +41 -0
- package/ios/Pods/ViewControllers/PaymentInformation/PaymentInfoVC.swift +13115 -0
- package/ios/Pods/ViewControllers/PaymentInformation/PaymentInformationCVC.swift +35 -0
- package/ios/Pods/ViewControllers/PaymentInformation/RecurringTVC.swift +40 -0
- package/ios/Pods/ViewControllers/PaymentInformation/SavedAccountsTVC/SavedAccountTVC.swift +80 -0
- package/ios/Pods/ViewControllers/PaymentInformation/SavedAccountsTVC/SavedAccountTVC.xib +163 -0
- package/ios/Pods/ViewControllers/PaymentInformation/SavedCardsTVC/SavedCardsTVC.swift +81 -0
- package/ios/Pods/ViewControllers/PaymentInformation/SavedCardsTVC/SavedCardsTVC.xib +188 -0
- package/ios/Pods/ViewControllers/PaymentStatusWebViewVC.swift +167 -0
- package/ios/Pods/ViewControllers/TermAndConditionsVC.swift +63 -0
- package/ios/Pods/ViewControllers/ThreeDSecurePaymentDoneVC.swift +1254 -0
- package/ios/easymerchantsdk.podspec +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,340 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<project version="4">
|
|
3
|
+
<component name="DeviceStreaming">
|
|
4
|
+
<option name="deviceSelectionList">
|
|
5
|
+
<list>
|
|
6
|
+
<PersistentDeviceSelectionData>
|
|
7
|
+
<option name="api" value="27" />
|
|
8
|
+
<option name="brand" value="DOCOMO" />
|
|
9
|
+
<option name="codename" value="F01L" />
|
|
10
|
+
<option name="id" value="F01L" />
|
|
11
|
+
<option name="manufacturer" value="FUJITSU" />
|
|
12
|
+
<option name="name" value="F-01L" />
|
|
13
|
+
<option name="screenDensity" value="360" />
|
|
14
|
+
<option name="screenX" value="720" />
|
|
15
|
+
<option name="screenY" value="1280" />
|
|
16
|
+
</PersistentDeviceSelectionData>
|
|
17
|
+
<PersistentDeviceSelectionData>
|
|
18
|
+
<option name="api" value="34" />
|
|
19
|
+
<option name="brand" value="OPPO" />
|
|
20
|
+
<option name="codename" value="OP573DL1" />
|
|
21
|
+
<option name="id" value="OP573DL1" />
|
|
22
|
+
<option name="manufacturer" value="OPPO" />
|
|
23
|
+
<option name="name" value="CPH2557" />
|
|
24
|
+
<option name="screenDensity" value="480" />
|
|
25
|
+
<option name="screenX" value="1080" />
|
|
26
|
+
<option name="screenY" value="2400" />
|
|
27
|
+
</PersistentDeviceSelectionData>
|
|
28
|
+
<PersistentDeviceSelectionData>
|
|
29
|
+
<option name="api" value="28" />
|
|
30
|
+
<option name="brand" value="DOCOMO" />
|
|
31
|
+
<option name="codename" value="SH-01L" />
|
|
32
|
+
<option name="id" value="SH-01L" />
|
|
33
|
+
<option name="manufacturer" value="SHARP" />
|
|
34
|
+
<option name="name" value="AQUOS sense2 SH-01L" />
|
|
35
|
+
<option name="screenDensity" value="480" />
|
|
36
|
+
<option name="screenX" value="1080" />
|
|
37
|
+
<option name="screenY" value="2160" />
|
|
38
|
+
</PersistentDeviceSelectionData>
|
|
39
|
+
<PersistentDeviceSelectionData>
|
|
40
|
+
<option name="api" value="34" />
|
|
41
|
+
<option name="brand" value="Lenovo" />
|
|
42
|
+
<option name="codename" value="TB370FU" />
|
|
43
|
+
<option name="id" value="TB370FU" />
|
|
44
|
+
<option name="manufacturer" value="Lenovo" />
|
|
45
|
+
<option name="name" value="Tab P12" />
|
|
46
|
+
<option name="screenDensity" value="340" />
|
|
47
|
+
<option name="screenX" value="1840" />
|
|
48
|
+
<option name="screenY" value="2944" />
|
|
49
|
+
</PersistentDeviceSelectionData>
|
|
50
|
+
<PersistentDeviceSelectionData>
|
|
51
|
+
<option name="api" value="31" />
|
|
52
|
+
<option name="brand" value="samsung" />
|
|
53
|
+
<option name="codename" value="a51" />
|
|
54
|
+
<option name="id" value="a51" />
|
|
55
|
+
<option name="manufacturer" value="Samsung" />
|
|
56
|
+
<option name="name" value="Galaxy A51" />
|
|
57
|
+
<option name="screenDensity" value="420" />
|
|
58
|
+
<option name="screenX" value="1080" />
|
|
59
|
+
<option name="screenY" value="2400" />
|
|
60
|
+
</PersistentDeviceSelectionData>
|
|
61
|
+
<PersistentDeviceSelectionData>
|
|
62
|
+
<option name="api" value="34" />
|
|
63
|
+
<option name="brand" value="google" />
|
|
64
|
+
<option name="codename" value="akita" />
|
|
65
|
+
<option name="id" value="akita" />
|
|
66
|
+
<option name="manufacturer" value="Google" />
|
|
67
|
+
<option name="name" value="Pixel 8a" />
|
|
68
|
+
<option name="screenDensity" value="420" />
|
|
69
|
+
<option name="screenX" value="1080" />
|
|
70
|
+
<option name="screenY" value="2400" />
|
|
71
|
+
</PersistentDeviceSelectionData>
|
|
72
|
+
<PersistentDeviceSelectionData>
|
|
73
|
+
<option name="api" value="33" />
|
|
74
|
+
<option name="brand" value="samsung" />
|
|
75
|
+
<option name="codename" value="b0q" />
|
|
76
|
+
<option name="id" value="b0q" />
|
|
77
|
+
<option name="manufacturer" value="Samsung" />
|
|
78
|
+
<option name="name" value="Galaxy S22 Ultra" />
|
|
79
|
+
<option name="screenDensity" value="600" />
|
|
80
|
+
<option name="screenX" value="1440" />
|
|
81
|
+
<option name="screenY" value="3088" />
|
|
82
|
+
</PersistentDeviceSelectionData>
|
|
83
|
+
<PersistentDeviceSelectionData>
|
|
84
|
+
<option name="api" value="32" />
|
|
85
|
+
<option name="brand" value="google" />
|
|
86
|
+
<option name="codename" value="bluejay" />
|
|
87
|
+
<option name="id" value="bluejay" />
|
|
88
|
+
<option name="manufacturer" value="Google" />
|
|
89
|
+
<option name="name" value="Pixel 6a" />
|
|
90
|
+
<option name="screenDensity" value="420" />
|
|
91
|
+
<option name="screenX" value="1080" />
|
|
92
|
+
<option name="screenY" value="2400" />
|
|
93
|
+
</PersistentDeviceSelectionData>
|
|
94
|
+
<PersistentDeviceSelectionData>
|
|
95
|
+
<option name="api" value="34" />
|
|
96
|
+
<option name="brand" value="google" />
|
|
97
|
+
<option name="codename" value="caiman" />
|
|
98
|
+
<option name="id" value="caiman" />
|
|
99
|
+
<option name="manufacturer" value="Google" />
|
|
100
|
+
<option name="name" value="Pixel 9 Pro" />
|
|
101
|
+
<option name="screenDensity" value="360" />
|
|
102
|
+
<option name="screenX" value="960" />
|
|
103
|
+
<option name="screenY" value="2142" />
|
|
104
|
+
</PersistentDeviceSelectionData>
|
|
105
|
+
<PersistentDeviceSelectionData>
|
|
106
|
+
<option name="api" value="34" />
|
|
107
|
+
<option name="brand" value="google" />
|
|
108
|
+
<option name="codename" value="comet" />
|
|
109
|
+
<option name="id" value="comet" />
|
|
110
|
+
<option name="manufacturer" value="Google" />
|
|
111
|
+
<option name="name" value="Pixel 9 Pro Fold" />
|
|
112
|
+
<option name="screenDensity" value="390" />
|
|
113
|
+
<option name="screenX" value="2076" />
|
|
114
|
+
<option name="screenY" value="2152" />
|
|
115
|
+
</PersistentDeviceSelectionData>
|
|
116
|
+
<PersistentDeviceSelectionData>
|
|
117
|
+
<option name="api" value="29" />
|
|
118
|
+
<option name="brand" value="samsung" />
|
|
119
|
+
<option name="codename" value="crownqlteue" />
|
|
120
|
+
<option name="id" value="crownqlteue" />
|
|
121
|
+
<option name="manufacturer" value="Samsung" />
|
|
122
|
+
<option name="name" value="Galaxy Note9" />
|
|
123
|
+
<option name="screenDensity" value="420" />
|
|
124
|
+
<option name="screenX" value="2220" />
|
|
125
|
+
<option name="screenY" value="1080" />
|
|
126
|
+
</PersistentDeviceSelectionData>
|
|
127
|
+
<PersistentDeviceSelectionData>
|
|
128
|
+
<option name="api" value="34" />
|
|
129
|
+
<option name="brand" value="samsung" />
|
|
130
|
+
<option name="codename" value="dm3q" />
|
|
131
|
+
<option name="id" value="dm3q" />
|
|
132
|
+
<option name="manufacturer" value="Samsung" />
|
|
133
|
+
<option name="name" value="Galaxy S23 Ultra" />
|
|
134
|
+
<option name="screenDensity" value="600" />
|
|
135
|
+
<option name="screenX" value="1440" />
|
|
136
|
+
<option name="screenY" value="3088" />
|
|
137
|
+
</PersistentDeviceSelectionData>
|
|
138
|
+
<PersistentDeviceSelectionData>
|
|
139
|
+
<option name="api" value="34" />
|
|
140
|
+
<option name="brand" value="samsung" />
|
|
141
|
+
<option name="codename" value="e1q" />
|
|
142
|
+
<option name="id" value="e1q" />
|
|
143
|
+
<option name="manufacturer" value="Samsung" />
|
|
144
|
+
<option name="name" value="Galaxy S24" />
|
|
145
|
+
<option name="screenDensity" value="480" />
|
|
146
|
+
<option name="screenX" value="1080" />
|
|
147
|
+
<option name="screenY" value="2340" />
|
|
148
|
+
</PersistentDeviceSelectionData>
|
|
149
|
+
<PersistentDeviceSelectionData>
|
|
150
|
+
<option name="api" value="33" />
|
|
151
|
+
<option name="brand" value="google" />
|
|
152
|
+
<option name="codename" value="felix" />
|
|
153
|
+
<option name="id" value="felix" />
|
|
154
|
+
<option name="manufacturer" value="Google" />
|
|
155
|
+
<option name="name" value="Pixel Fold" />
|
|
156
|
+
<option name="screenDensity" value="420" />
|
|
157
|
+
<option name="screenX" value="2208" />
|
|
158
|
+
<option name="screenY" value="1840" />
|
|
159
|
+
</PersistentDeviceSelectionData>
|
|
160
|
+
<PersistentDeviceSelectionData>
|
|
161
|
+
<option name="api" value="34" />
|
|
162
|
+
<option name="brand" value="google" />
|
|
163
|
+
<option name="codename" value="felix" />
|
|
164
|
+
<option name="id" value="felix" />
|
|
165
|
+
<option name="manufacturer" value="Google" />
|
|
166
|
+
<option name="name" value="Pixel Fold" />
|
|
167
|
+
<option name="screenDensity" value="420" />
|
|
168
|
+
<option name="screenX" value="2208" />
|
|
169
|
+
<option name="screenY" value="1840" />
|
|
170
|
+
</PersistentDeviceSelectionData>
|
|
171
|
+
<PersistentDeviceSelectionData>
|
|
172
|
+
<option name="api" value="33" />
|
|
173
|
+
<option name="brand" value="google" />
|
|
174
|
+
<option name="codename" value="felix_camera" />
|
|
175
|
+
<option name="id" value="felix_camera" />
|
|
176
|
+
<option name="manufacturer" value="Google" />
|
|
177
|
+
<option name="name" value="Pixel Fold (Camera-enabled)" />
|
|
178
|
+
<option name="screenDensity" value="420" />
|
|
179
|
+
<option name="screenX" value="2208" />
|
|
180
|
+
<option name="screenY" value="1840" />
|
|
181
|
+
</PersistentDeviceSelectionData>
|
|
182
|
+
<PersistentDeviceSelectionData>
|
|
183
|
+
<option name="api" value="33" />
|
|
184
|
+
<option name="brand" value="samsung" />
|
|
185
|
+
<option name="codename" value="gts8uwifi" />
|
|
186
|
+
<option name="id" value="gts8uwifi" />
|
|
187
|
+
<option name="manufacturer" value="Samsung" />
|
|
188
|
+
<option name="name" value="Galaxy Tab S8 Ultra" />
|
|
189
|
+
<option name="screenDensity" value="320" />
|
|
190
|
+
<option name="screenX" value="1848" />
|
|
191
|
+
<option name="screenY" value="2960" />
|
|
192
|
+
</PersistentDeviceSelectionData>
|
|
193
|
+
<PersistentDeviceSelectionData>
|
|
194
|
+
<option name="api" value="34" />
|
|
195
|
+
<option name="brand" value="google" />
|
|
196
|
+
<option name="codename" value="husky" />
|
|
197
|
+
<option name="id" value="husky" />
|
|
198
|
+
<option name="manufacturer" value="Google" />
|
|
199
|
+
<option name="name" value="Pixel 8 Pro" />
|
|
200
|
+
<option name="screenDensity" value="390" />
|
|
201
|
+
<option name="screenX" value="1008" />
|
|
202
|
+
<option name="screenY" value="2244" />
|
|
203
|
+
</PersistentDeviceSelectionData>
|
|
204
|
+
<PersistentDeviceSelectionData>
|
|
205
|
+
<option name="api" value="30" />
|
|
206
|
+
<option name="brand" value="motorola" />
|
|
207
|
+
<option name="codename" value="java" />
|
|
208
|
+
<option name="id" value="java" />
|
|
209
|
+
<option name="manufacturer" value="Motorola" />
|
|
210
|
+
<option name="name" value="G20" />
|
|
211
|
+
<option name="screenDensity" value="280" />
|
|
212
|
+
<option name="screenX" value="720" />
|
|
213
|
+
<option name="screenY" value="1600" />
|
|
214
|
+
</PersistentDeviceSelectionData>
|
|
215
|
+
<PersistentDeviceSelectionData>
|
|
216
|
+
<option name="api" value="34" />
|
|
217
|
+
<option name="brand" value="google" />
|
|
218
|
+
<option name="codename" value="komodo" />
|
|
219
|
+
<option name="id" value="komodo" />
|
|
220
|
+
<option name="manufacturer" value="Google" />
|
|
221
|
+
<option name="name" value="Pixel 9 Pro XL" />
|
|
222
|
+
<option name="screenDensity" value="360" />
|
|
223
|
+
<option name="screenX" value="1008" />
|
|
224
|
+
<option name="screenY" value="2244" />
|
|
225
|
+
</PersistentDeviceSelectionData>
|
|
226
|
+
<PersistentDeviceSelectionData>
|
|
227
|
+
<option name="api" value="33" />
|
|
228
|
+
<option name="brand" value="google" />
|
|
229
|
+
<option name="codename" value="lynx" />
|
|
230
|
+
<option name="id" value="lynx" />
|
|
231
|
+
<option name="manufacturer" value="Google" />
|
|
232
|
+
<option name="name" value="Pixel 7a" />
|
|
233
|
+
<option name="screenDensity" value="420" />
|
|
234
|
+
<option name="screenX" value="1080" />
|
|
235
|
+
<option name="screenY" value="2400" />
|
|
236
|
+
</PersistentDeviceSelectionData>
|
|
237
|
+
<PersistentDeviceSelectionData>
|
|
238
|
+
<option name="api" value="31" />
|
|
239
|
+
<option name="brand" value="google" />
|
|
240
|
+
<option name="codename" value="oriole" />
|
|
241
|
+
<option name="id" value="oriole" />
|
|
242
|
+
<option name="manufacturer" value="Google" />
|
|
243
|
+
<option name="name" value="Pixel 6" />
|
|
244
|
+
<option name="screenDensity" value="420" />
|
|
245
|
+
<option name="screenX" value="1080" />
|
|
246
|
+
<option name="screenY" value="2400" />
|
|
247
|
+
</PersistentDeviceSelectionData>
|
|
248
|
+
<PersistentDeviceSelectionData>
|
|
249
|
+
<option name="api" value="33" />
|
|
250
|
+
<option name="brand" value="google" />
|
|
251
|
+
<option name="codename" value="panther" />
|
|
252
|
+
<option name="id" value="panther" />
|
|
253
|
+
<option name="manufacturer" value="Google" />
|
|
254
|
+
<option name="name" value="Pixel 7" />
|
|
255
|
+
<option name="screenDensity" value="420" />
|
|
256
|
+
<option name="screenX" value="1080" />
|
|
257
|
+
<option name="screenY" value="2400" />
|
|
258
|
+
</PersistentDeviceSelectionData>
|
|
259
|
+
<PersistentDeviceSelectionData>
|
|
260
|
+
<option name="api" value="34" />
|
|
261
|
+
<option name="brand" value="samsung" />
|
|
262
|
+
<option name="codename" value="q5q" />
|
|
263
|
+
<option name="id" value="q5q" />
|
|
264
|
+
<option name="manufacturer" value="Samsung" />
|
|
265
|
+
<option name="name" value="Galaxy Z Fold5" />
|
|
266
|
+
<option name="screenDensity" value="420" />
|
|
267
|
+
<option name="screenX" value="1812" />
|
|
268
|
+
<option name="screenY" value="2176" />
|
|
269
|
+
</PersistentDeviceSelectionData>
|
|
270
|
+
<PersistentDeviceSelectionData>
|
|
271
|
+
<option name="api" value="34" />
|
|
272
|
+
<option name="brand" value="samsung" />
|
|
273
|
+
<option name="codename" value="q6q" />
|
|
274
|
+
<option name="id" value="q6q" />
|
|
275
|
+
<option name="manufacturer" value="Samsung" />
|
|
276
|
+
<option name="name" value="Galaxy Z Fold6" />
|
|
277
|
+
<option name="screenDensity" value="420" />
|
|
278
|
+
<option name="screenX" value="1856" />
|
|
279
|
+
<option name="screenY" value="2160" />
|
|
280
|
+
</PersistentDeviceSelectionData>
|
|
281
|
+
<PersistentDeviceSelectionData>
|
|
282
|
+
<option name="api" value="30" />
|
|
283
|
+
<option name="brand" value="google" />
|
|
284
|
+
<option name="codename" value="r11" />
|
|
285
|
+
<option name="id" value="r11" />
|
|
286
|
+
<option name="manufacturer" value="Google" />
|
|
287
|
+
<option name="name" value="Pixel Watch" />
|
|
288
|
+
<option name="screenDensity" value="320" />
|
|
289
|
+
<option name="screenX" value="384" />
|
|
290
|
+
<option name="screenY" value="384" />
|
|
291
|
+
<option name="type" value="WEAR_OS" />
|
|
292
|
+
</PersistentDeviceSelectionData>
|
|
293
|
+
<PersistentDeviceSelectionData>
|
|
294
|
+
<option name="api" value="30" />
|
|
295
|
+
<option name="brand" value="google" />
|
|
296
|
+
<option name="codename" value="redfin" />
|
|
297
|
+
<option name="id" value="redfin" />
|
|
298
|
+
<option name="manufacturer" value="Google" />
|
|
299
|
+
<option name="name" value="Pixel 5" />
|
|
300
|
+
<option name="screenDensity" value="440" />
|
|
301
|
+
<option name="screenX" value="1080" />
|
|
302
|
+
<option name="screenY" value="2340" />
|
|
303
|
+
</PersistentDeviceSelectionData>
|
|
304
|
+
<PersistentDeviceSelectionData>
|
|
305
|
+
<option name="api" value="34" />
|
|
306
|
+
<option name="brand" value="google" />
|
|
307
|
+
<option name="codename" value="shiba" />
|
|
308
|
+
<option name="id" value="shiba" />
|
|
309
|
+
<option name="manufacturer" value="Google" />
|
|
310
|
+
<option name="name" value="Pixel 8" />
|
|
311
|
+
<option name="screenDensity" value="420" />
|
|
312
|
+
<option name="screenX" value="1080" />
|
|
313
|
+
<option name="screenY" value="2400" />
|
|
314
|
+
</PersistentDeviceSelectionData>
|
|
315
|
+
<PersistentDeviceSelectionData>
|
|
316
|
+
<option name="api" value="33" />
|
|
317
|
+
<option name="brand" value="google" />
|
|
318
|
+
<option name="codename" value="tangorpro" />
|
|
319
|
+
<option name="id" value="tangorpro" />
|
|
320
|
+
<option name="manufacturer" value="Google" />
|
|
321
|
+
<option name="name" value="Pixel Tablet" />
|
|
322
|
+
<option name="screenDensity" value="320" />
|
|
323
|
+
<option name="screenX" value="1600" />
|
|
324
|
+
<option name="screenY" value="2560" />
|
|
325
|
+
</PersistentDeviceSelectionData>
|
|
326
|
+
<PersistentDeviceSelectionData>
|
|
327
|
+
<option name="api" value="34" />
|
|
328
|
+
<option name="brand" value="google" />
|
|
329
|
+
<option name="codename" value="tokay" />
|
|
330
|
+
<option name="id" value="tokay" />
|
|
331
|
+
<option name="manufacturer" value="Google" />
|
|
332
|
+
<option name="name" value="Pixel 9" />
|
|
333
|
+
<option name="screenDensity" value="420" />
|
|
334
|
+
<option name="screenX" value="1080" />
|
|
335
|
+
<option name="screenY" value="2424" />
|
|
336
|
+
</PersistentDeviceSelectionData>
|
|
337
|
+
</list>
|
|
338
|
+
</option>
|
|
339
|
+
</component>
|
|
340
|
+
</project>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<module type="JAVA_MODULE" version="4">
|
|
3
|
+
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
|
4
|
+
<exclude-output />
|
|
5
|
+
<content url="file://$MODULE_DIR$" />
|
|
6
|
+
<orderEntry type="inheritedJdk" />
|
|
7
|
+
<orderEntry type="sourceFolder" forTests="false" />
|
|
8
|
+
</component>
|
|
9
|
+
</module>
|
package/.idea/misc.xml
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<project version="4">
|
|
3
|
+
<component name="ProjectModuleManager">
|
|
4
|
+
<modules>
|
|
5
|
+
<module fileurl="file://$PROJECT_DIR$/.idea/em-MobileCheckoutSDK-ReactNative.iml" filepath="$PROJECT_DIR$/.idea/em-MobileCheckoutSDK-ReactNative.iml" />
|
|
6
|
+
</modules>
|
|
7
|
+
</component>
|
|
8
|
+
</project>
|
package/.idea/vcs.xml
ADDED
package/README.md
CHANGED
|
@@ -19,7 +19,7 @@ Add the EasyMerchant SDK to your `package.json` under `dependencies`:
|
|
|
19
19
|
|
|
20
20
|
```json
|
|
21
21
|
"dependencies": {
|
|
22
|
-
|
|
22
|
+
"@jimrising/easymerchantsdk-react-native": "^2.4.1"
|
|
23
23
|
}
|
|
24
24
|
```
|
|
25
25
|
|
|
@@ -61,7 +61,11 @@ GITHUB_PASSWORD=your-github-token
|
|
|
61
61
|
|
|
62
62
|
### 3. iOS Configuration
|
|
63
63
|
|
|
64
|
-
1. **Update AppDelegate
|
|
64
|
+
1. **Update AppDelegate**
|
|
65
|
+
|
|
66
|
+
You can configure the `AppDelegate` file in either Swift or Objective-C, depending on your project setup. Below are examples for both.
|
|
67
|
+
|
|
68
|
+
##### Option 1: Swift (`AppDelegate.swift`)
|
|
65
69
|
|
|
66
70
|
Modify `ios/AppDelegate.swift` to initialize the React Native bridge and set up the EasyMerchant SDK:
|
|
67
71
|
|
|
@@ -72,50 +76,117 @@ import React
|
|
|
72
76
|
|
|
73
77
|
@UIApplicationMain
|
|
74
78
|
class AppDelegate: UIResponder, UIApplicationDelegate {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
79
|
+
var window: UIWindow?
|
|
80
|
+
|
|
81
|
+
func application(
|
|
82
|
+
_ application: UIApplication,
|
|
83
|
+
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil
|
|
84
|
+
) -> Bool {
|
|
85
|
+
let jsCodeLocation: URL
|
|
86
|
+
|
|
87
|
+
#if DEBUG
|
|
88
|
+
jsCodeLocation = URL(string: "http://localhost:8081/index.bundle?platform=ios")!
|
|
89
|
+
#else
|
|
90
|
+
jsCodeLocation = Bundle.main.url(forResource: "main", withExtension: "jsbundle")!
|
|
91
|
+
#endif
|
|
92
|
+
|
|
93
|
+
let bridge = RCTBridge(
|
|
94
|
+
bundleURL: jsCodeLocation,
|
|
95
|
+
moduleProvider: nil,
|
|
96
|
+
launchOptions: launchOptions
|
|
97
|
+
)
|
|
98
|
+
|
|
99
|
+
guard let validBridge = bridge else {
|
|
100
|
+
fatalError("React Native bridge failed to initialize.")
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
let rootView = RCTRootView(
|
|
104
|
+
bridge: validBridge,
|
|
105
|
+
moduleName: "EasyMerchantTestApp", // Replace with your app name
|
|
106
|
+
initialProperties: nil
|
|
107
|
+
)
|
|
108
|
+
|
|
109
|
+
self.window = UIWindow(frame: UIScreen.main.bounds)
|
|
110
|
+
let rootViewController = UIViewController()
|
|
111
|
+
rootViewController.view = rootView
|
|
112
|
+
self.window?.rootViewController = rootViewController
|
|
113
|
+
self.window?.makeKeyAndVisible()
|
|
114
|
+
|
|
115
|
+
if let easyMerchantSdkPlugin = bridge?.module(for: EasyMerchantSdkPlugin.self) as? EasyMerchantSdkPlugin {
|
|
116
|
+
easyMerchantSdkPlugin.setViewController(rootViewController)
|
|
117
|
+
} else {
|
|
118
|
+
print("Failed to retrieve EasyMerchantSdkPlugin instance from React Native bridge.")
|
|
119
|
+
}
|
|
120
|
+
return true
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
// MARK: - Deep Link Handling for GrailPay
|
|
124
|
+
|
|
125
|
+
func application(
|
|
126
|
+
_ app: UIApplication,
|
|
127
|
+
open url: URL,
|
|
128
|
+
options: [UIApplication.OpenURLOptionsKey : Any] = [:]
|
|
129
|
+
) -> Bool {
|
|
130
|
+
print("🔗 Deep link received: \(url)")
|
|
131
|
+
|
|
132
|
+
if url.scheme == "grailpay" && url.host == "callback" {
|
|
133
|
+
print("✅ GrailPay callback detected")
|
|
134
|
+
GrailPayHelper.handleDeepLinkCallback(url: url)
|
|
135
|
+
return true
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
return false
|
|
97
139
|
}
|
|
140
|
+
}
|
|
141
|
+
```
|
|
98
142
|
|
|
99
|
-
|
|
100
|
-
bridge: validBridge,
|
|
101
|
-
moduleName: "EasyMerchantTestApp", // Replace with your app's module name
|
|
102
|
-
initialProperties: nil
|
|
103
|
-
)
|
|
143
|
+
##### Option 2: Objective-C (`AppDelegate.mm`)
|
|
104
144
|
|
|
105
|
-
|
|
106
|
-
let rootViewController = UIViewController()
|
|
107
|
-
rootViewController.view = rootView
|
|
108
|
-
self.window?.rootViewController = rootViewController
|
|
109
|
-
self.window?.makeKeyAndVisible()
|
|
145
|
+
For projects using Objective-C, modify `ios/AppDelegate.mm` to initialize the React Native bridge and handle GrailPay deep links:
|
|
110
146
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
147
|
+
```objc
|
|
148
|
+
#import "AppDelegate.h"
|
|
149
|
+
#import <React/RCTBundleURLProvider.h>
|
|
150
|
+
#import <easymerchantsdk/EasyMerchantSdk.h>
|
|
151
|
+
|
|
152
|
+
@implementation AppDelegate
|
|
153
|
+
|
|
154
|
+
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
|
|
155
|
+
{
|
|
156
|
+
self.moduleName = @"SampleApp"; // Replace with your app name
|
|
157
|
+
// You can add your custom initial props in the dictionary below.
|
|
158
|
+
// They will be passed down to the ViewController used by React Native.
|
|
159
|
+
self.initialProps = @{};
|
|
160
|
+
|
|
161
|
+
return [super application:application didFinishLaunchingWithOptions:launchOptions];
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
|
|
165
|
+
{
|
|
166
|
+
return [self bundleURL];
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
- (NSURL *)bundleURL
|
|
170
|
+
{
|
|
171
|
+
#if DEBUG
|
|
172
|
+
return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"];
|
|
173
|
+
#else
|
|
174
|
+
return [[NSBundle mainBundle] URLForResource:@"main" withExtension:"jsbundle"];
|
|
175
|
+
#endif
|
|
118
176
|
}
|
|
177
|
+
|
|
178
|
+
// MARK: - Deep Link Handling for GrailPay
|
|
179
|
+
// Forward deep links to the SDK for handling
|
|
180
|
+
|
|
181
|
+
- (BOOL)application:(UIApplication *)app
|
|
182
|
+
openURL:(NSURL *)url
|
|
183
|
+
options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
|
|
184
|
+
{
|
|
185
|
+
// Let the SDK handle GrailPay deep links
|
|
186
|
+
return [EasyMerchantSdk handleDeepLink:url];
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
@end
|
|
119
190
|
```
|
|
120
191
|
|
|
121
192
|
2. **Update Podfile**
|
|
@@ -518,4 +589,4 @@ const checkPaymentReference = async (refToken) => {
|
|
|
518
589
|
- Android uses a direct object for `makePayment` and `makePaymentV2`; iOS requires a JSON string.
|
|
519
590
|
- `makePayment` on iOS requires environment initialization; `makePaymentV2` does not.
|
|
520
591
|
- Android supports event listeners; iOS uses direct method responses.
|
|
521
|
-
- **Client Token**: Required for `makePaymentV2`. Obtain via the payment intent API (`/api/v1/paymentintent`).
|
|
592
|
+
- **Client Token**: Required for `makePaymentV2`. Obtain via the payment intent API (`/api/v1/paymentintent`).
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Automatically generated file. DO NOT MODIFY
|
|
3
|
+
*/
|
|
4
|
+
package com.reactlibrary;
|
|
5
|
+
|
|
6
|
+
public final class BuildConfig {
|
|
7
|
+
public static final boolean DEBUG = Boolean.parseBoolean("true");
|
|
8
|
+
public static final String LIBRARY_PACKAGE_NAME = "com.reactlibrary";
|
|
9
|
+
public static final String BUILD_TYPE = "debug";
|
|
10
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"artifactType": {
|
|
4
|
+
"type": "AAPT_FRIENDLY_MERGED_MANIFESTS",
|
|
5
|
+
"kind": "Directory"
|
|
6
|
+
},
|
|
7
|
+
"applicationId": "com.reactlibrary",
|
|
8
|
+
"variantName": "debug",
|
|
9
|
+
"elements": [
|
|
10
|
+
{
|
|
11
|
+
"type": "SINGLE",
|
|
12
|
+
"filters": [],
|
|
13
|
+
"attributes": [],
|
|
14
|
+
"outputFile": "AndroidManifest.xml"
|
|
15
|
+
}
|
|
16
|
+
],
|
|
17
|
+
"elementType": "File"
|
|
18
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{}
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
#Fri Oct 03 18:23:52 IST 2025
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<merger version="3"><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/piavan/Workspace/lyfecycle/lyfecycle-sample-RN-sdk/node_modules/@jimrising/easymerchantsdk-react-native/android/src/main/res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main" generated-set="main$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~:!<dir>navigation"><source path="/Users/piavan/Workspace/lyfecycle/lyfecycle-sample-RN-sdk/node_modules/@jimrising/easymerchantsdk-react-native/android/src/main/res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/piavan/Workspace/lyfecycle/lyfecycle-sample-RN-sdk/node_modules/@jimrising/easymerchantsdk-react-native/android/src/debug/res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug" generated-set="debug$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~:!<dir>navigation"><source path="/Users/piavan/Workspace/lyfecycle/lyfecycle-sample-RN-sdk/node_modules/@jimrising/easymerchantsdk-react-native/android/src/debug/res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/piavan/Workspace/lyfecycle/lyfecycle-sample-RN-sdk/node_modules/@jimrising/easymerchantsdk-react-native/android/build/generated/res/resValues/debug"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated" generated-set="generated$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~:!<dir>navigation"><source path="/Users/piavan/Workspace/lyfecycle/lyfecycle-sample-RN-sdk/node_modules/@jimrising/easymerchantsdk-react-native/android/build/generated/res/resValues/debug"/></dataSet><mergedItems/></merger>
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/piavan/Workspace/lyfecycle/lyfecycle-sample-RN-sdk/node_modules/@jimrising/easymerchantsdk-react-native/android/src/main/assets"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/piavan/Workspace/lyfecycle/lyfecycle-sample-RN-sdk/node_modules/@jimrising/easymerchantsdk-react-native/android/src/debug/assets"/></dataSet><dataSet config="generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/piavan/Workspace/lyfecycle/lyfecycle-sample-RN-sdk/node_modules/@jimrising/easymerchantsdk-react-native/android/build/intermediates/shader_assets/debug/compileDebugShaders/out"/></dataSet></merger>
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/piavan/Workspace/lyfecycle/lyfecycle-sample-RN-sdk/node_modules/@jimrising/easymerchantsdk-react-native/android/src/main/jniLibs"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/piavan/Workspace/lyfecycle/lyfecycle-sample-RN-sdk/node_modules/@jimrising/easymerchantsdk-react-native/android/src/debug/jniLibs"/></dataSet></merger>
|