omnipay-reactnative-sdk 1.3.3 → 1.3.5

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 CHANGED
@@ -129,11 +129,48 @@ initiateWallet({
129
129
 
130
130
  #### OmnipayProvider Props
131
131
 
132
- | Name | Type | Description |
133
- | --------- | ------ | ------------------------------------ |
134
- | color | String | color of primary buttons and links |
135
- | env | String | dev or prod |
136
- | publicKey | String | public key of the company on omnipay |
132
+ | Name | Type | Description |
133
+ | --------------- | ------ | --------------------------------------- |
134
+ | color | String | color of primary buttons and links |
135
+ | env | String | dev or prod |
136
+ | publicKey | String | public key of the company on omnipay |
137
+ | analyticsConfig | Object | optional analytics configuration object |
138
+
139
+ #### Analytics Configuration
140
+
141
+ The `analytics` prop accepts an object with the following properties:
142
+
143
+ | Name | Type | Description |
144
+ | ------------- | -------- | ---------------------------------------------------------------------------- |
145
+ | onEvent | Function | callback to receive analytics events from the SDK |
146
+ | allowedEvents | String[] | optional whitelist of event names to forward (if empty, all events are sent) |
147
+
148
+ **Example Usage:**
149
+
150
+ ```js
151
+ <OmnipayProvider
152
+ publicKey="OMNIPUBKEY_HZA3ERGYEE5XUFGTZDQV_MNKRSTA3-TU"
153
+ env="dev"
154
+ color="red"
155
+ analyticsConfig={{
156
+ onEvent: (eventName, payload) => {
157
+ // Forward to your analytics tool (e.g., Mixpanel, Amplitude)
158
+ console.log('Analytics Event:', eventName, payload);
159
+ },
160
+ allowedEvents: ['payment_success', 'checkout_initiated'],
161
+ }}
162
+ >
163
+ {/* the rest of your app */}
164
+ </OmnipayProvider>
165
+ ```
166
+
167
+ **How it works:**
168
+
169
+ -The SDK listens for a structured analyticsEvent message from the WebView.
170
+
171
+ -The eventName and eventProperties are extracted directly from the message payload.
172
+
173
+ -If allowedEvents is provided, only events matching names in the list are forwarded
137
174
 
138
175
  #### initiateBills Props
139
176
 
@@ -189,6 +226,11 @@ import { Omnipay } from 'omnipay-reactnative-sdk';
189
226
  */
190
227
  console.log(customerRef, walletId);
191
228
  }}
229
+ onEvent={(eventName, payload) => {
230
+ // Forward to your analytics tool
231
+ console.log('Event received:', eventName, payload);
232
+ }}
233
+ allowedEvents={['payment_success', 'checkout_initiated']}
192
234
  onClose={() => {
193
235
  /**
194
236
  * the user is done with registration.
@@ -200,13 +242,15 @@ import { Omnipay } from 'omnipay-reactnative-sdk';
200
242
 
201
243
  ### Properties
202
244
 
203
- | Name | Type | Description |
204
- | ----------- | ------ | ------------------------------------ |
205
- | color | String | color of primary buttons and links |
206
- | env | String | dev or prod |
207
- | phoneNumber | String | phone number of the customer |
208
- | publicKey | String | public key of the company on omnipay |
209
- | view | String | the view to render on the sdk |
245
+ | Name | Type | Description |
246
+ | ------------- | -------- | ---------------------------------------------------------------------------- |
247
+ | color | String | color of primary buttons and links |
248
+ | env | String | dev or prod |
249
+ | phoneNumber | String | phone number of the customer |
250
+ | publicKey | String | public key of the company on omnipay |
251
+ | view | String | the view to render on the sdk |
252
+ | onEvent | Function | optional callback to receive analytics events from the SDK |
253
+ | allowedEvents | String[] | optional whitelist of event names to forward (if empty, all events are sent) |
210
254
 
211
255
  ## Payment Linking Sdk
212
256
 
@@ -27,7 +27,7 @@ const OmnipayProvider = _ref => {
27
27
  publicKey,
28
28
  env,
29
29
  color,
30
- analytics
30
+ analyticsConfig
31
31
  } = _ref;
32
32
  const [webviewStatus, setWebviewStatus] = (0, _react.useState)('loading');
33
33
  const [isVisible, setIsVisible] = (0, _react.useState)(false);
@@ -41,6 +41,7 @@ const OmnipayProvider = _ref => {
41
41
  const isValidColor = color.length > 2;
42
42
  const onCloseRef = (0, _react.useRef)(undefined);
43
43
  const [canUsePos, setCanUsePos] = (0, _react.useState)(false);
44
+ const allowedEvents = _react.default.useMemo(() => analyticsConfig !== null && analyticsConfig !== void 0 && analyticsConfig.allowedEvents && analyticsConfig.allowedEvents.length > 0 ? new Set(analyticsConfig.allowedEvents) : null, [analyticsConfig === null || analyticsConfig === void 0 ? void 0 : analyticsConfig.allowedEvents]);
44
45
  (0, _react.useEffect)(() => {
45
46
  checkPaymentApp();
46
47
  }, []);
@@ -137,61 +138,32 @@ const OmnipayProvider = _ref => {
137
138
  webviewRef.current.postMessage(JSON.stringify(data));
138
139
  } catch (error) {}
139
140
  }
140
- async function onWebviewMessage(e) {
141
- try {
142
- if (e.nativeEvent && e.nativeEvent.data) {
143
- const eventData = JSON.parse(e.nativeEvent.data);
144
- const {
145
- dataKey,
146
- dataValue
147
- } = eventData;
148
- if (dataKey === 'chooseContact') {
149
- const contactDetails = await (0, _functions.getContact)();
150
- postMessage({
151
- dataKey: 'contactSelected',
152
- dataValue: contactDetails
153
- });
154
- }
155
- if (dataKey === 'openLink') {
156
- _reactNative.Linking.openURL(dataValue);
157
- }
158
- if (dataKey === 'modalOpen') {
159
- setContainerOffset(0);
160
- }
161
- if (dataKey === 'modalClosed') {
162
- setContainerOffset(30);
163
- if (dataValue === 'closeSdk') {
164
- closeWebview();
165
- }
166
- }
167
- if (dataKey === 'closeSdk') {
168
- closeWebview();
169
- }
170
- if (dataKey === 'shareReceipt') {
171
- shareReceipt(dataValue);
172
- }
173
- if (dataKey === 'startPosTransaction') {
174
- startPosTransaction(JSON.parse(dataValue));
175
- }
176
- // Forward analytics events
177
- if (analytics !== null && analytics !== void 0 && analytics.onEvent && dataKey && typeof dataKey === 'string' && dataKey.startsWith('analytics_')) {
178
- const eventName = dataKey.replace('analytics_', '');
179
- const shouldForward = !analytics.allowedEvents || analytics.allowedEvents.length === 0 || analytics.allowedEvents.includes(eventName);
180
- if (shouldForward) {
181
- try {
182
- const payload = typeof dataValue === 'string' ? JSON.parse(dataValue) : dataValue;
183
- analytics.onEvent(eventName, payload);
184
- } catch {
185
- analytics.onEvent(eventName, {
186
- raw: dataValue
187
- });
188
- }
189
- }
190
- }
191
- }
192
- } catch (error) {}
193
- }
194
- async function shareReceipt(receiptData) {
141
+ const handleChooseContact = async () => {
142
+ const contactDetails = await (0, _functions.getContact)();
143
+ postMessage({
144
+ dataKey: 'contactSelected',
145
+ dataValue: contactDetails
146
+ });
147
+ };
148
+ const handleOpenLink = dataValue => {
149
+ if (typeof dataValue === 'string') {
150
+ _reactNative.Linking.openURL(dataValue);
151
+ }
152
+ };
153
+ const handleModalOpen = () => {
154
+ setContainerOffset(0);
155
+ };
156
+ const handleModalClosed = dataValue => {
157
+ setContainerOffset(30);
158
+ if (dataValue === 'closeSdk') {
159
+ closeWebview();
160
+ }
161
+ };
162
+ const handleCloseSdk = () => {
163
+ closeWebview();
164
+ };
165
+ const handleShareReceipt = async receiptData => {
166
+ if (typeof receiptData !== 'string') return;
195
167
  try {
196
168
  const {
197
169
  fileName = '',
@@ -202,7 +174,71 @@ const OmnipayProvider = _ref => {
202
174
  filename: _reactNative.Platform.OS === 'android' ? fileName : `${fileName}.jpg`
203
175
  });
204
176
  } catch (error) {
205
- console.log(error);
177
+ console.log('Error sharing receipt:', error);
178
+ }
179
+ };
180
+ const handlePosTransaction = dataValue => {
181
+ if (typeof dataValue !== 'string') return;
182
+ try {
183
+ startPosTransaction(JSON.parse(dataValue));
184
+ } catch (error) {
185
+ console.warn('Error parsing POS transaction data:', error);
186
+ }
187
+ };
188
+ const handleAnalyticsEvent = dataValue => {
189
+ if (!(analyticsConfig !== null && analyticsConfig !== void 0 && analyticsConfig.onEvent)) {
190
+ return;
191
+ }
192
+ try {
193
+ const payload = typeof dataValue === 'string' ? JSON.parse(dataValue) : dataValue;
194
+ const {
195
+ eventName,
196
+ eventProperties
197
+ } = payload;
198
+ if (typeof eventName === 'string' && eventName.trim()) {
199
+ const shouldForward = !allowedEvents || allowedEvents.has(eventName);
200
+ if (shouldForward) {
201
+ analyticsConfig.onEvent(eventName, eventProperties || {});
202
+ }
203
+ } else {
204
+ console.warn('Omnipay analytics: Invalid event name', eventName);
205
+ }
206
+ } catch (error) {
207
+ console.warn('Omnipay analytics error:', error);
208
+ }
209
+ };
210
+
211
+ /**
212
+ * Maps message keys to handlers for O(1) lookup and easy extensibility.
213
+ * Add new message types here instead of chaining if statements.
214
+ */
215
+ const messageHandlers = {
216
+ chooseContact: handleChooseContact,
217
+ openLink: handleOpenLink,
218
+ modalOpen: handleModalOpen,
219
+ modalClosed: handleModalClosed,
220
+ closeSdk: handleCloseSdk,
221
+ shareReceipt: handleShareReceipt,
222
+ startPosTransaction: handlePosTransaction,
223
+ analyticsEvent: handleAnalyticsEvent
224
+ };
225
+ async function onWebviewMessage(e) {
226
+ try {
227
+ var _e$nativeEvent;
228
+ if (!((_e$nativeEvent = e.nativeEvent) !== null && _e$nativeEvent !== void 0 && _e$nativeEvent.data)) {
229
+ return;
230
+ }
231
+ const eventData = JSON.parse(e.nativeEvent.data);
232
+ const {
233
+ dataKey,
234
+ dataValue
235
+ } = eventData;
236
+ const handler = messageHandlers[dataKey];
237
+ if (handler) {
238
+ await handler(dataValue);
239
+ }
240
+ } catch (error) {
241
+ console.warn('Error handling webview message:', error);
206
242
  }
207
243
  }
208
244
  const _initiateBills = _ref3 => {
@@ -212,7 +248,7 @@ const OmnipayProvider = _ref => {
212
248
  metadata = {}
213
249
  } = _ref3;
214
250
  if (typeof phoneNumber === 'string' && phoneNumber.length >= 10) {
215
- // Encrypt sensitive parameters
251
+ // Encrypt params to prevent exposure of sensitive data in URL/logs
216
252
  const params = {
217
253
  theme: color,
218
254
  view: 'bills',
@@ -253,7 +289,7 @@ const OmnipayProvider = _ref => {
253
289
  promoName = '',
254
290
  metadata = {}
255
291
  } = _ref4;
256
- //prevent opening if it's already open
292
+ // Guard against race conditions when wallet is already initializing/visible
257
293
  if (visibilityRef.current) {
258
294
  return;
259
295
  }
@@ -262,7 +298,7 @@ const OmnipayProvider = _ref => {
262
298
  const isValidUserRef = !!userRef && !!userRef.trim();
263
299
  const usesNativeShare = true;
264
300
  if (isPhoneNumberValid || isValidCustomerRef || isValidUserRef) {
265
- // Encrypt sensitive parameters
301
+ // Encrypt params to prevent exposure of PII and API keys in URL/logs
266
302
  const params = {
267
303
  theme: color,
268
304
  view: 'wallet',
@@ -328,7 +364,8 @@ const OmnipayProvider = _ref => {
328
364
  activeOpacity: 1,
329
365
  onPress: closeWebview
330
366
  }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
331
- style: [styles.container, /* eslint-disable react-native/no-inline-styles */
367
+ style: [styles.container,
368
+ // Dynamic padding based on modal state - inline style needed for animation
332
369
  {
333
370
  paddingTop: isWalletView ? 0 : containerOffset
334
371
  }]
@@ -1 +1 @@
1
- {"version":3,"names":["OmnipayActivity","NativeModules","defaultValue","initiateBills","initiateWallet","OmnipayContext","React","createContext","OmnipayProvider","children","publicKey","env","color","analytics","webviewStatus","setWebviewStatus","useState","isVisible","setIsVisible","webviewRef","useRef","visibilityRef","webHost","getWebHost","webviewUrl","setWebviewUrl","showWebview","includes","containerOffset","setContainerOffset","isValidEnv","isValidColor","length","onCloseRef","undefined","canUsePos","setCanUsePos","useEffect","checkPaymentApp","current","eventEmitter","NativeEventEmitter","addListener","event","console","log","Platform","OS","isInstalled","isPackageInstalled","error","startPosTransaction","amount","purchaseType","print","rrn","stan","terminalId","result","isKeyExchanged","AsyncStorage","getItem","initiateHorizonTransaction","toLowerCase","setItem","postMessage","dataKey","dataValue","getWebviewStyle","opacity","height","width","flex","styles","webview","onWebviewMount","data","JSON","stringify","onWebviewMessage","e","nativeEvent","eventData","parse","contactDetails","getContact","Linking","openURL","closeWebview","shareReceipt","onEvent","startsWith","eventName","replace","shouldForward","allowedEvents","payload","raw","receiptData","fileName","image","Share","open","url","filename","_initiateBills","phoneNumber","onClose","metadata","params","theme","view","encryptedPayload","encryptUrlParams","webUrl","warn","_initiateWallet","customerRef","userRef","usesPaylater","usesPromo","usesAirtimeData","usesTransfer","usesBills","usesPos","promoBalanceOffset","deviceId","deviceName","hideWalletTransfer","isBvnValidationRequired","walletTab","sessionId","kycStatus","launchPage","promoName","isPhoneNumberValid","isValidCustomerRef","trim","isValidUserRef","usesNativeShare","bvnRequired","isPosEnabled","reloadWebview","reload","webviewStyle","isPropsValid","isWalletView","modal","backdrop","container","paddingTop","close","require","closeIcon","contentContainer","uri","StyleSheet","absoluteFillObject","errorContainer","errorSubtitle","button","backgroundColor","borderColor","buttonText","webviewLoader","create","hide","display","full","Dimensions","get","borderTopRightRadius","borderTopLeftRadius","zIndex","alignItems","justifyContent","position","top","left","maxHeight","overflow","right","borderRadius","testContent","paddingLeft","testTwoContent","textAlign","fontSize","marginBottom","paddingHorizontal","marginTop","retryButton","minWidth","marginHorizontal","paddingVertical","borderWidth"],"sourceRoot":"../../src","sources":["OmnipayProvider.tsx"],"mappings":";;;;;;AAAA;AACA;AAgBA;AACA;AACA;AACA;AACA;AAAuD;AAAA;AAAA;AAEvD,MAAMA,eAAe,GAAGC,0BAAa,CAACD,eAAe,IAAI,CAAC,CAAC;AAgG3D,IAAIE,YAAY,GAAG;EACjBC,aAAa,EAAE,MAAM,IAAI;EACzBC,cAAc,EAAE,MAAM;AACxB,CAAC;AAEM,MAAMC,cAAc,gBAAGC,cAAK,CAACC,aAAa,CAC/CL,YAAY,CACb;AAAC;AAEK,MAAMM,eAAe,GAAG,QAMH;EAAA,IANI;IAC9BC,QAAQ;IACRC,SAAS;IACTC,GAAG;IACHC,KAAK;IACLC;EACoB,CAAC;EACrB,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAC,eAAQ,EAAS,SAAS,CAAC;EACrE,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAG,IAAAF,eAAQ,EAAC,KAAK,CAAC;EACjD,MAAMG,UAAU,GAAG,IAAAC,aAAM,EAAU,IAAI,CAAC;EACxC,MAAMC,aAAa,GAAG,IAAAD,aAAM,EAAUH,SAAS,CAAC;EAChD,MAAMK,OAAO,GAAGC,UAAU,EAAE;EAC5B,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAAT,eAAQ,EAACM,OAAO,CAAC;EACrD,MAAMI,WAAW,GAAGF,UAAU,CAACG,QAAQ,CAAC,MAAM,CAAC,IAAIV,SAAS;EAC5D,MAAM,CAACW,eAAe,EAAEC,kBAAkB,CAAC,GAAG,IAAAb,eAAQ,EAAC,EAAE,CAAC;EAC1D,MAAMc,UAAU,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAACH,QAAQ,CAAChB,GAAG,CAAC;EAChD,MAAMoB,YAAY,GAAGnB,KAAK,CAACoB,MAAM,GAAG,CAAC;EACrC,MAAMC,UAAU,GAAG,IAAAb,aAAM,EAA2Bc,SAAS,CAAC;EAC9D,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAG,IAAApB,eAAQ,EAAC,KAAK,CAAC;EAEjD,IAAAqB,gBAAS,EAAC,MAAM;IACdC,eAAe,EAAE;EACnB,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAD,gBAAS,EAAC,MAAM;IACdhB,aAAa,CAACkB,OAAO,GAAGtB,SAAS;EACnC,CAAC,EAAE,CAACA,SAAS,CAAC,CAAC;EAEf,IAAAoB,gBAAS,EAAC,MAAM;IACd,IAAIF,SAAS,EAAE;MACb,MAAMK,YAAY,GAAG,IAAIC,+BAAkB,CAACzC,eAAe,CAAC;MAC5DwC,YAAY,CAACE,WAAW,CAAC,cAAc,EAAGC,KAAK,IAAK;QAClDC,OAAO,CAACC,GAAG,CAAC,cAAc,EAAEF,KAAK,CAAC;MACpC,CAAC,CAAC;IACJ;EACF,CAAC,EAAE,CAACR,SAAS,CAAC,CAAC;EAEf,eAAeG,eAAe,GAAG;IAC/B,IAAI;MACF,IAAIQ,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAE;QAC7B,MAAMC,WAAW,GAAG,MAAMhD,eAAe,CAACiD,kBAAkB,CAC1D,uBAAuB,CACxB;QACD,IAAID,WAAW,EAAE;UACfZ,YAAY,CAAC,IAAI,CAAC;QACpB;MACF;IACF,CAAC,CAAC,OAAOc,KAAK,EAAE,CAAC;EACnB;EAEA,eAAeC,mBAAmB,QAOX;IAAA,IAPY;MACjCC,MAAM;MACNC,YAAY;MACZC,KAAK;MACLC,GAAG;MACHC,IAAI;MACJC;IACkB,CAAC;IACnB,IAAI;MACF,IAAIX,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAE;QAC7B,IAAIW,MAAM,GAAG,EAAE;QAEf,IAAIL,YAAY,KAAK,cAAc,EAAE;UACnC,MAAMM,cAAc,GAAG,MAAMC,qBAAY,CAACC,OAAO,CAAC,gBAAgB,CAAC;UACnE,IAAI,CAACF,cAAc,EAAE;YACnBD,MAAM,GAAG,MAAM1D,eAAe,CAAC8D,0BAA0B,CACvDV,MAAM,EACNC,YAAY,EACZzC,KAAK,EACL0C,KAAK,EACLC,GAAG,EACHC,IAAI,EACJC,UAAU,CACX;YACD,IACEA,UAAU,IACVC,MAAM,IACNA,MAAM,CAACK,WAAW,EAAE,CAACpC,QAAQ,CAAC,kBAAkB,CAAC,EACjD;cACA,MAAMiC,qBAAY,CAACI,OAAO,CAAC,gBAAgB,EAAEP,UAAU,CAAC;YAC1D;YACAQ,WAAW,CAAC;cACVC,OAAO,EAAE,mBAAmB;cAC5BC,SAAS,EAAET;YACb,CAAC,CAAC;UACJ;QACF,CAAC,MAAM;UACLA,MAAM,GAAG,MAAM1D,eAAe,CAAC8D,0BAA0B,CACvDV,MAAM,EACNC,YAAY,EACZzC,KAAK,EACL0C,KAAK,EACLC,GAAG,EACHC,IAAI,EACJC,UAAU,CACX;UACDQ,WAAW,CAAC;YACVC,OAAO,EAAE,yBAAyB;YAClCC,SAAS,EAAET;UACb,CAAC,CAAC;QACJ;MACF;IACF,CAAC,CAAC,OAAOR,KAAK,EAAE;MACdN,OAAO,CAACC,GAAG,CAACK,KAAK,CAAC;MAClBe,WAAW,CAAC;QACVC,OAAO,EAAE,yBAAyB;QAClCC,SAAS,EAAE;MACb,CAAC,CAAC;IACJ;EACF;EAEA,SAASC,eAAe,GAAG;IACzB,IAAI,CAAC1C,WAAW,EAAE;MAChB,OAAO;QAAE2C,OAAO,EAAE,CAAC;QAAEC,MAAM,EAAE,CAAC;QAAEC,KAAK,EAAE,CAAC;QAAEC,IAAI,EAAE;MAAE,CAAC;IACrD;IACA,OAAOC,MAAM,CAACC,OAAO;EACvB;EAEA,SAASnD,UAAU,GAAG;IACpB,IAAIZ,GAAG,KAAK,KAAK,EAAE;MACjB,OAAO,6BAA6B;IACtC;IACA,OAAO,yBAAyB;EAClC;EAEA,MAAMgE,cAAc,GAAI;AAC1B;AACA,+BAA+B7B,qBAAQ,CAACC,EAAG;AAC3C;AACA;AACA;AACA,OAAO;EAEL,SAASkB,WAAW,CAACW,IAAiB,EAAE;IACtC,IAAI,CAACzD,UAAU,CAACoB,OAAO,EAAE;MACvB;IACF;IACA,IAAI;MACFpB,UAAU,CAACoB,OAAO,CAAC0B,WAAW,CAACY,IAAI,CAACC,SAAS,CAACF,IAAI,CAAC,CAAC;IACtD,CAAC,CAAC,OAAO1B,KAAK,EAAE,CAAC;EACnB;EAEA,eAAe6B,gBAAgB,CAACC,CAAsB,EAAE;IACtD,IAAI;MACF,IAAIA,CAAC,CAACC,WAAW,IAAID,CAAC,CAACC,WAAW,CAACL,IAAI,EAAE;QACvC,MAAMM,SAAS,GAAGL,IAAI,CAACM,KAAK,CAACH,CAAC,CAACC,WAAW,CAACL,IAAI,CAAC;QAChD,MAAM;UAAEV,OAAO;UAAEC;QAAU,CAAC,GAAGe,SAAS;QACxC,IAAIhB,OAAO,KAAK,eAAe,EAAE;UAC/B,MAAMkB,cAAc,GAAG,MAAM,IAAAC,qBAAU,GAAE;UACzCpB,WAAW,CAAC;YACVC,OAAO,EAAE,iBAAiB;YAC1BC,SAAS,EAAEiB;UACb,CAAC,CAAC;QACJ;QAEA,IAAIlB,OAAO,KAAK,UAAU,EAAE;UAC1BoB,oBAAO,CAACC,OAAO,CAACpB,SAAS,CAAC;QAC5B;QACA,IAAID,OAAO,KAAK,WAAW,EAAE;UAC3BrC,kBAAkB,CAAC,CAAC,CAAC;QACvB;QACA,IAAIqC,OAAO,KAAK,aAAa,EAAE;UAC7BrC,kBAAkB,CAAC,EAAE,CAAC;UACtB,IAAIsC,SAAS,KAAK,UAAU,EAAE;YAC5BqB,YAAY,EAAE;UAChB;QACF;QACA,IAAItB,OAAO,KAAK,UAAU,EAAE;UAC1BsB,YAAY,EAAE;QAChB;QACA,IAAItB,OAAO,KAAK,cAAc,EAAE;UAC9BuB,YAAY,CAACtB,SAAS,CAAC;QACzB;QACA,IAAID,OAAO,KAAK,qBAAqB,EAAE;UACrCf,mBAAmB,CAAC0B,IAAI,CAACM,KAAK,CAAChB,SAAS,CAAC,CAAC;QAC5C;QACA;QACA,IACEtD,SAAS,aAATA,SAAS,eAATA,SAAS,CAAE6E,OAAO,IAClBxB,OAAO,IACP,OAAOA,OAAO,KAAK,QAAQ,IAC3BA,OAAO,CAACyB,UAAU,CAAC,YAAY,CAAC,EAChC;UACA,MAAMC,SAAS,GAAG1B,OAAO,CAAC2B,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;UACnD,MAAMC,aAAa,GACjB,CAACjF,SAAS,CAACkF,aAAa,IACxBlF,SAAS,CAACkF,aAAa,CAAC/D,MAAM,KAAK,CAAC,IACpCnB,SAAS,CAACkF,aAAa,CAACpE,QAAQ,CAACiE,SAAS,CAAC;UAE7C,IAAIE,aAAa,EAAE;YACjB,IAAI;cACF,MAAME,OAAO,GACX,OAAO7B,SAAS,KAAK,QAAQ,GACzBU,IAAI,CAACM,KAAK,CAAChB,SAAS,CAAC,GACrBA,SAAS;cACftD,SAAS,CAAC6E,OAAO,CAACE,SAAS,EAAEI,OAAO,CAAC;YACvC,CAAC,CAAC,MAAM;cACNnF,SAAS,CAAC6E,OAAO,CAACE,SAAS,EAAE;gBAAEK,GAAG,EAAE9B;cAAU,CAAC,CAAC;YAClD;UACF;QACF;MACF;IACF,CAAC,CAAC,OAAOjB,KAAK,EAAE,CAAC;EACnB;EAEA,eAAeuC,YAAY,CAACS,WAAmB,EAAE;IAC/C,IAAI;MACF,MAAM;QAAEC,QAAQ,GAAG,EAAE;QAAEC,KAAK,GAAG;MAAG,CAAC,GAAGvB,IAAI,CAACM,KAAK,CAACe,WAAW,CAAC;MAC7D,MAAMG,yBAAK,CAACC,IAAI,CAAC;QACfC,GAAG,EAAEH,KAAK;QACVI,QAAQ,EAAE1D,qBAAQ,CAACC,EAAE,KAAK,SAAS,GAAGoD,QAAQ,GAAI,GAAEA,QAAS;MAC/D,CAAC,CAAC;IACJ,CAAC,CAAC,OAAOjD,KAAK,EAAE;MACdN,OAAO,CAACC,GAAG,CAACK,KAAK,CAAC;IACpB;EACF;EAEA,MAAMuD,cAAc,GAAG,SAIE;IAAA,IAJD;MACtBC,WAAW;MACXC,OAAO;MACPC,QAAQ,GAAG,CAAC;IACK,CAAC;IAClB,IAAI,OAAOF,WAAW,KAAK,QAAQ,IAAIA,WAAW,CAAC1E,MAAM,IAAI,EAAE,EAAE;MAC/D;MACA,MAAM6E,MAAM,GAAG;QACbC,KAAK,EAAElG,KAAK;QACZmG,IAAI,EAAE,OAAO;QACbrG,SAAS,EAAEA,SAAS;QACpBgG,WAAW,EAAEA,WAAW;QACxB,GAAGE;MACL,CAAC;MACD,MAAMI,gBAAgB,GAAG,IAAAC,4BAAgB,EAACJ,MAAM,CAAC;MACjD,MAAMK,MAAM,GAAI,GAAE5F,OAAQ,QAAO0F,gBAAiB,aAAY;MAC9DvF,aAAa,CAACyF,MAAM,CAAC;MACrBhG,YAAY,CAAC,IAAI,CAAC;MAClBe,UAAU,CAACM,OAAO,GAAGoE,OAAO;MAC5B;IACF;IACA/D,OAAO,CAACuE,IAAI,CAAC,qCAAqC,CAAC;EACrD,CAAC;EAED,MAAMC,eAAe,GAAG,SAsBE;IAAA,IAtBD;MACvBV,WAAW,GAAG,EAAE;MAChBW,WAAW,GAAG,EAAE;MAChBC,OAAO,GAAG,EAAE;MACZX,OAAO;MACPY,YAAY,GAAG,KAAK;MACpBC,SAAS,GAAG,KAAK;MACjBC,eAAe,GAAG,KAAK;MACvBC,YAAY,GAAG,KAAK;MACpBC,SAAS,GAAG,KAAK;MACjBC,OAAO,GAAG,KAAK;MACfC,kBAAkB,GAAG,CAAC;MACtBC,QAAQ,GAAG,EAAE;MACbC,UAAU,GAAG,EAAE;MACfC,kBAAkB,GAAG,KAAK;MAC1BC,uBAAuB,GAAG,KAAK;MAC/BC,SAAS,GAAG,SAAS;MACrBC,SAAS,GAAG,EAAE;MACdC,SAAS;MACTC,UAAU,GAAG,QAAQ;MACrBC,SAAS,GAAG,EAAE;MACd1B,QAAQ,GAAG,CAAC;IACM,CAAC;IACnB;IACA,IAAIvF,aAAa,CAACkB,OAAO,EAAE;MACzB;IACF;IACA,MAAMgG,kBAAkB,GAAG,CAAC,CAAC7B,WAAW,IAAIA,WAAW,CAAC1E,MAAM,IAAI,EAAE;IACpE,MAAMwG,kBAAkB,GAAG,CAAC,CAACnB,WAAW,IAAI,CAAC,CAACA,WAAW,CAACoB,IAAI,EAAE;IAChE,MAAMC,cAAc,GAAG,CAAC,CAACpB,OAAO,IAAI,CAAC,CAACA,OAAO,CAACmB,IAAI,EAAE;IACpD,MAAME,eAAe,GAAG,IAAI;IAE5B,IAAIJ,kBAAkB,IAAIC,kBAAkB,IAAIE,cAAc,EAAE;MAC9D;MACA,MAAM7B,MAAM,GAAG;QACbC,KAAK,EAAElG,KAAK;QACZmG,IAAI,EAAE,QAAQ;QACdrG,SAAS,EAAEA,SAAS;QACpBgG,WAAW,EAAEA,WAAW;QACxBa,YAAY,EAAEA,YAAY;QAC1BC,SAAS,EAAEA,SAAS;QACpBC,eAAe,EAAEA,eAAe;QAChCC,YAAY,EAAEA,YAAY;QAC1BC,SAAS,EAAEA,SAAS;QACpBC,OAAO,EAAEA,OAAO;QAChBP,WAAW,EAAEA,WAAW;QACxBC,OAAO,EAAEA,OAAO;QAChBO,kBAAkB,EAAEA,kBAAkB;QACtCC,QAAQ,EAAEA,QAAQ;QAClBC,UAAU,EAAEA,UAAU;QACtBC,kBAAkB,EAAEA,kBAAkB;QACtCY,WAAW,EAAEX,uBAAuB;QACpCU,eAAe,EAAEA,eAAe;QAChCE,YAAY,EAAE1G,SAAS;QACvB+F,SAAS,EAAEA,SAAS;QACpBC,SAAS,EAAEA,SAAS;QACpBC,SAAS,EAAEA,SAAS,IAAI,EAAE;QAC1BC,UAAU,EAAEA,UAAU;QACtBC,SAAS,EAAEA,SAAS;QACpB,GAAG1B;MACL,CAAC;MACD,MAAMI,gBAAgB,GAAG,IAAAC,4BAAgB,EAACJ,MAAM,CAAC;MACjD,MAAMK,MAAM,GAAI,GAAE5F,OAAQ,QAAO0F,gBAAiB,cAAa;MAC/DvF,aAAa,CAACyF,MAAM,CAAC;MACrBhG,YAAY,CAAC,IAAI,CAAC;MAClBe,UAAU,CAACM,OAAO,GAAGoE,OAAO;MAC5B;IACF;IACA/D,OAAO,CAACuE,IAAI,CAAC,qCAAqC,CAAC;EACrD,CAAC;EAED,SAAS3B,YAAY,GAAG;IACtBtE,YAAY,CAAC,KAAK,CAAC;IACnB,IAAIe,UAAU,CAACM,OAAO,IAAI,OAAON,UAAU,CAACM,OAAO,KAAK,UAAU,EAAE;MAClEN,UAAU,CAACM,OAAO,EAAE;MACpBN,UAAU,CAACM,OAAO,GAAGL,SAAS;IAChC;EACF;EAEA,SAAS4G,aAAa,GAAG;IACvB,IAAI3H,UAAU,CAACoB,OAAO,EAAE;MACtBpB,UAAU,CAACoB,OAAO,CAACwG,MAAM,EAAE;IAC7B;EACF;EAEA,MAAMC,YAAY,GAAG5E,eAAe,EAAE;EACtC,MAAM6E,YAAY,GAAGlH,YAAY,IAAI,CAAC,CAACrB,SAAS,IAAIoB,UAAU;EAC9D,MAAMoH,YAAY,GAAG1H,UAAU,CAACG,QAAQ,CAAC,aAAa,CAAC;EAEvD,oBACE,6BAAC,cAAc,CAAC,QAAQ;IACtB,KAAK,EAAE;MAAExB,aAAa,EAAEsG,cAAc;MAAErG,cAAc,EAAEgH;IAAgB;EAAE,GAEzE6B,YAAY,iBACX,4DACGzH,UAAU,CAACG,QAAQ,CAAC,MAAM,CAAC,iBAC1B,6BAAC,kBAAK;IAAC,OAAO,EAAED,WAAY;IAAC,KAAK,EAAE+C,MAAM,CAAC0E,KAAM;IAAC,WAAW;EAAA,gBAC3D,6BAAC,6BAAgB;IACf,KAAK,EAAE1E,MAAM,CAAC2E,QAAS;IACvB,aAAa,EAAE,CAAE;IACjB,OAAO,EAAE5D;EAAa,gBAEtB,6BAAC,iBAAI;IACH,KAAK,EAAE,CACLf,MAAM,CAAC4E,SAAS,EAChB;IACA;MAAEC,UAAU,EAAEJ,YAAY,GAAG,CAAC,GAAGtH;IAAgB,CAAC;EAClD,GAEDA,eAAe,KAAK,CAAC,IACpBd,aAAa,KAAK,SAAS,IAC3B,CAACoI,YAAY,iBACX,6BAAC,6BAAgB;IACf,KAAK,EAAEzE,MAAM,CAAC8E,KAAM;IACpB,OAAO,EAAE/D;EAAa,gBAEtB,6BAAC,kBAAK;IACJ,MAAM,EAAEgE,OAAO,CAAC,sBAAsB,CAAE;IACxC,KAAK,EAAE/E,MAAM,CAACgF;EAAU,EACxB,CAEL,eAEH,6BAAC,uBAAU;IAAC,qBAAqB,EAAEhF,MAAM,CAACiF;EAAiB,gBACzD,6BAAC,qCAAwB,qBACvB,6BAAC,2BAAO;IACN,MAAM,EAAE;MACNC,GAAG,EAAEnI;IACP,CAAE;IACF,KAAK,EAAEwH,YAAa;IACpB,qCAAqC,EAAErE,cAAe;IACtD,SAAS,EAAEI,gBAAiB;IAC5B,GAAG,EAAE5D,UAAW;IAChB,WAAW,EAAE,MAAM;MACjBJ,gBAAgB,CAAC,SAAS,CAAC;IAC7B,CAAE;IACF,iBAAiB,EAAE,IAAK;IACxB,eAAe,EAAE,CAAC,GAAG,CAAE;IACvB,yBAAyB,EAAE,IAAK;IAChC,SAAS,EAAE,MAAMA,gBAAgB,CAAC,SAAS,CAAE;IAC7C,WAAW,EAAE,mBACX,6BAAC,iBAAI;MAAC,KAAK,EAAE6I,uBAAU,CAACC;IAAmB,gBACzC,6BAAC,iBAAI;MAAC,KAAK,EAAEpF,MAAM,CAACqF;IAAe,gBACjC,6BAAC,iBAAI;MAAC,KAAK,EAAErF,MAAM,CAACsF;IAAc,kDAE3B,eACP,6BAAC,6BAAgB;MACf,aAAa,EAAE,GAAI;MACnB,OAAO,EAAEjB,aAAc;MACvB,KAAK,EAAE,CACLrE,MAAM,CAACuF,MAAM,EACb;QACEC,eAAe,EAAErJ,KAAK;QACtBsJ,WAAW,EAAEtJ;MACf,CAAC;IACD,gBAEF,yEACE,6BAAC,iBAAI;MAAC,KAAK,EAAE6D,MAAM,CAAC0F;IAAW,WAAa,CAC3C,CACc,CACd;EAET,EACF,CACuB,EAC1BrJ,aAAa,KAAK,SAAS,IAAIY,WAAW,iBACzC,6BAAC,qCAAwB,qBACvB,6BAAC,iBAAI;IAAC,KAAK,EAAE+C,MAAM,CAAC2F;EAAc,gBAChC,6BAAC,8BAAiB;IAAC,IAAI,EAAC,OAAO;IAAC,KAAK,EAAExJ;EAAM,EAAG,CAC3C,CAEV,CACU,CACR,CACU,CAEtB,CAEJ,EACAH,QAAQ,CACe;AAE9B,CAAC;AAAC;AAEF,MAAMgE,MAAM,GAAGmF,uBAAU,CAACS,MAAM,CAAC;EAC/BC,IAAI,EAAE;IACJC,OAAO,EAAE;EACX,CAAC;EACDC,IAAI,EAAE;IACJhG,IAAI,EAAE,CAAC;IACPD,KAAK,EAAE,MAAM;IACbD,MAAM,EAAE;EACV,CAAC;EACDI,OAAO,EAAE;IACPF,IAAI,EAAE,CAAC;IACPD,KAAK,EAAE,MAAM;IACbD,MAAM,EAAEmG,uBAAU,CAACC,GAAG,CAAC,QAAQ,CAAC,CAACpG,MAAM,GAAG,EAAE;IAC5C2F,eAAe,EAAE,OAAO;IACxBU,oBAAoB,EAAE,EAAE;IACxBC,mBAAmB,EAAE;EACvB,CAAC;EACDR,aAAa,EAAE;IACbS,MAAM,EAAE,CAAC;IACTZ,eAAe,EAAE,OAAO;IACxBa,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,QAAQ;IACxBvG,IAAI,EAAE,CAAC;IACPD,KAAK,EAAE,MAAM;IACbD,MAAM,EAAE,MAAM;IACd0G,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACPP,oBAAoB,EAAE,EAAE;IACxBC,mBAAmB,EAAE;EACvB,CAAC;EACDxB,QAAQ,EAAE;IACRa,eAAe,EAAE,kBAAkB;IACnCzF,IAAI,EAAE,CAAC;IACPuG,cAAc,EAAE,UAAU;IAC1BC,QAAQ,EAAE,UAAU;IACpB1G,MAAM,EAAE;EACV,CAAC;EACD+E,SAAS,EAAE;IACTY,eAAe,EAAE,OAAO;IACxBU,oBAAoB,EAAE,EAAE;IACxBC,mBAAmB,EAAE,EAAE;IACvBO,SAAS,EAAEV,uBAAU,CAACC,GAAG,CAAC,QAAQ,CAAC,CAACpG,MAAM,GAAG,EAAE;IAC/CE,IAAI,EAAE,CAAC;IACPwG,QAAQ,EAAE,UAAU;IACpB,IAAIlI,qBAAQ,CAACC,EAAE,KAAK,SAAS,IAAI;MAAEqI,QAAQ,EAAE;IAAS,CAAC;EACzD,CAAC;EACDjC,KAAK,EAAE;IACL3E,IAAI,EAAE,CAAC;IACPyF,eAAe,EAAE,kBAAkB;IACnC3F,MAAM,EAAE,MAAM;IACdC,KAAK,EAAE;EACT,CAAC;EACDgF,KAAK,EAAE;IACLyB,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,EAAE;IACPI,KAAK,EAAE,EAAE;IACTpB,eAAe,EAAE,OAAO;IACxB3F,MAAM,EAAE,EAAE;IACVC,KAAK,EAAE,EAAE;IACT+G,YAAY,EAAE,IAAI;IAClBR,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,QAAQ;IACxBF,MAAM,EAAE;EACV,CAAC;EACDpB,SAAS,EAAE;IACTnF,MAAM,EAAE,EAAE;IACVC,KAAK,EAAE;EACT,CAAC;EACDmF,gBAAgB,EAAE;IAChBlF,IAAI,EAAE,CAAC;IACPF,MAAM,EAAEmG,uBAAU,CAACC,GAAG,CAAC,QAAQ,CAAC,CAACpG,MAAM,GAAG,EAAE;IAC5C0G,QAAQ,EAAE,UAAU;IACpBL,oBAAoB,EAAE,EAAE;IACxBC,mBAAmB,EAAE;EACvB,CAAC;EACDW,WAAW,EAAE;IACXjC,UAAU,EAAE,EAAE;IACdkC,WAAW,EAAE;EACf,CAAC;EACDC,cAAc,EAAE;IACdnC,UAAU,EAAE,EAAE;IACdkC,WAAW,EAAE;EACf,CAAC;EACDzB,aAAa,EAAE;IACb2B,SAAS,EAAE,QAAQ;IACnBC,QAAQ,EAAE,EAAE;IACZ/K,KAAK,EAAE,SAAS;IAChBgL,YAAY,EAAE,EAAE;IAChBC,iBAAiB,EAAE,CAAC;IACpBC,SAAS,EAAE;EACb,CAAC;EACDhC,cAAc,EAAE;IACdtF,IAAI,EAAE,CAAC;IACPuG,cAAc,EAAE,QAAQ;IACxBD,UAAU,EAAE,QAAQ;IACpBvG,KAAK,EAAEkG,uBAAU,CAACC,GAAG,CAAC,QAAQ,CAAC,CAACnG,KAAK;IACrCD,MAAM,EAAEmG,uBAAU,CAACC,GAAG,CAAC,QAAQ,CAAC,CAACpG,MAAM;IACvCuG,MAAM,EAAE,CAAC;IACTZ,eAAe,EAAE;EACnB,CAAC;EACD8B,WAAW,EAAE;IACXC,QAAQ,EAAE,GAAG;IACbC,gBAAgB,EAAE;EACpB,CAAC;EACDjC,MAAM,EAAE;IACNsB,YAAY,EAAE,CAAC;IACfO,iBAAiB,EAAE,EAAE;IACrBK,eAAe,EAAE,EAAE;IACnBC,WAAW,EAAE,CAAC;IACdrB,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB,CAAC;EACDZ,UAAU,EAAE;IAAEvJ,KAAK,EAAE,OAAO;IAAE+K,QAAQ,EAAE,EAAE;IAAEE,iBAAiB,EAAE;EAAG;AACpE,CAAC,CAAC"}
1
+ {"version":3,"names":["OmnipayActivity","NativeModules","defaultValue","initiateBills","initiateWallet","OmnipayContext","React","createContext","OmnipayProvider","children","publicKey","env","color","analyticsConfig","webviewStatus","setWebviewStatus","useState","isVisible","setIsVisible","webviewRef","useRef","visibilityRef","webHost","getWebHost","webviewUrl","setWebviewUrl","showWebview","includes","containerOffset","setContainerOffset","isValidEnv","isValidColor","length","onCloseRef","undefined","canUsePos","setCanUsePos","allowedEvents","useMemo","Set","useEffect","checkPaymentApp","current","eventEmitter","NativeEventEmitter","addListener","event","console","log","Platform","OS","isInstalled","isPackageInstalled","error","startPosTransaction","amount","purchaseType","print","rrn","stan","terminalId","result","isKeyExchanged","AsyncStorage","getItem","initiateHorizonTransaction","toLowerCase","setItem","postMessage","dataKey","dataValue","getWebviewStyle","opacity","height","width","flex","styles","webview","onWebviewMount","data","JSON","stringify","handleChooseContact","contactDetails","getContact","handleOpenLink","Linking","openURL","handleModalOpen","handleModalClosed","closeWebview","handleCloseSdk","handleShareReceipt","receiptData","fileName","image","parse","Share","open","url","filename","handlePosTransaction","warn","handleAnalyticsEvent","onEvent","payload","eventName","eventProperties","trim","shouldForward","has","messageHandlers","chooseContact","openLink","modalOpen","modalClosed","closeSdk","shareReceipt","analyticsEvent","onWebviewMessage","e","nativeEvent","eventData","handler","_initiateBills","phoneNumber","onClose","metadata","params","theme","view","encryptedPayload","encryptUrlParams","webUrl","_initiateWallet","customerRef","userRef","usesPaylater","usesPromo","usesAirtimeData","usesTransfer","usesBills","usesPos","promoBalanceOffset","deviceId","deviceName","hideWalletTransfer","isBvnValidationRequired","walletTab","sessionId","kycStatus","launchPage","promoName","isPhoneNumberValid","isValidCustomerRef","isValidUserRef","usesNativeShare","bvnRequired","isPosEnabled","reloadWebview","reload","webviewStyle","isPropsValid","isWalletView","modal","backdrop","container","paddingTop","close","require","closeIcon","contentContainer","uri","StyleSheet","absoluteFillObject","errorContainer","errorSubtitle","button","backgroundColor","borderColor","buttonText","webviewLoader","create","hide","display","full","Dimensions","get","borderTopRightRadius","borderTopLeftRadius","zIndex","alignItems","justifyContent","position","top","left","maxHeight","overflow","right","borderRadius","testContent","paddingLeft","testTwoContent","textAlign","fontSize","marginBottom","paddingHorizontal","marginTop","retryButton","minWidth","marginHorizontal","paddingVertical","borderWidth"],"sourceRoot":"../../src","sources":["OmnipayProvider.tsx"],"mappings":"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"}
@@ -17,7 +17,7 @@ export const OmnipayProvider = _ref => {
17
17
  publicKey,
18
18
  env,
19
19
  color,
20
- analytics
20
+ analyticsConfig
21
21
  } = _ref;
22
22
  const [webviewStatus, setWebviewStatus] = useState('loading');
23
23
  const [isVisible, setIsVisible] = useState(false);
@@ -31,6 +31,7 @@ export const OmnipayProvider = _ref => {
31
31
  const isValidColor = color.length > 2;
32
32
  const onCloseRef = useRef(undefined);
33
33
  const [canUsePos, setCanUsePos] = useState(false);
34
+ const allowedEvents = React.useMemo(() => analyticsConfig !== null && analyticsConfig !== void 0 && analyticsConfig.allowedEvents && analyticsConfig.allowedEvents.length > 0 ? new Set(analyticsConfig.allowedEvents) : null, [analyticsConfig === null || analyticsConfig === void 0 ? void 0 : analyticsConfig.allowedEvents]);
34
35
  useEffect(() => {
35
36
  checkPaymentApp();
36
37
  }, []);
@@ -127,61 +128,32 @@ export const OmnipayProvider = _ref => {
127
128
  webviewRef.current.postMessage(JSON.stringify(data));
128
129
  } catch (error) {}
129
130
  }
130
- async function onWebviewMessage(e) {
131
- try {
132
- if (e.nativeEvent && e.nativeEvent.data) {
133
- const eventData = JSON.parse(e.nativeEvent.data);
134
- const {
135
- dataKey,
136
- dataValue
137
- } = eventData;
138
- if (dataKey === 'chooseContact') {
139
- const contactDetails = await getContact();
140
- postMessage({
141
- dataKey: 'contactSelected',
142
- dataValue: contactDetails
143
- });
144
- }
145
- if (dataKey === 'openLink') {
146
- Linking.openURL(dataValue);
147
- }
148
- if (dataKey === 'modalOpen') {
149
- setContainerOffset(0);
150
- }
151
- if (dataKey === 'modalClosed') {
152
- setContainerOffset(30);
153
- if (dataValue === 'closeSdk') {
154
- closeWebview();
155
- }
156
- }
157
- if (dataKey === 'closeSdk') {
158
- closeWebview();
159
- }
160
- if (dataKey === 'shareReceipt') {
161
- shareReceipt(dataValue);
162
- }
163
- if (dataKey === 'startPosTransaction') {
164
- startPosTransaction(JSON.parse(dataValue));
165
- }
166
- // Forward analytics events
167
- if (analytics !== null && analytics !== void 0 && analytics.onEvent && dataKey && typeof dataKey === 'string' && dataKey.startsWith('analytics_')) {
168
- const eventName = dataKey.replace('analytics_', '');
169
- const shouldForward = !analytics.allowedEvents || analytics.allowedEvents.length === 0 || analytics.allowedEvents.includes(eventName);
170
- if (shouldForward) {
171
- try {
172
- const payload = typeof dataValue === 'string' ? JSON.parse(dataValue) : dataValue;
173
- analytics.onEvent(eventName, payload);
174
- } catch {
175
- analytics.onEvent(eventName, {
176
- raw: dataValue
177
- });
178
- }
179
- }
180
- }
181
- }
182
- } catch (error) {}
183
- }
184
- async function shareReceipt(receiptData) {
131
+ const handleChooseContact = async () => {
132
+ const contactDetails = await getContact();
133
+ postMessage({
134
+ dataKey: 'contactSelected',
135
+ dataValue: contactDetails
136
+ });
137
+ };
138
+ const handleOpenLink = dataValue => {
139
+ if (typeof dataValue === 'string') {
140
+ Linking.openURL(dataValue);
141
+ }
142
+ };
143
+ const handleModalOpen = () => {
144
+ setContainerOffset(0);
145
+ };
146
+ const handleModalClosed = dataValue => {
147
+ setContainerOffset(30);
148
+ if (dataValue === 'closeSdk') {
149
+ closeWebview();
150
+ }
151
+ };
152
+ const handleCloseSdk = () => {
153
+ closeWebview();
154
+ };
155
+ const handleShareReceipt = async receiptData => {
156
+ if (typeof receiptData !== 'string') return;
185
157
  try {
186
158
  const {
187
159
  fileName = '',
@@ -192,7 +164,71 @@ export const OmnipayProvider = _ref => {
192
164
  filename: Platform.OS === 'android' ? fileName : `${fileName}.jpg`
193
165
  });
194
166
  } catch (error) {
195
- console.log(error);
167
+ console.log('Error sharing receipt:', error);
168
+ }
169
+ };
170
+ const handlePosTransaction = dataValue => {
171
+ if (typeof dataValue !== 'string') return;
172
+ try {
173
+ startPosTransaction(JSON.parse(dataValue));
174
+ } catch (error) {
175
+ console.warn('Error parsing POS transaction data:', error);
176
+ }
177
+ };
178
+ const handleAnalyticsEvent = dataValue => {
179
+ if (!(analyticsConfig !== null && analyticsConfig !== void 0 && analyticsConfig.onEvent)) {
180
+ return;
181
+ }
182
+ try {
183
+ const payload = typeof dataValue === 'string' ? JSON.parse(dataValue) : dataValue;
184
+ const {
185
+ eventName,
186
+ eventProperties
187
+ } = payload;
188
+ if (typeof eventName === 'string' && eventName.trim()) {
189
+ const shouldForward = !allowedEvents || allowedEvents.has(eventName);
190
+ if (shouldForward) {
191
+ analyticsConfig.onEvent(eventName, eventProperties || {});
192
+ }
193
+ } else {
194
+ console.warn('Omnipay analytics: Invalid event name', eventName);
195
+ }
196
+ } catch (error) {
197
+ console.warn('Omnipay analytics error:', error);
198
+ }
199
+ };
200
+
201
+ /**
202
+ * Maps message keys to handlers for O(1) lookup and easy extensibility.
203
+ * Add new message types here instead of chaining if statements.
204
+ */
205
+ const messageHandlers = {
206
+ chooseContact: handleChooseContact,
207
+ openLink: handleOpenLink,
208
+ modalOpen: handleModalOpen,
209
+ modalClosed: handleModalClosed,
210
+ closeSdk: handleCloseSdk,
211
+ shareReceipt: handleShareReceipt,
212
+ startPosTransaction: handlePosTransaction,
213
+ analyticsEvent: handleAnalyticsEvent
214
+ };
215
+ async function onWebviewMessage(e) {
216
+ try {
217
+ var _e$nativeEvent;
218
+ if (!((_e$nativeEvent = e.nativeEvent) !== null && _e$nativeEvent !== void 0 && _e$nativeEvent.data)) {
219
+ return;
220
+ }
221
+ const eventData = JSON.parse(e.nativeEvent.data);
222
+ const {
223
+ dataKey,
224
+ dataValue
225
+ } = eventData;
226
+ const handler = messageHandlers[dataKey];
227
+ if (handler) {
228
+ await handler(dataValue);
229
+ }
230
+ } catch (error) {
231
+ console.warn('Error handling webview message:', error);
196
232
  }
197
233
  }
198
234
  const _initiateBills = _ref3 => {
@@ -202,7 +238,7 @@ export const OmnipayProvider = _ref => {
202
238
  metadata = {}
203
239
  } = _ref3;
204
240
  if (typeof phoneNumber === 'string' && phoneNumber.length >= 10) {
205
- // Encrypt sensitive parameters
241
+ // Encrypt params to prevent exposure of sensitive data in URL/logs
206
242
  const params = {
207
243
  theme: color,
208
244
  view: 'bills',
@@ -243,7 +279,7 @@ export const OmnipayProvider = _ref => {
243
279
  promoName = '',
244
280
  metadata = {}
245
281
  } = _ref4;
246
- //prevent opening if it's already open
282
+ // Guard against race conditions when wallet is already initializing/visible
247
283
  if (visibilityRef.current) {
248
284
  return;
249
285
  }
@@ -252,7 +288,7 @@ export const OmnipayProvider = _ref => {
252
288
  const isValidUserRef = !!userRef && !!userRef.trim();
253
289
  const usesNativeShare = true;
254
290
  if (isPhoneNumberValid || isValidCustomerRef || isValidUserRef) {
255
- // Encrypt sensitive parameters
291
+ // Encrypt params to prevent exposure of PII and API keys in URL/logs
256
292
  const params = {
257
293
  theme: color,
258
294
  view: 'wallet',
@@ -318,7 +354,8 @@ export const OmnipayProvider = _ref => {
318
354
  activeOpacity: 1,
319
355
  onPress: closeWebview
320
356
  }, /*#__PURE__*/React.createElement(View, {
321
- style: [styles.container, /* eslint-disable react-native/no-inline-styles */
357
+ style: [styles.container,
358
+ // Dynamic padding based on modal state - inline style needed for animation
322
359
  {
323
360
  paddingTop: isWalletView ? 0 : containerOffset
324
361
  }]
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useRef","useState","ActivityIndicator","Linking","Platform","StyleSheet","View","Modal","ScrollView","Dimensions","TouchableOpacity","Image","TouchableWithoutFeedback","Text","NativeModules","NativeEventEmitter","WebView","getContact","Share","AsyncStorage","encryptUrlParams","OmnipayActivity","defaultValue","initiateBills","initiateWallet","OmnipayContext","createContext","OmnipayProvider","children","publicKey","env","color","analytics","webviewStatus","setWebviewStatus","isVisible","setIsVisible","webviewRef","visibilityRef","webHost","getWebHost","webviewUrl","setWebviewUrl","showWebview","includes","containerOffset","setContainerOffset","isValidEnv","isValidColor","length","onCloseRef","undefined","canUsePos","setCanUsePos","checkPaymentApp","current","eventEmitter","addListener","event","console","log","OS","isInstalled","isPackageInstalled","error","startPosTransaction","amount","purchaseType","print","rrn","stan","terminalId","result","isKeyExchanged","getItem","initiateHorizonTransaction","toLowerCase","setItem","postMessage","dataKey","dataValue","getWebviewStyle","opacity","height","width","flex","styles","webview","onWebviewMount","data","JSON","stringify","onWebviewMessage","e","nativeEvent","eventData","parse","contactDetails","openURL","closeWebview","shareReceipt","onEvent","startsWith","eventName","replace","shouldForward","allowedEvents","payload","raw","receiptData","fileName","image","open","url","filename","_initiateBills","phoneNumber","onClose","metadata","params","theme","view","encryptedPayload","webUrl","warn","_initiateWallet","customerRef","userRef","usesPaylater","usesPromo","usesAirtimeData","usesTransfer","usesBills","usesPos","promoBalanceOffset","deviceId","deviceName","hideWalletTransfer","isBvnValidationRequired","walletTab","sessionId","kycStatus","launchPage","promoName","isPhoneNumberValid","isValidCustomerRef","trim","isValidUserRef","usesNativeShare","bvnRequired","isPosEnabled","reloadWebview","reload","webviewStyle","isPropsValid","isWalletView","modal","backdrop","container","paddingTop","close","require","closeIcon","contentContainer","uri","absoluteFillObject","errorContainer","errorSubtitle","button","backgroundColor","borderColor","buttonText","webviewLoader","create","hide","display","full","get","borderTopRightRadius","borderTopLeftRadius","zIndex","alignItems","justifyContent","position","top","left","maxHeight","overflow","right","borderRadius","testContent","paddingLeft","testTwoContent","textAlign","fontSize","marginBottom","paddingHorizontal","marginTop","retryButton","minWidth","marginHorizontal","paddingVertical","borderWidth"],"sourceRoot":"../../src","sources":["OmnipayProvider.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["React","useEffect","useRef","useState","ActivityIndicator","Linking","Platform","StyleSheet","View","Modal","ScrollView","Dimensions","TouchableOpacity","Image","TouchableWithoutFeedback","Text","NativeModules","NativeEventEmitter","WebView","getContact","Share","AsyncStorage","encryptUrlParams","OmnipayActivity","defaultValue","initiateBills","initiateWallet","OmnipayContext","createContext","OmnipayProvider","children","publicKey","env","color","analyticsConfig","webviewStatus","setWebviewStatus","isVisible","setIsVisible","webviewRef","visibilityRef","webHost","getWebHost","webviewUrl","setWebviewUrl","showWebview","includes","containerOffset","setContainerOffset","isValidEnv","isValidColor","length","onCloseRef","undefined","canUsePos","setCanUsePos","allowedEvents","useMemo","Set","checkPaymentApp","current","eventEmitter","addListener","event","console","log","OS","isInstalled","isPackageInstalled","error","startPosTransaction","amount","purchaseType","print","rrn","stan","terminalId","result","isKeyExchanged","getItem","initiateHorizonTransaction","toLowerCase","setItem","postMessage","dataKey","dataValue","getWebviewStyle","opacity","height","width","flex","styles","webview","onWebviewMount","data","JSON","stringify","handleChooseContact","contactDetails","handleOpenLink","openURL","handleModalOpen","handleModalClosed","closeWebview","handleCloseSdk","handleShareReceipt","receiptData","fileName","image","parse","open","url","filename","handlePosTransaction","warn","handleAnalyticsEvent","onEvent","payload","eventName","eventProperties","trim","shouldForward","has","messageHandlers","chooseContact","openLink","modalOpen","modalClosed","closeSdk","shareReceipt","analyticsEvent","onWebviewMessage","e","nativeEvent","eventData","handler","_initiateBills","phoneNumber","onClose","metadata","params","theme","view","encryptedPayload","webUrl","_initiateWallet","customerRef","userRef","usesPaylater","usesPromo","usesAirtimeData","usesTransfer","usesBills","usesPos","promoBalanceOffset","deviceId","deviceName","hideWalletTransfer","isBvnValidationRequired","walletTab","sessionId","kycStatus","launchPage","promoName","isPhoneNumberValid","isValidCustomerRef","isValidUserRef","usesNativeShare","bvnRequired","isPosEnabled","reloadWebview","reload","webviewStyle","isPropsValid","isWalletView","modal","backdrop","container","paddingTop","close","require","closeIcon","contentContainer","uri","absoluteFillObject","errorContainer","errorSubtitle","button","backgroundColor","borderColor","buttonText","webviewLoader","create","hide","display","full","get","borderTopRightRadius","borderTopLeftRadius","zIndex","alignItems","justifyContent","position","top","left","maxHeight","overflow","right","borderRadius","testContent","paddingLeft","testTwoContent","textAlign","fontSize","marginBottom","paddingHorizontal","marginTop","retryButton","minWidth","marginHorizontal","paddingVertical","borderWidth"],"sourceRoot":"../../src","sources":["OmnipayProvider.tsx"],"mappings":"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"}
@@ -4,7 +4,7 @@ declare type AnalyticsConfig = {
4
4
  * Callback to send analytics events back to the parent app.
5
5
  * Receives the event name and optional payload.
6
6
  */
7
- onEvent?: (eventName: string, payload?: Record<string, any>) => void;
7
+ onEvent: (eventName: string, payload?: Record<string, unknown>) => void;
8
8
  /**
9
9
  * Optional whitelist of events to forward.
10
10
  * If omitted or empty, all events will be forwarded.
@@ -16,7 +16,7 @@ declare type OmnipayProviderProps = {
16
16
  env: 'dev' | 'prod';
17
17
  color: string;
18
18
  children: React.ReactElement | React.ReactElement[];
19
- analytics?: AnalyticsConfig;
19
+ analyticsConfig?: AnalyticsConfig;
20
20
  };
21
21
  declare type InitiateBillsType = {
22
22
  phoneNumber: string;
@@ -51,6 +51,6 @@ export declare type OmnipayContextType = {
51
51
  initiateWallet: ({ phoneNumber, customerRef, userRef, onClose, usesPaylater, usesPromo, usesAirtimeData, usesTransfer, usesBills, usesPos, promoBalanceOffset, deviceId, deviceName, hideWalletTransfer, isBvnValidationRequired, walletTab, sessionId, launchPage, kycStatus, promoName, metadata, }: InitiateWalletType) => void;
52
52
  };
53
53
  export declare const OmnipayContext: React.Context<OmnipayContextType | null>;
54
- export declare const OmnipayProvider: ({ children, publicKey, env, color, analytics, }: OmnipayProviderProps) => JSX.Element;
54
+ export declare const OmnipayProvider: ({ children, publicKey, env, color, analyticsConfig, }: OmnipayProviderProps) => JSX.Element;
55
55
  export {};
56
56
  //# sourceMappingURL=OmnipayProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OmnipayProvider.d.ts","sourceRoot":"","sources":["../../../src/components/OmnipayProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAyB3D,aAAK,eAAe,GAAG;IACrB;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;IACrE;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AAEF,aAAK,oBAAoB,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,KAAK,GAAG,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;IACpD,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B,CAAC;AAkBF,aAAK,iBAAiB,GAAG;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;CACtD,CAAC;AAEF,aAAK,kBAAkB,GAAG;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,SAAS,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;CACtD,CAAC;AAEF,oBAAY,kBAAkB,GAAG;IAC/B,aAAa,EAAE,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACrE,cAAc,EAAE,CAAC,EACf,WAAW,EACX,WAAW,EACX,OAAO,EACP,OAAO,EACP,YAAY,EACZ,SAAS,EACT,eAAe,EACf,YAAY,EACZ,SAAS,EACT,OAAO,EACP,kBAAkB,EAClB,QAAQ,EACR,UAAU,EACV,kBAAkB,EAClB,uBAAuB,EACvB,SAAS,EACT,SAAS,EACT,UAAU,EACV,SAAS,EACT,SAAS,EACT,QAAQ,GACT,EAAE,kBAAkB,KAAK,IAAI,CAAC;CAChC,CAAC;AAOF,eAAO,MAAM,cAAc,0CAE1B,CAAC;AAEF,eAAO,MAAM,eAAe,oDAMzB,oBAAoB,gBAkatB,CAAC"}
1
+ {"version":3,"file":"OmnipayProvider.d.ts","sourceRoot":"","sources":["../../../src/components/OmnipayProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAyB3D,aAAK,eAAe,GAAG;IACrB;;;OAGG;IACH,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACxE;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AAEF,aAAK,oBAAoB,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,KAAK,GAAG,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;IACpD,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC,CAAC;AAyBF,aAAK,iBAAiB,GAAG;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;CACtD,CAAC;AAEF,aAAK,kBAAkB,GAAG;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,SAAS,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;CACtD,CAAC;AAEF,oBAAY,kBAAkB,GAAG;IAC/B,aAAa,EAAE,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACrE,cAAc,EAAE,CAAC,EACf,WAAW,EACX,WAAW,EACX,OAAO,EACP,OAAO,EACP,YAAY,EACZ,SAAS,EACT,eAAe,EACf,YAAY,EACZ,SAAS,EACT,OAAO,EACP,kBAAkB,EAClB,QAAQ,EACR,UAAU,EACV,kBAAkB,EAClB,uBAAuB,EACvB,SAAS,EACT,SAAS,EACT,UAAU,EACV,SAAS,EACT,SAAS,EACT,QAAQ,GACT,EAAE,kBAAkB,KAAK,IAAI,CAAC;CAChC,CAAC;AAOF,eAAO,MAAM,cAAc,0CAE1B,CAAC;AAEF,eAAO,MAAM,eAAe,0DAMzB,oBAAoB,gBA8ctB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "omnipay-reactnative-sdk",
3
- "version": "1.3.3",
3
+ "version": "1.3.5",
4
4
  "description": "Omnipay react native sdk",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -28,7 +28,7 @@ type AnalyticsConfig = {
28
28
  * Callback to send analytics events back to the parent app.
29
29
  * Receives the event name and optional payload.
30
30
  */
31
- onEvent?: (eventName: string, payload?: Record<string, any>) => void;
31
+ onEvent: (eventName: string, payload?: Record<string, unknown>) => void;
32
32
  /**
33
33
  * Optional whitelist of events to forward.
34
34
  * If omitted or empty, all events will be forwarded.
@@ -41,7 +41,7 @@ type OmnipayProviderProps = {
41
41
  env: 'dev' | 'prod';
42
42
  color: string;
43
43
  children: React.ReactElement | React.ReactElement[];
44
- analytics?: AnalyticsConfig;
44
+ analyticsConfig?: AnalyticsConfig;
45
45
  };
46
46
 
47
47
  type PosTransactionType = {
@@ -58,6 +58,13 @@ type PostMessage = {
58
58
  [key: string]: unknown;
59
59
  };
60
60
 
61
+ type WebviewMessageData = {
62
+ dataKey: string;
63
+ dataValue: unknown;
64
+ };
65
+
66
+ type MessageHandler = (dataValue: unknown) => void | Promise<void>;
67
+
61
68
  type Status = 'error' | 'loading' | 'success';
62
69
 
63
70
  type InitiateBillsType = {
@@ -131,7 +138,7 @@ export const OmnipayProvider = ({
131
138
  publicKey,
132
139
  env,
133
140
  color,
134
- analytics,
141
+ analyticsConfig,
135
142
  }: OmnipayProviderProps) => {
136
143
  const [webviewStatus, setWebviewStatus] = useState<Status>('loading');
137
144
  const [isVisible, setIsVisible] = useState(false);
@@ -146,6 +153,14 @@ export const OmnipayProvider = ({
146
153
  const onCloseRef = useRef<(() => void) | undefined>(undefined);
147
154
  const [canUsePos, setCanUsePos] = useState(false);
148
155
 
156
+ const allowedEvents = React.useMemo(
157
+ () =>
158
+ analyticsConfig?.allowedEvents && analyticsConfig.allowedEvents.length > 0
159
+ ? new Set(analyticsConfig.allowedEvents)
160
+ : null,
161
+ [analyticsConfig?.allowedEvents]
162
+ );
163
+
149
164
  useEffect(() => {
150
165
  checkPaymentApp();
151
166
  }, []);
@@ -268,70 +283,38 @@ export const OmnipayProvider = ({
268
283
  } catch (error) {}
269
284
  }
270
285
 
271
- async function onWebviewMessage(e: WebViewMessageEvent) {
272
- try {
273
- if (e.nativeEvent && e.nativeEvent.data) {
274
- const eventData = JSON.parse(e.nativeEvent.data);
275
- const { dataKey, dataValue } = eventData;
276
- if (dataKey === 'chooseContact') {
277
- const contactDetails = await getContact();
278
- postMessage({
279
- dataKey: 'contactSelected',
280
- dataValue: contactDetails,
281
- });
282
- }
286
+ const handleChooseContact = async () => {
287
+ const contactDetails = await getContact();
288
+ postMessage({
289
+ dataKey: 'contactSelected',
290
+ dataValue: contactDetails,
291
+ });
292
+ };
283
293
 
284
- if (dataKey === 'openLink') {
285
- Linking.openURL(dataValue);
286
- }
287
- if (dataKey === 'modalOpen') {
288
- setContainerOffset(0);
289
- }
290
- if (dataKey === 'modalClosed') {
291
- setContainerOffset(30);
292
- if (dataValue === 'closeSdk') {
293
- closeWebview();
294
- }
295
- }
296
- if (dataKey === 'closeSdk') {
297
- closeWebview();
298
- }
299
- if (dataKey === 'shareReceipt') {
300
- shareReceipt(dataValue);
301
- }
302
- if (dataKey === 'startPosTransaction') {
303
- startPosTransaction(JSON.parse(dataValue));
304
- }
305
- // Forward analytics events
306
- if (
307
- analytics?.onEvent &&
308
- dataKey &&
309
- typeof dataKey === 'string' &&
310
- dataKey.startsWith('analytics_')
311
- ) {
312
- const eventName = dataKey.replace('analytics_', '');
313
- const shouldForward =
314
- !analytics.allowedEvents ||
315
- analytics.allowedEvents.length === 0 ||
316
- analytics.allowedEvents.includes(eventName);
317
-
318
- if (shouldForward) {
319
- try {
320
- const payload =
321
- typeof dataValue === 'string'
322
- ? JSON.parse(dataValue)
323
- : dataValue;
324
- analytics.onEvent(eventName, payload);
325
- } catch {
326
- analytics.onEvent(eventName, { raw: dataValue });
327
- }
328
- }
329
- }
330
- }
331
- } catch (error) {}
332
- }
294
+ const handleOpenLink = (dataValue: unknown) => {
295
+ if (typeof dataValue === 'string') {
296
+ Linking.openURL(dataValue);
297
+ }
298
+ };
299
+
300
+ const handleModalOpen = () => {
301
+ setContainerOffset(0);
302
+ };
303
+
304
+ const handleModalClosed = (dataValue: unknown) => {
305
+ setContainerOffset(30);
306
+ if (dataValue === 'closeSdk') {
307
+ closeWebview();
308
+ }
309
+ };
310
+
311
+ const handleCloseSdk = () => {
312
+ closeWebview();
313
+ };
314
+
315
+ const handleShareReceipt = async (receiptData: unknown) => {
316
+ if (typeof receiptData !== 'string') return;
333
317
 
334
- async function shareReceipt(receiptData: string) {
335
318
  try {
336
319
  const { fileName = '', image = '' } = JSON.parse(receiptData);
337
320
  await Share.open({
@@ -339,7 +322,75 @@ export const OmnipayProvider = ({
339
322
  filename: Platform.OS === 'android' ? fileName : `${fileName}.jpg`,
340
323
  });
341
324
  } catch (error) {
342
- console.log(error);
325
+ console.log('Error sharing receipt:', error);
326
+ }
327
+ };
328
+
329
+ const handlePosTransaction = (dataValue: unknown) => {
330
+ if (typeof dataValue !== 'string') return;
331
+
332
+ try {
333
+ startPosTransaction(JSON.parse(dataValue));
334
+ } catch (error) {
335
+ console.warn('Error parsing POS transaction data:', error);
336
+ }
337
+ };
338
+
339
+ const handleAnalyticsEvent = (dataValue: unknown) => {
340
+ if (!analyticsConfig?.onEvent) {
341
+ return;
342
+ }
343
+
344
+ try {
345
+ const payload =
346
+ typeof dataValue === 'string' ? JSON.parse(dataValue) : dataValue;
347
+
348
+ const { eventName, eventProperties } = payload;
349
+
350
+ if (typeof eventName === 'string' && eventName.trim()) {
351
+ const shouldForward = !allowedEvents || allowedEvents.has(eventName);
352
+
353
+ if (shouldForward) {
354
+ analyticsConfig.onEvent(eventName, eventProperties || {});
355
+ }
356
+ } else {
357
+ console.warn('Omnipay analytics: Invalid event name', eventName);
358
+ }
359
+ } catch (error) {
360
+ console.warn('Omnipay analytics error:', error);
361
+ }
362
+ };
363
+
364
+ /**
365
+ * Maps message keys to handlers for O(1) lookup and easy extensibility.
366
+ * Add new message types here instead of chaining if statements.
367
+ */
368
+ const messageHandlers: Record<string, MessageHandler> = {
369
+ chooseContact: handleChooseContact,
370
+ openLink: handleOpenLink,
371
+ modalOpen: handleModalOpen,
372
+ modalClosed: handleModalClosed,
373
+ closeSdk: handleCloseSdk,
374
+ shareReceipt: handleShareReceipt,
375
+ startPosTransaction: handlePosTransaction,
376
+ analyticsEvent: handleAnalyticsEvent,
377
+ };
378
+
379
+ async function onWebviewMessage(e: WebViewMessageEvent) {
380
+ try {
381
+ if (!e.nativeEvent?.data) {
382
+ return;
383
+ }
384
+
385
+ const eventData: WebviewMessageData = JSON.parse(e.nativeEvent.data);
386
+ const { dataKey, dataValue } = eventData;
387
+
388
+ const handler = messageHandlers[dataKey];
389
+ if (handler) {
390
+ await handler(dataValue);
391
+ }
392
+ } catch (error) {
393
+ console.warn('Error handling webview message:', error);
343
394
  }
344
395
  }
345
396
 
@@ -349,7 +400,7 @@ export const OmnipayProvider = ({
349
400
  metadata = {},
350
401
  }: InitiateBillsType) => {
351
402
  if (typeof phoneNumber === 'string' && phoneNumber.length >= 10) {
352
- // Encrypt sensitive parameters
403
+ // Encrypt params to prevent exposure of sensitive data in URL/logs
353
404
  const params = {
354
405
  theme: color,
355
406
  view: 'bills',
@@ -390,7 +441,7 @@ export const OmnipayProvider = ({
390
441
  promoName = '',
391
442
  metadata = {},
392
443
  }: InitiateWalletType) => {
393
- //prevent opening if it's already open
444
+ // Guard against race conditions when wallet is already initializing/visible
394
445
  if (visibilityRef.current) {
395
446
  return;
396
447
  }
@@ -400,7 +451,7 @@ export const OmnipayProvider = ({
400
451
  const usesNativeShare = true;
401
452
 
402
453
  if (isPhoneNumberValid || isValidCustomerRef || isValidUserRef) {
403
- // Encrypt sensitive parameters
454
+ // Encrypt params to prevent exposure of PII and API keys in URL/logs
404
455
  const params = {
405
456
  theme: color,
406
457
  view: 'wallet',
@@ -472,7 +523,7 @@ export const OmnipayProvider = ({
472
523
  <View
473
524
  style={[
474
525
  styles.container,
475
- /* eslint-disable react-native/no-inline-styles */
526
+ // Dynamic padding based on modal state - inline style needed for animation
476
527
  { paddingTop: isWalletView ? 0 : containerOffset },
477
528
  ]}
478
529
  >