Skip to main content
Once you have a registered beneficiary and their contact_id, you’re ready to move money. This endpoint debits your merchant virtual account and pushes funds to the beneficiary’s bank account using the payment mode you specify. You can choose IMPS for instant transfers, NEFT for batch processing, or RTGS for high-value real-time settlements.
Quick ReferenceRequired: contact_id, amount, mode, reference_idModes: IMPS, NEFT, RTGSReturns: transaction_id, status

Endpoint

Request Headers

Request Body Parameters

string
required
The bank transfer mode to use. Accepted values:
  • IMPS — Immediate, 24×7 real-time transfer
  • NEFT — Batch transfer, processed in hourly cycles
  • RTGS — Real-time, suited for high-value transfers
float
required
The amount to transfer, in INR (e.g., 1000 for ₹1,000). Must be a positive value within your account balance.
string
required
Your Virtual Account ID. This is provisioned by the FastFlowPe team and is also available on your merchant dashboard. Every payout is debited from the balance associated with this va_id.
string
The contact_id returned when you created the beneficiary. Identifies which registered bank account to credit.
string
Your own reference ID for this transaction — for example, an internal order ID or disbursement batch number. Pass this value to correlate payout records in your system with FastFlowPe transactions, and use it later to look up status if you don’t have the transaction_id.

Response

string
Top-level result of the API call — success or error.
integer
HTTP status code for the operation (e.g., 200).
string
Human-readable summary of the result.
object
Details of the initiated payout.
A successful response ("status": "success") means FastFlowPe has accepted and queued your payout request — it does not mean the funds have already reached the beneficiary. Use the Check Status API with the returned transaction_id to confirm final settlement.
Always populate merchant_ref_id with a unique identifier from your own system (such as an order ID or batch reference). This gives you a second lookup key if you ever need to query status without the transaction_id, and it makes reconciliation significantly easier.