Bank linking & direct debit
Bank accounts power both sides of a loan: payouts land in the borrower's linked account, and repayments are collected through a direct-debit mandate on it.
Linking an account
GET /v1/bank-accounts/linking-method tells your client which flow to
use for this user (provider-hosted linking vs. manual entry).
For provider-hosted linking, POST /v1/bank-accounts/connect/initiate
starts a Connect session your client completes in-app. Otherwise create the
account record directly with POST /v1/bank-accounts.
GET /v1/bank-accounts lists linked accounts;
DELETE /v1/bank-accounts/{account_id} unlinks one. Borrowers declare
their salary account with
POST /v1/bank-accounts/{account_id}/salary-declaration.
Resolving account details
Before sending money anywhere, resolve and display the receiving account:
GET /v1/transfer/banks— the list of supported banks and their codes.POST /v1/transfer/account/details— resolve an account number + bank code to the account holder's name.
Direct-debit mandates
A mandate authorizes Roja to debit the borrower's account for scheduled repayments:
POST /v1/direct-debit-mandates— create a mandate on a linked account.GET /v1/direct-debit-mandates/GET /v1/direct-debit-mandates/{mandate_id}— list and inspect mandates and their activation status.POST /v1/direct-debit-mandates/{mandate_id}/debit— execute a debit against the mandate (used by repayment flows). Money-moving: send an idempotency key.GET /v1/banking/mandates— mandates in the context of banking providers.
Mandate activation involves the user's bank and is not instant. Check the mandate's status before relying on it for a repayment, and surface pending states to the user instead of retrying the debit.