react-native-fpay 0.4.6 → 0.4.8
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/lib/module/FountainPayProvider.js +6 -1
- package/lib/module/FountainPayProvider.js.map +1 -1
- package/lib/module/core/api/client.js +57 -5
- package/lib/module/core/api/client.js.map +1 -1
- package/lib/typescript/src/core/api/client.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/FountainPayProvider.tsx +6 -6
- package/src/core/api/client.ts +58 -5
|
@@ -128,7 +128,12 @@ export function FountainPayProvider({
|
|
|
128
128
|
async initializeSDK(user, callbacks) {
|
|
129
129
|
console.log('[FountainPay] initializeSDK() called for user:', user.firstName);
|
|
130
130
|
try {
|
|
131
|
-
await FPEngine.initialize(
|
|
131
|
+
// await FPEngine.initialize(
|
|
132
|
+
// apiKey,
|
|
133
|
+
// user,
|
|
134
|
+
// options ?? {},
|
|
135
|
+
// callbacks ?? {}
|
|
136
|
+
// );
|
|
132
137
|
await FPEngine.initialize(apiKey, user, options ?? {}, {
|
|
133
138
|
...callbacks,
|
|
134
139
|
onPaymentSent: async tx => {
|
|
@@ -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","options","children","onAuthReady","onAuthError","clientBooted","isAuthenticated","s","authError","setAuthenticated","account","user","balance","console","log","cancelled","current","baseUrl","environment","authenticate","response","login","status","payload","access_token","setAccessToken","expires_in","banks","getBanks","setBanks","error","message","err","slice","initializeSDK","callbacks","firstName","initialize","onPaymentSent","tx","refreshBalance","onError","setAccountDetails","accountName","send","amount","currency","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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
|
|
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","options","children","onAuthReady","onAuthError","clientBooted","isAuthenticated","s","authError","setAuthenticated","account","user","balance","console","log","cancelled","current","baseUrl","environment","authenticate","response","login","status","payload","access_token","setAccessToken","expires_in","banks","getBanks","setBanks","error","message","err","slice","initializeSDK","callbacks","firstName","initialize","onPaymentSent","tx","refreshBalance","onError","setAccountDetails","accountName","send","amount","currency","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":[]}
|
|
@@ -8,6 +8,8 @@ import axios from 'axios';
|
|
|
8
8
|
import { getFPStore } from "../../store/FPStore.js";
|
|
9
9
|
const DEFAULT_BASE_URL = 'https://kenisha-happiest-nan.ngrok-free.dev/sdk/v1/fpip/';
|
|
10
10
|
let _client = null;
|
|
11
|
+
let _isRefreshing = false;
|
|
12
|
+
let _retryQueue = [];
|
|
11
13
|
export function initClient(apiKey, options = {}) {
|
|
12
14
|
_client = axios.create({
|
|
13
15
|
baseURL: options.baseUrl ?? DEFAULT_BASE_URL,
|
|
@@ -32,7 +34,61 @@ export function initClient(apiKey, options = {}) {
|
|
|
32
34
|
}
|
|
33
35
|
return config;
|
|
34
36
|
});
|
|
35
|
-
_client.interceptors.response.use(r => r, err => {
|
|
37
|
+
_client.interceptors.response.use(r => r, async err => {
|
|
38
|
+
const originalRequest = err.config;
|
|
39
|
+
|
|
40
|
+
// Handle 401 — token expired
|
|
41
|
+
if (err.response?.status === 401 && !originalRequest._retry) {
|
|
42
|
+
originalRequest._retry = true; // prevent infinite loop
|
|
43
|
+
|
|
44
|
+
if (_isRefreshing) {
|
|
45
|
+
// Another request already refreshing — queue this one
|
|
46
|
+
return new Promise(resolve => {
|
|
47
|
+
_retryQueue.push(newToken => {
|
|
48
|
+
originalRequest.headers.Authorization = `Bearer ${newToken}`;
|
|
49
|
+
resolve(_client.request(originalRequest));
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
_isRefreshing = true;
|
|
54
|
+
try {
|
|
55
|
+
console.log('[FPay HTTP] Token expired — re-authenticating...');
|
|
56
|
+
|
|
57
|
+
// Clear expired token first
|
|
58
|
+
getFPStore().clearAccessToken();
|
|
59
|
+
|
|
60
|
+
// Re-authenticate with the stored API key
|
|
61
|
+
const apiKey = originalRequest.headers['x-api-key'];
|
|
62
|
+
const response = await _client.post('/auth', {
|
|
63
|
+
api_key: apiKey
|
|
64
|
+
});
|
|
65
|
+
if (response.data?.status && response.data?.payload?.access_token) {
|
|
66
|
+
const newToken = response.data.payload.access_token;
|
|
67
|
+
const expiresIn = response.data.payload.expires_in;
|
|
68
|
+
|
|
69
|
+
// Save new token to store
|
|
70
|
+
getFPStore().setAccessToken(newToken, expiresIn);
|
|
71
|
+
console.log('[FPay HTTP] Re-authenticated successfully.');
|
|
72
|
+
|
|
73
|
+
// Retry queued requests with new token
|
|
74
|
+
_retryQueue.forEach(cb => cb(newToken));
|
|
75
|
+
_retryQueue = [];
|
|
76
|
+
|
|
77
|
+
// Retry original request with new token
|
|
78
|
+
originalRequest.headers.Authorization = `Bearer ${newToken}`;
|
|
79
|
+
return _client.request(originalRequest);
|
|
80
|
+
}
|
|
81
|
+
} catch (refreshErr) {
|
|
82
|
+
console.error('[FPay HTTP] Re-authentication failed:', refreshErr);
|
|
83
|
+
_retryQueue = [];
|
|
84
|
+
getFPStore().clearAccessToken();
|
|
85
|
+
getFPStore().setAuthenticated(false, 'Session expired. Please restart the app.');
|
|
86
|
+
} finally {
|
|
87
|
+
_isRefreshing = false;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
// All other errors — normalize and reject
|
|
36
92
|
const e = {
|
|
37
93
|
code: 'UNKNOWN',
|
|
38
94
|
message: 'An error occurred'
|
|
@@ -45,10 +101,6 @@ export function initClient(apiKey, options = {}) {
|
|
|
45
101
|
e.code = d.code ?? `HTTP_${err.response.status}`;
|
|
46
102
|
e.message = d.message ?? err.message;
|
|
47
103
|
e.statusCode = err.response.status;
|
|
48
|
-
if (err.response.status === 401) {
|
|
49
|
-
e.code = 'INVALID_API_KEY';
|
|
50
|
-
e.message = 'Invalid API key.';
|
|
51
|
-
}
|
|
52
104
|
}
|
|
53
105
|
return Promise.reject(e);
|
|
54
106
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["axios","getFPStore","DEFAULT_BASE_URL","_client","initClient","apiKey","options","create","baseURL","baseUrl","timeout","headers","environment","interceptors","request","use","config","accessToken","console","log","Authorization","response","r","err","
|
|
1
|
+
{"version":3,"names":["axios","getFPStore","DEFAULT_BASE_URL","_client","_isRefreshing","_retryQueue","initClient","apiKey","options","create","baseURL","baseUrl","timeout","headers","environment","interceptors","request","use","config","accessToken","console","log","Authorization","response","r","err","originalRequest","status","_retry","Promise","resolve","push","newToken","clearAccessToken","post","api_key","data","payload","access_token","expiresIn","expires_in","setAccessToken","forEach","cb","refreshErr","error","setAuthenticated","e","code","message","d","statusCode","reject","http","Error"],"sourceRoot":"../../../../src","sources":["core/api/client.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../../src/core/api/client.ts"],"names":[],"mappings":"AAIA,OAAc,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../../src/core/api/client.ts"],"names":[],"mappings":"AAIA,OAAc,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAWlD,wBAAgB,UAAU,CACxB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,GACvD,IAAI,CAgGN;AAED,wBAAgB,IAAI,IAAI,aAAa,CAMpC"}
|
package/package.json
CHANGED
|
@@ -177,12 +177,12 @@ export function FountainPayProvider({
|
|
|
177
177
|
user.firstName
|
|
178
178
|
);
|
|
179
179
|
try {
|
|
180
|
-
await FPEngine.initialize(
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
);
|
|
180
|
+
// await FPEngine.initialize(
|
|
181
|
+
// apiKey,
|
|
182
|
+
// user,
|
|
183
|
+
// options ?? {},
|
|
184
|
+
// callbacks ?? {}
|
|
185
|
+
// );
|
|
186
186
|
await FPEngine.initialize(apiKey, user, options ?? {}, {
|
|
187
187
|
...callbacks,
|
|
188
188
|
onPaymentSent: async (tx) => {
|
package/src/core/api/client.ts
CHANGED
|
@@ -10,6 +10,8 @@ const DEFAULT_BASE_URL =
|
|
|
10
10
|
'https://kenisha-happiest-nan.ngrok-free.dev/sdk/v1/fpip/';
|
|
11
11
|
|
|
12
12
|
let _client: AxiosInstance | null = null;
|
|
13
|
+
let _isRefreshing = false;
|
|
14
|
+
let _retryQueue: Array<(token: string) => void> = [];
|
|
13
15
|
|
|
14
16
|
export function initClient(
|
|
15
17
|
apiKey: string,
|
|
@@ -41,7 +43,62 @@ export function initClient(
|
|
|
41
43
|
|
|
42
44
|
_client.interceptors.response.use(
|
|
43
45
|
(r) => r,
|
|
44
|
-
(err) => {
|
|
46
|
+
async (err) => {
|
|
47
|
+
const originalRequest = err.config;
|
|
48
|
+
|
|
49
|
+
// Handle 401 — token expired
|
|
50
|
+
if (err.response?.status === 401 && !originalRequest._retry) {
|
|
51
|
+
originalRequest._retry = true; // prevent infinite loop
|
|
52
|
+
|
|
53
|
+
if (_isRefreshing) {
|
|
54
|
+
// Another request already refreshing — queue this one
|
|
55
|
+
return new Promise((resolve) => {
|
|
56
|
+
_retryQueue.push((newToken: string) => {
|
|
57
|
+
originalRequest.headers.Authorization = `Bearer ${newToken}`;
|
|
58
|
+
resolve(_client!.request(originalRequest));
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
_isRefreshing = true;
|
|
64
|
+
|
|
65
|
+
try {
|
|
66
|
+
console.log('[FPay HTTP] Token expired — re-authenticating...');
|
|
67
|
+
|
|
68
|
+
// Clear expired token first
|
|
69
|
+
getFPStore().clearAccessToken();
|
|
70
|
+
|
|
71
|
+
// Re-authenticate with the stored API key
|
|
72
|
+
const apiKey = originalRequest.headers['x-api-key'];
|
|
73
|
+
const response = await _client!.post('/auth', { api_key: apiKey });
|
|
74
|
+
|
|
75
|
+
if (response.data?.status && response.data?.payload?.access_token) {
|
|
76
|
+
const newToken = response.data.payload.access_token;
|
|
77
|
+
const expiresIn = response.data.payload.expires_in;
|
|
78
|
+
|
|
79
|
+
// Save new token to store
|
|
80
|
+
getFPStore().setAccessToken(newToken, expiresIn);
|
|
81
|
+
console.log('[FPay HTTP] Re-authenticated successfully.');
|
|
82
|
+
|
|
83
|
+
// Retry queued requests with new token
|
|
84
|
+
_retryQueue.forEach(cb => cb(newToken));
|
|
85
|
+
_retryQueue = [];
|
|
86
|
+
|
|
87
|
+
// Retry original request with new token
|
|
88
|
+
originalRequest.headers.Authorization = `Bearer ${newToken}`;
|
|
89
|
+
return _client!.request(originalRequest);
|
|
90
|
+
}
|
|
91
|
+
} catch (refreshErr) {
|
|
92
|
+
console.error('[FPay HTTP] Re-authentication failed:', refreshErr);
|
|
93
|
+
_retryQueue = [];
|
|
94
|
+
getFPStore().clearAccessToken();
|
|
95
|
+
getFPStore().setAuthenticated(false, 'Session expired. Please restart the app.');
|
|
96
|
+
} finally {
|
|
97
|
+
_isRefreshing = false;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
// All other errors — normalize and reject
|
|
45
102
|
const e: FPError = { code: 'UNKNOWN', message: 'An error occurred' };
|
|
46
103
|
if (!err.response) {
|
|
47
104
|
e.code = 'NETWORK_ERROR';
|
|
@@ -51,10 +108,6 @@ export function initClient(
|
|
|
51
108
|
e.code = d.code ?? `HTTP_${err.response.status}`;
|
|
52
109
|
e.message = d.message ?? err.message;
|
|
53
110
|
e.statusCode = err.response.status;
|
|
54
|
-
if (err.response.status === 401) {
|
|
55
|
-
e.code = 'INVALID_API_KEY';
|
|
56
|
-
e.message = 'Invalid API key.';
|
|
57
|
-
}
|
|
58
111
|
}
|
|
59
112
|
return Promise.reject(e);
|
|
60
113
|
}
|