Skip to content

Commit 234888c

Browse files
committed
Added validation for mobile money networks
1 parent 9ac7afa commit 234888c

File tree

85 files changed

+384
-277
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

85 files changed

+384
-277
lines changed

.github/workflows/security-scan.yml

+1-2
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,14 @@ jobs:
1212
runs-on: ubuntu-latest
1313
env:
1414
OS: ubuntu-latest
15-
PYTHON: '3.7'
1615
steps:
1716
- name: checkout code
1817
uses: actions/checkout@v2
1918

2019
- name: Checkmarx One ClI Action
2120
uses: checkmarx/ast-github-action@main
2221
with:
23-
project_name: Python-v2
22+
project_name: Node-v3
2423
cx_tenant: Flutterwave
2524
base_uri: https://eu.ast.checkmarx.net/
2625
cx_client_id: ${{ secrets.CX_CLIENT_ID }}

CHANGELOG.md

+27-30
Original file line numberDiff line numberDiff line change
@@ -1,97 +1,100 @@
11
# Changelog
22

3+
## 1.2.1 | 2025-04-14
4+
5+
Added validation for mobile money networks.
6+
7+
### Version Changes
8+
9+
- [ADDED] `network` validations for mobilemoney collections in the momoSchema.
10+
- [ADDED] checkmarx security scan to the package build pipeline.
11+
312
## 1.2.0 | 2025-04-09
413

514
Replace `Request` package with `Fetch` for HTTP requests and update the charge schema.
615

716
### Version Changes
17+
818
- [ADDED] `sa_bank_code` in the chargeSchema.
919
- [ADDED] Fetch API to handle HTTP calls in the SDK.
1020
- [FIXED] Bumped axios version to the latest.
1121
- [REMOVED] The deprecated request package as a dependency.
1222

13-
14-
1523
## 1.1.15 | 2025-02-28
1624

1725
Added transaction verification by reference and updated the settlement imports for the `fetch_all()` and `fetch()` settlement methods.
1826

1927
### Version Changes
28+
2029
- [ADDED] Transaction verification by reference(`tx_ref`).
2130
- [FIXED] Update the `fetch_all()` and `fetch()` settlement methods to use the correct settlement imports, ensuring they send the correct requests to the Flutterwave API.
2231

23-
24-
2532
## 1.1.14 | 2024-12-13
2633

2734
Updated the `voucher` parameter in the momo schema.
2835

2936
### Version Changes
30-
- [FIXED] Make the `voucher` parameter optional in the create mobile money schema.
31-
3237

38+
- [FIXED] Make the `voucher` parameter optional in the create mobile money schema.
3339

3440
## 1.1.13 | 2024-11-19
3541

3642
Updated the `getBalanceByCurrency` method to parse path parameters.
3743

3844
### Version Changes
39-
- [FIXED] Update the `balance_currency` function in the Misc object to exclude queries when parsing a path parameter.
40-
4145

46+
- [FIXED] Update the `balance_currency` function in the Misc object to exclude queries when parsing a path parameter.
4247

4348
## 1.1.12 | 2024-09-27
49+
4450
Update the list schema.
4551

4652
### Version Changes
47-
- [FIXED] Remove the required validation on the 'account_bank' parameter.
48-
4953

54+
- [FIXED] Remove the required validation on the 'account_bank' parameter.
5055

5156
## 1.1.11 | 2024-09-10
57+
5258
Update `account_bank` validation in create schema.
5359

5460
### Version Changes
55-
- [FIXED] Update minLength & maxLength validation for account_bank parameter.
56-
5761

62+
- [FIXED] Update minLength & maxLength validation for account_bank parameter.
5863

5964
## 1.1.10 | 2024-04-04
6065

6166
Updated the variable name "package" which happens to be a reserved word in JavaScript, and it is causing compatibility issues with certain bundlers.
6267

6368
### Version Changes
64-
- [FIXED] changed the variable name 'package' to 'packageJson' in the logger.js file.
65-
6669

70+
- [FIXED] changed the variable name 'package' to 'packageJson' in the logger.js file.
6771

6872
## 1.1.9 | 2024-03-18
6973

7074
Validation hotfix on subaccounts
7175

7276
### Version Changes.
73-
- [FIXED] Update validation (minLength & maxLength) for 'account_bank" parameter in the subaccountSchema.
74-
7577

78+
- [FIXED] Update validation (minLength & maxLength) for 'account_bank" parameter in the subaccountSchema.
7679

7780
## 1.1.8 | 2024-02-19
7881

7982
Updated BVN verification flow and hotfixes on subaccount, bills and transaction fees:
8083

8184
### Version Changes.
85+
8286
- [ADDED] New BVN verification flow (via NIBBS).
8387
- [ADDED] Unit tests for more coverage on the BVN verification, fees, and split payments.
8488
- [ADDED] Subaccounts parameter (optional) to card charge and PWBT requests.
8589
- [FIXED] Resolved "URL Not Found" Error returned from Validate Bill Service method.
8690
- [FIXED] Resolved "Invalid currency provided" Error returned from the Transaction fees method.
8791

88-
89-
9092
## 1.1.7 | 2024-01-25
9193

9294
Scheduled updates and bugfixes:
9395

9496
### Version Changes.
97+
9598
- [ADDED] Tanzania mobile money payment method.
9699
- [ADDED] Fawry Pay payment method.
97100
- [ADDED] Supplementary parameters in the createBulkTransferSchema.
@@ -110,41 +113,37 @@ Scheduled updates and bugfixes:
110113
- [FIXED] Revised the NG bank charge (Mono).
111114
- [REMOVED] Eliminated the "amount" parameter in the updatePlanSchema.
112115

113-
114-
115116
## 1.1.6 | 2023-06-21
116117

117118
Hotfix on Transfer fees and Bank lists.
118119

119120
### Version changes.
121+
120122
- [FIXED] Transfer fees returning 0 for all amounts.
121123
- [FIXED] Null data response for Bank lists.
122124

123-
124-
125125
## 1.1.5 | 2023-04-13
126126

127127
Hotfix to hide header information in the library response.
128128

129129
### Version changes.
130-
- [FIXED] Removed headers in the response.
131-
132130

131+
- [FIXED] Removed headers in the response.
133132

134133
## 1.1.4 | 2023-04-13
135134

136135
This release fixes the empty subscription fetch query with user email.
137136

138137
### Version changes.
139-
- [FIXED] Empty data in response object for subscription fetch with email query parameter
140-
141138

139+
- [FIXED] Empty data in response object for subscription fetch with email query parameter
142140

143141
## 1.1.3 | 2023-03-29
144142

145143
Scheduled updates and bug fixes. This release fixes all the bugs in the new SDK (v1.1.0)
146144

147145
### Version changes.
146+
148147
- [FIXED] Updated validation for empty meta objects in charge and transfer methods.
149148
- [FIXED] Added conditional validation for `Country`, `Network`and `Voucher` parameters in Mobile Money schema.
150149
- [FIXED] [#111](https://github.com/Flutterwave/Node/issues/111) Verify transaction error.
@@ -153,22 +152,20 @@ Scheduled updates and bug fixes. This release fixes all the bugs in the new SDK
153152
- [ADDED] Support for query parameters in listing methods.
154153
- [REMOVED] Replaced `first_name` and `last_name` in the Card tokenization schema with a single `full_name`field.
155154

156-
157-
158155
## 1.1.1 | 2023-03-17
159156

160157
This release fixes all morx errors thrown in custom request class.
161158

162159
### Version changes.
163-
- [FIXED] Morx error returned in custom service class in v1.1.0
164-
165160

161+
- [FIXED] Morx error returned in custom service class in v1.1.0
166162

167163
## 1.1.0 | 2023-03-14
168164

169165
This release fixes all npm warnings and dependabot error messages.
170166

171167
### Version changes.
168+
172169
- [FIXED] [#103](https://github.com/Flutterwave/Node/issues/103) Multiple Vulnerabilities Introduced by dependencies
173170
- [FIXED] [#87](https://github.com/Flutterwave/Node/issues/87) Amount is required for payment plan creation
174171
- [FIXED] [#84](https://github.com/Flutterwave/Node/issues/84) Cannot filter bills by category

services/banks/rave.banks-branches.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const { logger } = require('../../utils/logger');
1+
// const { logger } = require('../../utils/logger');
22
const { validator } = require('../../utils/validator');
33
const { fetchSchema } = require('../schema/base');
44

@@ -10,7 +10,7 @@ async function service(data, _rave) {
1010
`v3/banks/${data.id}/branches`,
1111
data,
1212
);
13-
logger(`Get bank branches`, _rave);
13+
// logger(`Get bank branches`, _rave);
1414
return response;
1515
}
1616

services/banks/rave.banks-country.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const { logger } = require('../../utils/logger');
1+
// const { logger } = require('../../utils/logger');
22
const { validator } = require('../../utils/validator');
33
const { listSchema } = require('../schema/base');
44

@@ -10,7 +10,7 @@ async function service(data, _rave) {
1010
`v3/banks/${data.country}`,
1111
data,
1212
);
13-
logger(`Get banks by country`, _rave);
13+
// logger(`Get banks by country`, _rave);
1414
return response;
1515
}
1616

services/beneficiaries/rave.create.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
const { logger } = require('../../utils/logger');
1+
// const { logger } = require('../../utils/logger');
22
const { validator } = require('../../utils/validator');
33
const { beneficiarySchema } = require('../schema/create');
44

55
async function service(data, _rave) {
66
validator(beneficiarySchema, data);
77
const { body: response } = await _rave.request(`v3/beneficiaries`, data);
8-
logger(`Create beneficiary`, _rave);
8+
// logger(`Create beneficiary`, _rave);
99
return response;
1010
}
1111

services/beneficiaries/rave.delete.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const { logger } = require('../../utils/logger');
1+
// const { logger } = require('../../utils/logger');
22
const { validator } = require('../../utils/validator');
33
const { fetchSchema } = require('../schema/base');
44

@@ -9,7 +9,7 @@ async function service(data, _rave) {
99
`/v3/beneficiaries/${data.id}`,
1010
data,
1111
);
12-
logger(`Delete a beneficiary`, _rave);
12+
// logger(`Delete a beneficiary`, _rave);
1313
return response;
1414
}
1515

services/beneficiaries/rave.single.retrieve.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const { logger } = require('../../utils/logger');
1+
// const { logger } = require('../../utils/logger');
22
const { validator } = require('../../utils/validator');
33
const { fetchSchema } = require('../schema/base');
44

@@ -9,7 +9,7 @@ async function service(data, _rave) {
99
`/v3/beneficiaries/${data.id}`,
1010
data,
1111
);
12-
logger(`Fetch a transfer beneficiary`, _rave);
12+
// logger(`Fetch a transfer beneficiary`, _rave);
1313
return response;
1414
}
1515

services/bills/rave.amount.to-be-paid.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const { logger } = require('../../utils/logger');
1+
// const { logger } = require('../../utils/logger');
22
const { validator } = require('../../utils/validator');
33
const { amountQuerySchema } = require('../schema/bill');
44

@@ -9,7 +9,7 @@ async function service(data, _rave) {
99
`v3/billers/${data.id}/products/${data.product_id}`,
1010
data,
1111
);
12-
logger(`Fetch bill amount`, _rave);
12+
// logger(`Fetch bill amount`, _rave);
1313
return response;
1414
}
1515

services/bills/rave.create-bill.payment.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
const { logger } = require('../../utils/logger');
1+
// const { logger } = require('../../utils/logger');
22
const { validator } = require('../../utils/validator');
33
const { createSchema } = require('../schema/bill');
44

55
async function service(data, _rave) {
66
validator(createSchema, data);
77
const { body: response } = await _rave.request(`v3/bills`, data);
8-
logger(`Create bill payments`, _rave);
8+
// logger(`Create bill payments`, _rave);
99
return response;
1010
}
1111

services/bills/rave.create-bulk.bills.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
const { logger } = require('../../utils/logger');
1+
// const { logger } = require('../../utils/logger');
22
const { validator } = require('../../utils/validator');
33
const { bulkCreateSchema } = require('../schema/bill');
44

55
async function service(data, _rave) {
66
validator(bulkCreateSchema, data);
77
const { body: response } = await _rave.request(`v3/bulk-bills`, data);
8-
logger(`Create bulk bill payments`, _rave);
8+
// logger(`Create bulk bill payments`, _rave);
99
return response;
1010
}
1111

services/bills/rave.create-order-billing-code.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const { logger } = require('../../utils/logger');
1+
// const { logger } = require('../../utils/logger');
22
const { validator } = require('../../utils/validator');
33
const { createOrderSchema } = require('../schema/bill');
44

@@ -8,7 +8,7 @@ async function service(data, _rave) {
88
`v3/billers/${data.id}/products/${data.product_id}/orders`,
99
data,
1010
);
11-
logger(`Create order with billing code`, _rave);
11+
// logger(`Create order with billing code`, _rave);
1212
return response;
1313
}
1414

services/bills/rave.get-bill-payments.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const { logger } = require('../../utils/logger');
1+
// const { logger } = require('../../utils/logger');
22
const { validator } = require('../../utils/validator');
33
const { listSchema } = require('../schema/base');
44

@@ -9,7 +9,7 @@ async function service(data, _rave) {
99
`v3/bills?from=${data.from}&to=${data.to}`,
1010
data,
1111
);
12-
logger(`Fetch bill payments`, _rave);
12+
// logger(`Fetch bill payments`, _rave);
1313
return response;
1414
}
1515

services/bills/rave.get.status.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const { logger } = require('../../utils/logger');
1+
// const { logger } = require('../../utils/logger');
22
const { validator } = require('../../utils/validator');
33
const { fetchStatusSchema } = require('../schema/bill');
44

@@ -9,7 +9,7 @@ async function service(data, _rave) {
99
`v3/bills/${data.reference}`,
1010
data,
1111
);
12-
logger(`Fetch bill status`, _rave);
12+
// logger(`Fetch bill status`, _rave);
1313
return response;
1414
}
1515

services/bills/rave.products-under-an-agency.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const { logger } = require('../../utils/logger');
1+
// const { logger } = require('../../utils/logger');
22
const { validator } = require('../../utils/validator');
33
const { fetchSchema } = require('../schema/base');
44

@@ -10,7 +10,7 @@ async function service(data, _rave) {
1010
`v3/billers/${data.id}/products`,
1111
data,
1212
);
13-
logger(`Retrieve bills by agency`, _rave);
13+
// logger(`Retrieve bills by agency`, _rave);
1414
return response;
1515
}
1616

services/bills/rave.update-bills.order.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const { logger } = require('../../utils/logger');
1+
// const { logger } = require('../../utils/logger');
22
const { validator } = require('../../utils/validator');
33
const { updateOrderSchema } = require('../schema/bill');
44

@@ -9,7 +9,7 @@ async function service(data, _rave) {
99
`v3/product-orders/${data.reference}`,
1010
data,
1111
);
12-
logger(`Update bill order`, _rave);
12+
// logger(`Update bill order`, _rave);
1313
return response;
1414
}
1515

0 commit comments

Comments
 (0)