>- Interswitch Payouts API — look up receiving institutions, discover payout channels, and route disbursements. Use this skill whenever building payout infrastructure, discovering available disbursement channels, resolving receiving institutions, or implementing multi-channel payout routing. Also use when you see references to payout channels, receiving institutions, disbursement routing, or /api/v1/payouts endpoints.
// Build a payout router that selects the best channel
interface PayoutRequest {
recipientAccount: string;
recipientInstitution: string;
amount: number;
currency: string;
}
async function routePayout(request: PayoutRequest): Promise<string> {
// 1. Get institution details
const institution = await getInstitutionDetails(request.recipientInstitution);
// 2. Find available channels for this institution
const channels = await getPayoutChannels();
const activeChannels = channels.filter(
(c) => c.isActive && institution.supportedChannels.includes(c.channelCode)
);
if (activeChannels.length === 0) {
throw new Error(`No active payout channels for ${institution.institutionName}`);
}
// 3. Prefer bank transfer, fall back to others
const preferred = activeChannels.find((c) => c.channelCode === 'BANK')
|| activeChannels[0];
return preferred.channelCode;
}
Complete Payout Discovery Flow
// 1. Discover channels
const channels = await getPayoutChannels();
console.log('Available channels:', channels.map((c) => c.channelName));
// 2. List bank institutions
const banks = await getReceivingInstitutions('BANK');
console.log('Banks:', banks.length);
banks.forEach((bank) => {
console.log(`${bank.institutionCode}: ${bank.institutionName}`);
});
// 3. Get specific bank details
const gtbank = await getInstitutionDetails('058');
console.log('GTBank channels:', gtbank.supportedChannels);
// 4. Use with transfers
// Once you have the institution code, use the interswitch-transfers skill
// to initiate the actual transfer
Best Practices
Cache institution lists — They don't change often (refresh daily)
Check isActive status — Only route to active institutions
Implement fallback channels — Route to alternative if primary fails
Validate institution codes — Confirm before initiating transfers
Monitor channel availability — Set up alerts for channel status changes