react-native-fpay 0.4.20 → 0.4.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/lib/module/FountainPayProvider.js +55 -128
  2. package/lib/module/FountainPayProvider.js.map +1 -1
  3. package/lib/module/core/api/client.js +1 -1
  4. package/lib/module/core/api/index.js +16 -13
  5. package/lib/module/core/api/index.js.map +1 -1
  6. package/lib/module/core/types/index.js +1 -1
  7. package/lib/module/core/types/index.js.map +1 -1
  8. package/lib/module/engine/FPEngine.js +27 -17
  9. package/lib/module/engine/FPEngine.js.map +1 -1
  10. package/lib/module/store/FPStore.js +11 -4
  11. package/lib/module/store/FPStore.js.map +1 -1
  12. package/lib/module/ui/components/ConfirmScreen.js +2 -2
  13. package/lib/module/ui/components/ConfirmScreen.js.map +1 -1
  14. package/lib/module/ui/modals/FPCreatePin.js +234 -0
  15. package/lib/module/ui/modals/FPCreatePin.js.map +1 -0
  16. package/lib/module/ui/modals/FPShell.js +7 -3
  17. package/lib/module/ui/modals/FPShell.js.map +1 -1
  18. package/lib/module/ui/modals/FPValidateBvn.js +258 -0
  19. package/lib/module/ui/modals/FPValidateBvn.js.map +1 -0
  20. package/lib/module/ui/screens/ResultScreen.js +4 -17
  21. package/lib/module/ui/screens/ResultScreen.js.map +1 -1
  22. package/lib/module/ui/screens/SendScreen.js +24 -9
  23. package/lib/module/ui/screens/SendScreen.js.map +1 -1
  24. package/lib/module/ui/screens/sub/sendPayment/ProximitySubScreen.js +3 -3
  25. package/lib/module/ui/screens/sub/sendPayment/ProximitySubScreen.js.map +1 -1
  26. package/lib/module/ui/screens/sub/sendPayment/TransferSubScreen.js +8 -1
  27. package/lib/module/ui/screens/sub/sendPayment/TransferSubScreen.js.map +1 -1
  28. package/lib/typescript/src/FountainPayProvider.d.ts +3 -4
  29. package/lib/typescript/src/FountainPayProvider.d.ts.map +1 -1
  30. package/lib/typescript/src/core/api/index.d.ts +20 -21
  31. package/lib/typescript/src/core/api/index.d.ts.map +1 -1
  32. package/lib/typescript/src/core/types/index.d.ts +16 -6
  33. package/lib/typescript/src/core/types/index.d.ts.map +1 -1
  34. package/lib/typescript/src/engine/FPEngine.d.ts +3 -0
  35. package/lib/typescript/src/engine/FPEngine.d.ts.map +1 -1
  36. package/lib/typescript/src/store/FPStore.d.ts +8 -5
  37. package/lib/typescript/src/store/FPStore.d.ts.map +1 -1
  38. package/lib/typescript/src/ui/components/ConfirmScreen.d.ts +1 -2
  39. package/lib/typescript/src/ui/components/ConfirmScreen.d.ts.map +1 -1
  40. package/lib/typescript/src/ui/modals/FPCreatePin.d.ts +3 -0
  41. package/lib/typescript/src/ui/modals/FPCreatePin.d.ts.map +1 -0
  42. package/lib/typescript/src/ui/modals/FPShell.d.ts.map +1 -1
  43. package/lib/typescript/src/ui/modals/FPValidateBvn.d.ts +3 -0
  44. package/lib/typescript/src/ui/modals/FPValidateBvn.d.ts.map +1 -0
  45. package/lib/typescript/src/ui/screens/ResultScreen.d.ts.map +1 -1
  46. package/lib/typescript/src/ui/screens/SendScreen.d.ts.map +1 -1
  47. package/lib/typescript/src/ui/screens/sub/sendPayment/TransferSubScreen.d.ts.map +1 -1
  48. package/package.json +1 -1
  49. package/src/FountainPayProvider.tsx +63 -151
  50. package/src/core/api/client.ts +1 -1
  51. package/src/core/api/index.ts +54 -54
  52. package/src/core/types/index.ts +18 -5
  53. package/src/engine/FPEngine.ts +33 -20
  54. package/src/store/FPStore.ts +15 -8
  55. package/src/ui/components/ConfirmScreen.tsx +4 -3
  56. package/src/ui/modals/FPCreatePin.tsx +206 -0
  57. package/src/ui/modals/FPShell.tsx +16 -2
  58. package/src/ui/modals/FPValidateBvn.tsx +229 -0
  59. package/src/ui/screens/ResultScreen.tsx +6 -10
  60. package/src/ui/screens/SendScreen.tsx +60 -36
  61. package/src/ui/screens/sub/sendPayment/ProximitySubScreen.tsx +3 -3
  62. package/src/ui/screens/sub/sendPayment/TransferSubScreen.tsx +7 -1
@@ -8,16 +8,16 @@
8
8
  // the SAME instance — no re-initialization, no prop drilling.
9
9
  //
10
10
  // Usage:
11
- // <FountainPayProvider apiKey="fp_live_...">
11
+ // <FountainPayProvider appId="...">
12
12
  // <YourApp />
13
13
  // </FountainPayProvider>
14
14
  // ─────────────────────────────────────────────────────────────────────────────
15
15
  import { createContext, useContext, useEffect, useMemo, useRef } from 'react';
16
16
  import { FPShell } from "./ui/modals/FPShell.js";
17
- import { useFPStore, getFPStore, isTokenValid } from "./store/FPStore.js";
17
+ import { useFPStore, getFPStore } from "./store/FPStore.js";
18
18
  import { FPEngine } from "./engine/FPEngine.js";
19
19
  import { initClient } from "./core/api/client.js";
20
- import { authenticateAPI, transferAPI } from "./core/api/index.js";
20
+ import { accountAPI, authenticateAPI, transferAPI } from "./core/api/index.js";
21
21
 
22
22
  // ── Context ───────────────────────────────────────────────────────────────────
23
23
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
@@ -37,16 +37,14 @@ const FountainPayContext = /*#__PURE__*/createContext(null);
37
37
  export function useFountainPay() {
38
38
  const instance = useContext(FountainPayContext);
39
39
  if (!instance) {
40
- throw new Error('[FountainPay] useFountainPay() must be called inside <FountainPayProvider>.\n' + 'Make sure you have wrapped your app root with <FountainPayProvider apiKey="...">.');
40
+ throw new Error('[FountainPay] useFountainPay() must be called inside <FountainPayProvider>.\n' + 'Make sure you have wrapped your app root with <FountainPayProvider appId="...">.');
41
41
  }
42
42
  return instance;
43
43
  }
44
-
45
44
  // ── Provider ──────────────────────────────────────────────────────────────────
46
45
 
47
46
  export function FountainPayProvider({
48
- apiKey,
49
- accessToken,
47
+ appId,
50
48
  options,
51
49
  children,
52
50
  onAuthReady,
@@ -61,20 +59,16 @@ export function FountainPayProvider({
61
59
  const account = useFPStore(s => s.account);
62
60
  const user = useFPStore(s => s.user);
63
61
  const balance = useFPStore(s => s.balance);
64
- // const resetToken = useFPStore((s) => s.clearAccessToken);
65
- // const clearUser = useFPStore((s) => s.clearUser);
66
-
62
+ const resetToken = useFPStore(s => s.clearAccessToken);
63
+ const clearUser = useFPStore(s => s.clearUser);
67
64
  useEffect(() => {
68
65
  let cancelled = false;
69
66
 
70
67
  // Make sure client is initialized before any API call
71
68
  console.log('[FountainPay] Provider mounted. HTTP client ready.', options);
72
69
  if (!clientBooted.current) {
73
- if (options?.userType === 'AGENT' && accessToken) {
74
- getFPStore().setAccessToken(accessToken);
75
- }
76
- if (apiKey) {
77
- getFPStore().setApiKey(apiKey); // ← store it
70
+ if (appId) {
71
+ getFPStore().setAppId(appId); // ← store it
78
72
  }
79
73
  initClient({
80
74
  baseUrl: options?.baseUrl,
@@ -85,95 +79,52 @@ export function FountainPayProvider({
85
79
  const authenticate = async () => {
86
80
  // await resetToken();
87
81
  // await clearUser();
88
- const userType = options?.userType ?? 'USER';
89
-
90
- // ── AGENT mode ────────────────────────────────────────
91
- if (userType === 'AGENT') {
92
- if (!accessToken) {
93
- onAuthError?.('accessToken is required for AGENT mode');
94
- return;
95
- }
96
- try {
97
- console.log('[FountainPay] Agent mode — validating token...');
98
-
99
- // Store the token first so the HTTP interceptor picks it up
100
- getFPStore().setAccessToken(accessToken);
101
-
102
- // Fetch agent profile from backend
103
- const response = await authenticateAPI.validateToken();
104
- if (cancelled) return;
105
- if (response.status) {
106
- const agent = response.payload;
107
-
108
- // Build FPUserInfo from agent model
109
- const user = {
110
- firstName: agent.firstName,
111
- lastName: agent.lastName,
112
- email: agent.email,
113
- phone: agent.phone ?? '',
114
- bvn: agent.bvn,
115
- userId: agent.id
116
- };
117
-
118
- // Build FPAccount from agent model
119
- const account = {
120
- id: agent.id,
121
- firstName: agent.firstName,
122
- lastName: agent.lastName,
123
- phone: agent.phone,
124
- accountName: `${agent.firstName} ${agent.lastName}`.toUpperCase(),
125
- accountNumber: agent.accountNumber,
126
- bankName: agent.bankName,
127
- bankCode: agent.bankCode // populate if backend returns it
128
- };
129
-
130
- // Store everything — no need to call _resolveAccount
131
- getFPStore().setUser(user);
132
- getFPStore().setPsspId(agent.id);
133
- getFPStore().setAccount(account);
134
- await getFPStore().setAccessToken(accessToken, 86400);
135
- const banks = await transferAPI.getBanks();
136
- if (banks.status) {
137
- getFPStore().setBanks(banks.payload);
138
- console.log('[FountainPay] Banks cached:', banks.payload.length);
139
- }
140
- setAuthenticated(true);
141
- console.log('[FountainPay] Agent validated:', agent.firstName, agent.lastName);
142
- onAuthReady?.();
143
- } else {
144
- getFPStore().clearAccessToken();
145
- setAuthenticated(false, response.message);
146
- onAuthError?.(response.message);
147
- }
148
- } catch (err) {
149
- if (cancelled) return;
150
- getFPStore().clearAccessToken();
151
- setAuthenticated(false, err.message);
152
- onAuthError?.(err.message);
153
- }
154
- return; // ← don't fall through to PSSP auth
155
- }
156
- if (isTokenValid()) {
157
- console.log('[FountainPay] Valid token found — skipping auth.');
158
- setAuthenticated(true);
159
- onAuthReady?.();
82
+ if (!appId) {
83
+ console.log('[FountainPay] No appId — new user flow. Waiting for initializeSDK.');
84
+ // Boot client without token — initializeSDK will handle everything
85
+ setAuthenticated(false);
86
+ onAuthReady?.(null);
160
87
  return;
161
88
  }
162
89
  try {
163
90
  console.log('[FountainPay] Verifying API key...');
164
- const response = await authenticateAPI.login(apiKey || "");
91
+ const response = await authenticateAPI.login(appId);
165
92
  if (cancelled) return;
166
93
  if (response.status) {
167
94
  console.log('[FountainPay] Auth successful.');
168
- if (response.payload?.access_token) {
169
- getFPStore().setAccessToken(response.payload.access_token, response.payload.expires_in);
95
+ const {
96
+ access_token,
97
+ expires_in
98
+ } = response.payload;
99
+
100
+ // Store token
101
+ getFPStore().setAccessToken(access_token, expires_in ?? 86400);
102
+ const agentDetails = await authenticateAPI.profile();
103
+ if (agentDetails.status) {}
104
+
105
+ // Build and store user
106
+ const user = agentDetails;
107
+ getFPStore().setUser(user);
108
+ getFPStore().setPsspId(agentDetails.uuid);
109
+ const agentAccount = await accountAPI.getAccount();
110
+ // Build and store account
111
+ const account = {
112
+ id: agentAccount.uuid,
113
+ ownerId: agentAccount.ownerId,
114
+ ownerType: agentAccount.ownerType,
115
+ accountName: agentAccount.accountName,
116
+ accountNumber: agentAccount.accountNumber,
117
+ bankName: agentAccount.bankName,
118
+ bankCode: agentAccount.bankCode,
119
+ currency: agentAccount.currency
120
+ };
121
+ getFPStore().setAccount(account);
122
+ try {
170
123
  const banks = await transferAPI.getBanks();
171
- if (banks.status) {
172
- getFPStore().setBanks(banks.payload);
173
- }
174
- }
124
+ if (banks.status) getFPStore().setBanks(banks.payload);
125
+ } catch {/* non-fatal */}
175
126
  setAuthenticated(true);
176
- onAuthReady?.();
127
+ onAuthReady?.(account);
177
128
  } else {
178
129
  console.error('[FountainPay] Auth failed:', response.message);
179
130
  setAuthenticated(false, response.message);
@@ -186,45 +137,21 @@ export function FountainPayProvider({
186
137
  onAuthError?.(err.message);
187
138
  }
188
139
  };
189
- console.log('Calling authentication');
140
+ console.log('Calling authentication with appId:', appId);
190
141
  authenticate();
191
142
  return () => {
192
143
  cancelled = true;
193
144
  };
194
- }, [apiKey, accessToken]);
195
- useEffect(() => {
196
- if (options?.userType !== 'AGENT') return;
197
- if (!isAuthenticated) return;
198
- const autoInitialize = async () => {
199
- const store = getFPStore();
200
- if (!store.user || !store.account) return;
201
- console.log('[FountainPay] Agent mode — auto-initializing from stored data...');
202
- await FPEngine.initialize(store.user, options ?? {}, {} // empty callbacks — host app sets these via initializeSDK if they want
203
- );
204
- console.log('[FountainPay] Agent auto-initialized.');
205
- };
206
- autoInitialize();
207
- }, [isAuthenticated, options?.userType]);
208
-
209
- // Build the instance once per provider lifetime.
210
- // All components that call useFountainPay() share this exact object.
145
+ }, [appId]);
211
146
  const instance = useMemo(() => {
212
- console.log('[FountainPay] Creating shared FPInstance for apiKey:', apiKey?.toString().slice(0, 8) + '...');
147
+ console.log('[FountainPay] Creating shared FPInstance for appId:', appId?.toString().slice(0, 8) + '...');
213
148
  return {
214
- /**
215
- * Call once after the user logs in.
216
- * Starts BLE advertising, proximity broadcast, and the payment listener.
217
- */
218
- async initializeSDK(user, callbacks) {
219
- console.log('[FountainPay] initializeSDK() called for user:', user.firstName);
220
- if (options?.userType === 'AGENT') {
221
- if (callbacks) {
222
- FPEngine.updateCallbacks(callbacks); // just register callbacks
223
- }
224
- console.log('[FountainPay] Agent already initialized — callbacks updated.');
225
- return;
226
- }
149
+ async initializeSDK(userObj, callbacks) {
150
+ console.log('[FountainPay] initializeSDK() called for user:', user?.firstName);
227
151
  try {
152
+ if (!userObj) {
153
+ userObj = user;
154
+ }
228
155
  await FPEngine.initialize(user, options ?? {}, {
229
156
  ...callbacks,
230
157
  onPaymentSent: async tx => {
@@ -306,7 +233,7 @@ export function FountainPayProvider({
306
233
  return balance;
307
234
  }
308
235
  };
309
- }, [apiKey, isAuthenticated, authError, account, user, balance]);
236
+ }, [appId, isAuthenticated, authError, account, user, balance]);
310
237
  return /*#__PURE__*/_jsxs(FountainPayContext.Provider, {
311
238
  value: instance,
312
239
  children: [children, /*#__PURE__*/_jsx(FPShell, {})]
@@ -1 +1 @@
1
- {"version":3,"names":["createContext","useContext","useEffect","useMemo","useRef","FPShell","useFPStore","getFPStore","isTokenValid","FPEngine","initClient","authenticateAPI","transferAPI","jsx","_jsx","jsxs","_jsxs","FountainPayContext","useFountainPay","instance","Error","FountainPayProvider","apiKey","accessToken","options","children","onAuthReady","onAuthError","clientBooted","isAuthenticated","s","authError","setAuthenticated","account","user","balance","cancelled","console","log","current","userType","setAccessToken","setApiKey","baseUrl","environment","authenticate","response","validateToken","status","agent","payload","firstName","lastName","email","phone","bvn","userId","id","accountName","toUpperCase","accountNumber","bankName","bankCode","setUser","setPsspId","setAccount","banks","getBanks","setBanks","length","clearAccessToken","message","err","login","access_token","expires_in","error","autoInitialize","store","initialize","toString","slice","initializeSDK","callbacks","updateCallbacks","onPaymentSent","tx","refreshBalance","onError","setAccountDetails","send","amount","currency","balancePayload","Number","getCallbacks","code","showSend","receive","showReceive","generateAccountNumber","generateAccount","listen","startListening","destroy","isReady","currentUser","Provider","value"],"sourceRoot":"../../src","sources":["FountainPayProvider.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createContext","useContext","useEffect","useMemo","useRef","FPShell","useFPStore","getFPStore","FPEngine","initClient","accountAPI","authenticateAPI","transferAPI","jsx","_jsx","jsxs","_jsxs","FountainPayContext","useFountainPay","instance","Error","FountainPayProvider","appId","options","children","onAuthReady","onAuthError","clientBooted","isAuthenticated","s","authError","setAuthenticated","account","user","balance","resetToken","clearAccessToken","clearUser","cancelled","console","log","current","setAppId","baseUrl","environment","authenticate","response","login","status","access_token","expires_in","payload","setAccessToken","agentDetails","profile","setUser","setPsspId","uuid","agentAccount","getAccount","id","ownerId","ownerType","accountName","accountNumber","bankName","bankCode","currency","setAccount","banks","getBanks","setBanks","error","message","err","toString","slice","initializeSDK","userObj","callbacks","firstName","initialize","onPaymentSent","tx","refreshBalance","onError","setAccountDetails","send","amount","balancePayload","Number","getCallbacks","code","showSend","receive","showReceive","generateAccountNumber","generateAccount","listen","startListening","destroy","isReady","currentUser","Provider","value"],"sourceRoot":"../../src","sources":["FountainPayProvider.tsx"],"mappings":"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","ignoreList":[]}
@@ -6,7 +6,7 @@
6
6
 
7
7
  import axios from 'axios';
8
8
  import { getFPStore } from "../../store/FPStore.js";
9
- const DEFAULT_BASE_URL = 'https://kenisha-happiest-nan.ngrok-free.dev/modal/sdk/v1/fpip/';
9
+ const DEFAULT_BASE_URL = 'https://kenisha-happiest-nan.ngrok-free.dev/modal/sdk/v1/fpay/';
10
10
  let _client = null;
11
11
  let _isRefreshing = false;
12
12
  let _retryQueue = [];
@@ -2,23 +2,29 @@
2
2
 
3
3
  // FountainPay SDK — All API calls
4
4
  import { http } from "./client.js";
5
+ import { BUSINESSID } from "../types/index.js";
5
6
  export const healthAPI = {
6
7
  ping: () => http().get('/health').then(r => r.data)
7
8
  };
8
9
  export const authenticateAPI = {
9
- login: apiKey => http().post('/auth', {
10
- api_key: apiKey
10
+ login: appId => http().post('/auth', {
11
+ user_id: appId
11
12
  }).then(r => r.data),
12
- profile: userId => http().get(`/get-user-details/${userId}`).then(r => r.data),
13
+ profile: () => http().get(`/get-user-details`).then(r => r.data.payload),
13
14
  logout: () => http().post('/auth/logout').then(r => r.data),
14
15
  validateOtp: (otp, email) => http().post('/verify-otp', {
15
16
  otp,
16
17
  email
17
18
  }).then(r => r.data),
18
- validateToken: () => http().get('/auth/agent/validate-token').then(r => r.data)
19
+ validateToken: () => http().get('/auth/agent/validate-token').then(r => r.data),
20
+ sendSmsOtp: async payload => http().post("shared/send-sms-otp", payload).then(r => r.data),
21
+ verifyBvn: async () => http().get("verify-bvn").then(r => r.data),
22
+ verifySms: async payload => http().post("verify-bvn", payload).then(r => r.data),
23
+ updateProfile: async payload => http().put("update-user-agent", payload).then(r => r.data)
19
24
  };
20
25
  export const accountAPI = {
21
- generate: user => http().post('/generate-virtual-account', {
26
+ generate: user => http().post('/auth/create-agent', {
27
+ business_id: BUSINESSID,
22
28
  first_name: user.firstName,
23
29
  last_name: user.lastName,
24
30
  phone_no: user.phone,
@@ -27,13 +33,9 @@ export const accountAPI = {
27
33
  nin: user.nin ?? '',
28
34
  dateOfBirth: user.dateOfBirth ?? ''
29
35
  }).then(r => r.data.payload),
30
- // Get user profile using PSSP id
31
- getUser: psspId => http().get(`/get-user-details/${psspId}`).then(r => r.data.payload),
32
36
  // Get account details using PSSP id
33
- getAccount: psspId => http().get(`/get-accounts-details/${psspId}`).then(r => r.data.payload),
34
- getAgentBalance: psspId => http().get(`/get-agent-balance/${psspId}`).then(r => r.data.payload),
35
- // Get balance using PSSP id
36
- getBalance: psspId => http().get(`/get-balance/${psspId}`).then(r => r.data.payload)
37
+ getAccount: () => http().get(`/get-accounts-details`).then(r => r.data.payload),
38
+ getAgentBalance: () => http().get(`/get-balance`).then(r => r.data.payload)
37
39
  };
38
40
  export const transferAPI = {
39
41
  getBanks: () => http().get('/get-banks').then(r => r.data),
@@ -44,9 +46,10 @@ export const transferAPI = {
44
46
  verifyWalletAccount: accountNumber => http().post('/wallet-name-enquiry', {
45
47
  account_number: accountNumber
46
48
  }).then(r => r.data),
47
- validateTransfer: (pin, userId) => http().post('/validate-transaction', {
49
+ validateTransfer: (pin, userId, receiverId) => http().post('/validate-transaction', {
48
50
  pin,
49
- user_id: userId
51
+ sender_type: 'AGENT',
52
+ receiver_id: receiverId
50
53
  }).then(r => r.data),
51
54
  sendToWallet: (payload, temptId) => http().post('/wallet-transfer-funds', {
52
55
  ...payload,
@@ -1 +1 @@
1
- {"version":3,"names":["http","healthAPI","ping","get","then","r","data","authenticateAPI","login","apiKey","post","api_key","profile","userId","logout","validateOtp","otp","email","validateToken","accountAPI","generate","user","first_name","firstName","last_name","lastName","phone_no","phone","bvn","nin","dateOfBirth","payload","getUser","psspId","getAccount","getAgentBalance","getBalance","transferAPI","getBanks","verifyAccount","accountNumber","bankCode","account_no","institution_code","verifyWalletAccount","account_number","validateTransfer","pin","user_id","sendToWallet","temptId","temp_id","sendToBank","status","reference","verify","nqrAPI","pay","nfcAPI","proximityAPI","broadcast","heartbeat","sessionId","lat","lng","patch","latitude","longitude","unregister","delete","discover","radius_meters"],"sourceRoot":"../../../../src","sources":["core/api/index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["http","BUSINESSID","healthAPI","ping","get","then","r","data","authenticateAPI","login","appId","post","user_id","profile","payload","logout","validateOtp","otp","email","validateToken","sendSmsOtp","verifyBvn","verifySms","updateProfile","put","accountAPI","generate","user","business_id","first_name","firstName","last_name","lastName","phone_no","phone","bvn","nin","dateOfBirth","getAccount","getAgentBalance","transferAPI","getBanks","verifyAccount","accountNumber","bankCode","account_no","institution_code","verifyWalletAccount","account_number","validateTransfer","pin","userId","receiverId","sender_type","receiver_id","sendToWallet","temptId","temp_id","sendToBank","status","reference","verify","nqrAPI","pay","nfcAPI","proximityAPI","broadcast","psspId","heartbeat","sessionId","lat","lng","patch","latitude","longitude","unregister","delete","discover","radius_meters"],"sourceRoot":"../../../../src","sources":["core/api/index.ts"],"mappings":"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","ignoreList":[]}
@@ -2,6 +2,6 @@
2
2
 
3
3
  // FountainPay SDK — Master Types
4
4
 
5
+ export const BUSINESSID = "1678aa7d-741a-4a4b-98dd-2fb406a3df3d";
5
6
  ;
6
- export {};
7
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../../src","sources":["core/types/index.ts"],"mappings":";;AAAA;;AA2EC;AAAC","ignoreList":[]}
1
+ {"version":3,"names":["BUSINESSID"],"sourceRoot":"../../../../src","sources":["core/types/index.ts"],"mappings":";;AAAA;;AAIA,OAAO,MAAMA,UAAU,GAAG,sCAAsC;AA+E/D","ignoreList":[]}
@@ -8,7 +8,7 @@ import { AppState, Vibration } from 'react-native';
8
8
  import AsyncStorage from '@react-native-async-storage/async-storage';
9
9
  import Geolocation from '@react-native-community/geolocation';
10
10
  import { initClient } from "../core/api/client.js";
11
- import { proximityAPI, accountAPI } from "../core/api/index.js";
11
+ import { proximityAPI, accountAPI, authenticateAPI } from "../core/api/index.js";
12
12
  import BLEReceiverService from "./BLEReceiverService.js";
13
13
  import BLESenderService from "./BLESenderService.js";
14
14
  import { getFPStore, isBalanceCacheValid } from "../store/FPStore.js";
@@ -88,7 +88,7 @@ async function _startProximityBroadcast() {
88
88
  const session = await proximityAPI.broadcast(psspId, {
89
89
  latitude: loc.lat,
90
90
  longitude: loc.lng,
91
- user_type: 'VIRTUAL_ACCOUNT_USER'
91
+ user_type: 'AGENT'
92
92
  });
93
93
 
94
94
  // Save new position to store
@@ -114,7 +114,7 @@ async function _startProximityBroadcast() {
114
114
  await proximityAPI.broadcast(psspId, {
115
115
  latitude: current.lat,
116
116
  longitude: current.lng,
117
- user_type: 'VIRTUAL_ACCOUNT_USER'
117
+ user_type: 'AGENT'
118
118
  });
119
119
  getFPStore().setLastBroadcastPosition({
120
120
  latitude: current.lat,
@@ -229,13 +229,14 @@ async function _handleIncomingRequest(req, deviceId) {
229
229
  async function _resolveAccount(user, callbacks) {
230
230
  const store = getFPStore();
231
231
  const psspId = user.userId || store.psspId;
232
- console.log('[FPay Engine] _resolveAccount callbacks:', 'onAccountReady:', !!callbacks.onAccountReady, 'onAccountError:', !!callbacks.onAccountError);
232
+ console.log('[FPay Engine] _resolveAccount callbacks:', 'onAccountReady:', !!callbacks.onAccountReady, 'onAccountError:', !!callbacks.onAccountError, 'user: ', user, 'psspId:', psspId, 'user.userId:', user.userId, 'store.psspId:', store.psspId);
233
233
  try {
234
234
  if (psspId) {
235
235
  // ← use the saved value, not store.psspId
236
+
236
237
  console.log('[FPay Engine] Existing PSSP id found — fetching account...');
237
238
  try {
238
- const account = await accountAPI.getAccount(psspId);
239
+ const account = await accountAPI.getAccount();
239
240
  store.setAccount(account);
240
241
  store.setUser(user);
241
242
  console.log('[FPay Engine] Account loaded:', account);
@@ -273,8 +274,7 @@ async function _fetchBalance() {
273
274
  return;
274
275
  }
275
276
  try {
276
- const userType = _options.userType ?? 'USER';
277
- const balance = userType === 'AGENT' ? await accountAPI.getAgentBalance(psspId) : await accountAPI.getBalance(psspId);
277
+ const balance = await accountAPI.getAgentBalance();
278
278
  getFPStore().setBalance(balance);
279
279
  console.log('[FPay Engine] Balance fetched:', balance);
280
280
  } catch (err) {
@@ -319,16 +319,6 @@ export const FPEngine = {
319
319
  _isReady = true;
320
320
  console.log('[FPay Engine] Initialized. Advertising as:', displayName);
321
321
 
322
- // AGENT — account already stored by provider, skip resolve
323
- if (options.userType === 'AGENT') {
324
- const account = getFPStore().account;
325
- if (account) {
326
- callbacks.onAccountReady?.(account);
327
- _fetchBalance();
328
- }
329
- return;
330
- }
331
-
332
322
  // Resolve account first — sets psspId in store
333
323
  // Then broadcast proximity — needs psspId to be set
334
324
  await _resolveAccount(user, callbacks);
@@ -449,6 +439,26 @@ export const FPEngine = {
449
439
  async refreshBalance() {
450
440
  await _fetchBalance();
451
441
  },
442
+ async verifyBvn() {
443
+ const response = await authenticateAPI.verifyBvn();
444
+ getFPStore().setTempId(response?.payload?.temp_id);
445
+ },
446
+ async verifySmsOtp(payload) {
447
+ const response = await authenticateAPI.verifySms(payload);
448
+ if (response.status) {
449
+ await authenticateAPI.updateProfile({
450
+ verifyBvn: true
451
+ });
452
+ const profile = await authenticateAPI.profile();
453
+ getFPStore().setUser(profile);
454
+ getFPStore().clearTempId();
455
+ }
456
+ },
457
+ async createUserTransactionPin(payload) {
458
+ await authenticateAPI.updateProfile(payload);
459
+ const profile = await authenticateAPI.profile();
460
+ getFPStore().setUser(profile);
461
+ },
452
462
  closeSend() {
453
463
  _emitEvent('close_send');
454
464
  },