API Reference
PayFlow Payouts API
The PayFlow Payouts API lets you programmatically disburse funds to bank accounts, UPI IDs, and cards. All API requests use HTTPS and are authenticated with API keys.
Base URL
https://api.payflow.in/v1
Authentication
All API calls require your API key in the x-api-key header. Keep your API key secret and never expose it client-side.
# Example request with authentication
curl -X POST https://api.payflow.in/v1/payouts \
-H "x-api-key: pf_live_xxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{...}'
Create Payout
POST
/v1/payouts
Initiate a single payout to a bank account, UPI ID, or card.
// Request Body
{
"amount": 1000, // Amount in paise (₹10.00)
"currency": "INR",
"mode": "UPI", // UPI | IMPS | NEFT | RTGS
"beneficiary": {
"name": "Rahul Sharma",
"upi_id": "rahul@upi"
},
"reference_id": "order_12345",
"remarks": "Refund for order #12345"
}
// Response
{
"id": "payout_AbCdEf123",
"status": "PROCESSING",
"amount": 1000,
"mode": "UPI",
"created_at": "2026-06-20T10:30:00Z"
}
Check Payout Status
GET
/v1/payouts/{payout_id}
// Response
{
"id": "payout_AbCdEf123",
"status": "SUCCESS", // SUCCESS | FAILED | PROCESSING
"amount": 1000,
"utr": "306201234567890",
"settled_at": "2026-06-20T10:30:04Z"
}
Bulk Payouts
POST
/v1/payouts/bulk
Process up to 10,000 payouts in a single API call. Perfect for salary disbursements and vendor payments.
{
"payouts": [
{
"amount": 50000,
"mode": "IMPS",
"beneficiary": {
"name": "Priya Singh",
"account_number": "1234567890",
"ifsc": "HDFC0001234"
},
"reference_id": "salary_june_001"
}
// ... up to 10,000 items
]
}
Webhooks
Configure webhooks in your dashboard to receive real-time notifications on payout status changes. We send events for payout.success, payout.failed, and payout.processing.
// Webhook payload example
{
"event": "payout.success",
"data": {
"id": "payout_AbCdEf123",
"status": "SUCCESS",
"amount": 1000,
"utr": "306201234567890"
},
"timestamp": "2026-06-20T10:30:04Z"
}