Create Payout
Use the Transaction Initiation API to initiate payouts directly from your KwikPaisa wallet to beneficiary bank accounts using supported banking transfer modes.
This API enables merchants to:
Send instant payouts
Process salary disbursements
Automate vendor settlements
Transfer funds securely
Build scalable payout workflows
Endpoint
POST /api/v3/banking/payment/createTo view all available base URLs and environments, refer to:
Authentication required.
Refer to: ➡️ Headers ➡️ Signature Generation ➡️ Timestamp Validation
Request Parameters
kwikx_wallet_id
String
Yes
Merchant wallet ID
debit_account_type
String
Yes
Source account type
transfer_type
String
Yes
Transfer processing type
mobile
String
Yes
Merchant mobile number
email
String
Yes
Merchant email address
country_dialing_code
String
Yes
Country dialing code
transfer_mode
String
Yes
Transfer mode (imps, neft, rtgs, upi, ach, wire, swift, sepa, bank_transfer, wallet, card_transfer, international)
transfer_amount
Decimal
Yes
Transfer amount
payout_order_id
String/Integer
Yes
Unique merchant payout order ID
account_transfer.account_owner_name
String
Yes
Beneficiary account holder name
account_transfer.account_number
String
Yes
Beneficiary account number
account_transfer.ifsc_code
String
Yes
Beneficiary IFSC code
account_transfer.is_validate
Boolean/String
No
Validate beneficiary account
account_transfer.payment_for
String
No
Transfer description
kwikx_wallet_id
String
Yes
Merchant wallet ID
debit_account_type
String
Yes
Source account type
transfer_type
String
Yes
Transfer processing type
beneficiary_id
String/Null
No
Existing beneficiary reference
mobile
String
Yes
Merchant mobile number
email
String
Yes
Merchant email address
address
String/Null
No
Merchant address
country_dialing_code
String
Yes
Country dialing code
transfer_mode
String
Yes
Transfer mode (upi)
transfer_amount
Decimal
Yes
Transfer amount
payout_order_id
String/Integer
Yes
Unique merchant payout order ID
upi_transfer.upi_owner_name
String
Yes
Beneficiary UPI holder name
upi_transfer.upi_id
String
Yes
Beneficiary UPI ID
upi_transfer.is_validate
Boolean/String
No
Validate beneficiary UPI ID
upi_transfer.payment_for
String
No
Transfer description
Example Request Body'
Example cURL Request
Example Success Response
Response Parameters
payout_id
Unique KwikPaisa payout reference ID
payout_order_id
Merchant payout order ID
wallet_id
Wallet transaction reference
debited_amount
Amount debited from wallet
available_balance
Remaining wallet balance
Example Failed Response
Insufficient Wallet Balance
Transaction Not Found
Supported Transfer Modes
imps
Instant bank transfer available 24x7
neft
Standard bank settlement transfer
rtgs
Real-time gross settlement for high-value transfers
upi
Instant UPI transfer using UPI ID
ach
Automated Clearing House batch transfer
wire
International wire transfer
swift
International SWIFT banking transfer
sepa
Eurozone SEPA bank transfer
bank_transfer
Standard domestic bank transfer
wallet
Wallet-to-wallet transfer
card_transfer
Card-based payout transfer
international
International cross-border payout
Recommended Payout Flow
Check wallet balance
Generate payout request signature
Initiate payout transaction
Store
payout_idandpayout_order_idVerify payout using Payout Status API
Handle webhook notifications
Important Notes
payout_order_idmust always be uniqueDuplicate payout IDs may be rejected
Ensure sufficient wallet balance before initiating payouts
Beneficiary bank details should be validated carefully
Always verify payout status server-side
Common Errors
400 Bad Request
Possible reasons:
Missing required parameters
Invalid payload structure
Invalid IFSC code
Incorrect account details
401 Unauthorized
Possible reasons:
Invalid API key
Incorrect signature
Expired timestamp
422 Insufficient Wallet Balance
Possible reasons:
Wallet balance too low
Transfer amount exceeds available balance
404 Order Not Found
Possible reasons:
Invalid payout order ID
Transaction does not exist
Incorrect merchant credentials
Security Recommendations
Always generate signatures server-side
Never expose secret keys publicly
Use HTTPS for all API requests
Validate beneficiary details carefully
Monitor payout reconciliation regularly
Best Practices
Use unique payout order IDs
Validate account details before payouts
Store payout references securely
Retry processing payouts carefully
Enable webhook handling for real-time payout updates
Last updated
