Kutanapay Merchant API
  1. Merchant Payouts
Kutanapay Merchant API
  • Merchant API Keys
    • Create Api Key
      POST
    • Get Api Keys
      GET
    • Revoke Api Key
      DELETE
  • Merchant Wallet
    • Get All Wallets
      GET
    • Get Wallet Transactions
      GET
    • Process Refund
      POST
    • Get Settlement Batches
      GET
    • Update Wallet Status
      PATCH
    • Get Wallet By Currency
      GET
  • Merchant Customer Transactions
    • Get Merchant Transactions
      GET
    • Get Merchant Transaction
      GET
  • Merchant Checkout
    • Create Checkout
      POST
    • List Checkouts
      GET
    • Get Checkout
      GET
  • Merchant Webhooks
    • Create Webhook
      POST
    • Get Webhooks
      GET
    • Update Webhook
      PUT
    • Delete Webhook
      DELETE
  • Merchant Branding
    • Get Branding
      GET
    • Update Branding
      PUT
  • Merchant Payment Accounts
    • Add Payment Account
    • Get Payment Accounts
    • Get Payment Account
    • Update Payment Account
    • Delete Payment Account
  • Merchant Withdrawals
    • Initiate Withdrawal
    • Get Withdrawal History
    • Cancel Withdrawal
    • Get Withdrawal
  • Merchant Payouts
    • Initiate Payout
      POST
    • Get Payout History
      GET
    • Cancel Payout
      POST
    • Get Payout
      GET
  1. Merchant Payouts

Initiate Payout

POST
/api/v1/merchants/payouts
Initiate a payout to a third party (contractor, supplier, etc).
Use Cases:
Pay contractors/freelancers for services
Pay suppliers for goods
Marketplace disbursements to sellers
Refunds or reimbursements to third parties
Recipient details for bank transfer:
recipient_name (required) - Full name of recipient
bank_account_number (required) - Bank account number
bank_name (required) - Name of the bank
account_holder_name (required) - Account holder name
bank_routing_number (optional) - Routing/sort code
recipient_email (optional) - Recipient email
recipient_phone (optional) - Recipient phone
Recipient details for mobile money:
recipient_name (required) - Full name of recipient
mobile_number (required) - Mobile number
network_provider (required) - Network: mtn_momo, mpesa, orange_money, vodafone_cash
recipient_email (optional) - Recipient email
recipient_phone (optional) - Recipient phone
Creates entries in BOTH ledgers:
merchant_transactions: Customer-facing ledger (merchants can track business payments)
merchant_wallet_transactions: Internal audit trail
Fee: 1.5% of payout amount (configurable per currency/type in future)

Request

Authorization
Add parameter in header
x-api-key
Example:
x-api-key: ********************
Header Params

Body Params application/json

Examples

Responses

🟢200OK
application/json
Successful Response
Body

🟠422Parameter Error
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST '/api/v1/merchants/payouts' \
--header 'x-api-key: <api-key>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "amount": 800,
    "currency_code": "NGN",
    "notes": "Q4 contractor payment",
    "payout_reason": "Invoice #12345 - Web development services",
    "payout_type": "bank_transfer",
    "recipient_details": {
        "account_holder_name": "John Doe",
        "bank_account_number": "1234567890",
        "bank_name": "Example Bank",
        "recipient_email": "john@example.com",
        "recipient_name": "John Doe"
    }
}'
Response Response Example
200 - Example 1
{}
Modified at 2025-10-20 10:39:25
Previous
Get Withdrawal
Next
Get Payout History
Built with