Automated payroll disbursement via Flutterwave.
git clone https://github.com/usepaykit/paydrop.git
cd paydrop
npm install
cp .env.example .envEdit .env:
FLUTTERWAVE_SECRET_KEY=FLWSECK_xxxx
RECIPIENTS_DATA=...
PORT=3000Use Flutterwave's bank list (not third-party lists):
curl https://api.flutterwave.com/v3/banks/NG \
-H "Authorization: Bearer YOUR_FLW_SECRET_KEY"Examples: Access 044, GTBank 058, PalmPay 100033, Opay 100004.
Accounts are resolved via Flutterwave before every transfer.
RECIPIENTS_DATA is a base64-encoded JSON array:
[
{
"name": "Alice Dev",
"account": "0123456789",
"bank": "044",
"amount": 250000,
"schedule": "0 9 25 * *"
}
]| Field | Description |
|---|---|
name |
Label for logs |
account |
10-digit NUBAN |
bank |
Flutterwave bank code |
amount |
Amount in Naira |
schedule |
Cron expression (e.g. 0 9 25 * * = 9am on the 25th) |
Encode it:
echo '[{"name":"Alice Dev","account":"0123456789","bank":"044","amount":250000,"schedule":"0 9 25 * *"}]' | base64Paste the output into RECIPIENTS_DATA.
npm run dev