Payout
Move funds from your iNPAY wallet to other PayIDs or external bank accounts. iNPAY provides two payout methods to suit different business needs.
🚀 Available Payout Options
1. PayID-to-PayID Transfer
Send money instantly between PayIDs within the iNPAY network.
Best for:
- Peer-to-peer payments
- Merchant-to-customer refunds
- Internal business transfers
- Instant settlements
Learn how to implement PayID transfers →
2. External Bank Transfer
Send money to any Nigerian bank account outside the iNPAY network.
Best for:
- Supplier payments
- Salary disbursements
- Vendor payments
- External business transactions
Learn how to implement external transfers →
💡 Key Concepts
Source Wallet (fromPayId)
- Must be a wallet PayID created by your iNPAY account
- Store in environment variables for easy access
- Funds are debited from this wallet during transfers
Destination (toPayId or Bank Account)
- PayID transfers: Receiver valid PayID for payment destination
- External transfers: Use bank account number + bank code
- Always verify destination before sending money
- Use bank list API to get valid bank codes
Amount Format
- All amounts in kobo (1 Naira = 100 kobo)
- ₦100.00 = 10000 kobo
- ₦500.00 = 50000 kobo
- ₦1000.00 = 100000 kobo
🔧 Getting Started
Step 1: Setup Your Variables
Store your PayID as an environment variable:
# .env file
INPAY_WALLET_PAYID=mybusiness123.wallet
INPAY_SECRET_KEY=sk_live_your_secret_key
Step 2: Choose Transfer Method
For PayID Transfers:
- Verify destination PayID first
- Use instant transfer endpoint
- Get immediate confirmation
For External Bank Transfers:
- Get Bank List with bank code
- Verify bank account details with bank code
- Use external transfer endpoint
- Track transfer status
📊 Transfer Comparison
| Feature | PayID-to-PayID | External Bank Transfer |
|---|---|---|
| Speed | Instant | Standard bank processing |
| Cost | Free | Higher fees |
| Verification | PayID verification | Bank account verification |
| Use Case | Internal transfers | External payments |
| Requirements | Reciever PayIDs | Bank account details |
| Limitations | iNPAY network only | Nigerian banks only |
🎯 Common Use Cases
E-commerce Refunds
// Refund customer via PayID
const refund = await transferManager.completePayIdTransfer(
process.env.INPAY_WALLET_PAYID, // Your wallet
customer.payId, // Customer's PayID
order.refundAmount * 100, // Convert to kobo
`Refund for order #${order.id}`,
`refund-${order.id}-${Date.now()}`
);
Supplier Payments
// Pay supplier via external bank transfer
const supplierPayment = await transferManager.completeExternalTransfer(
process.env.INPAY_WALLET_PAYID, // Your wallet
supplier.accountNumber, // Supplier's account
supplier.bankCode, // Supplier's bank code
invoice.amount * 100, // Convert to kobo
`Payment for invoice #${invoice.number}`,
`supplier-${invoice.id}`,
supplier.accountName // Supplier's name
);
Peer-to-Peer Payments
// Send money to friend's PayID
const p2pPayment = await transferManager.completePayIdTransfer(
process.env.INPAY_WALLET_PAYID, // Your wallet
friend.payId, // Friend's PayID
amount * 100, // Convert to kobo
`Payment from ${user.name}`,
`p2p-${Date.now()}`
);
🔒 Security Best Practices
Wallet Management
- Keep wallet PayID secure - Store in environment variables
- Monitor wallet balance - Ensure sufficient funds before transfers
- Use unique references - Each transfer needs a unique reference
- Log all transfers - Keep records for reconciliation
Transfer Security
- Always verify destinations - Check PayIDs and bank accounts before sending
- Validate amounts - Double-check amounts before processing
- Use meaningful references - Include order IDs, customer info, etc.
- Handle errors gracefully - Implement proper error handling
📚 Next Steps
- PayID-to-PayID Transfers - Learn about instant PayID transfers
- External Bank Transfers - Learn about bank account transfers
- Transfer Verification - Learn about account verification
- Webhooks - Handle real-time transfer notifications
Need Help?
- Check our API Reference for detailed endpoint documentation
- Review Code Examples for implementation guidance
- Contact support for assistance with integration