Payment Processing
Process Payslip
POST
api/process-payment
Description:
This endpoint is used for processing payments (pay slips, invoices).
Headers
Name
Value
Content-Type
application/json
Authorization
Bearer <token>
Request Body:
Depending on the type of payment, the required fields differ.
For One-Time Payments (Pay slips or Invoices):
{
"user_email": <email address of the user receiving the money>
"payment_type": "one_time",
"payment_date": "2023-07-14",
"one_time_type": "paystub",
"transaction_id": <ID of the paystub>
}
For Instant Payments:
{
"user_email": "<email address of the user receiving the money>",
"payment_type": "instant",
"bank_account_number": "034157245407",
"bank_name": "Guaranty Trust Bank",
"payment_description": "Pocket Payment",
"service_date": "2025-04-06",
"service_provider": "Guuze",
"amount": 1500,
"category_name": "Sam",
"subcategory_name": "Sam2",
"relationship_manager_email": "[email protected]"
}
Notes:
bank_name must match exactly the bank name as returned by your provider lookup (e.g. via
getBankCodeByName
).category_name and subcategory_name are used to resolve the corresponding IDs for the invoice.
relationship_manager_email is used to identify the relationship manager for the transaction.
Response:
The API returns a JSON response with a message and data structure. Below is a sample response (the structure will be similar regardless of payment type):
{
"message": "Instant payment processed successfully.",
"data": {
"status": "success",
"message": "Transfer Queued Successfully",
"data": {
"id": 1307692,
"account_number": "0690000040",
"bank_code": "044",
"full_name": "Alexis Sanchez",
"created_at": "2025-04-07T22:04:23.000Z",
"currency": "NGN",
"debit_currency": "NGN",
"amount": 150000,
"fee": 53.75,
"status": "NEW",
"reference": "gm8s_flwh36067f44be62a484_PMCKDU_1",
"meta": null,
"narration": "Pocket Payment",
"complete_message": "",
"requires_approval": 0,
"is_approved": 1,
"bank_name": "ACCESS BANK NIGERIA"
}
}
}
Last updated