MxPay API Docs

Payouts

Automated merchant payout request endpoint.

POST/api/payout

Request Parameters

FieldTypeRequiredDescription
api_keyStringRequiredYour merchant API Key
amountNumberRequiredPayout amount
order_idStringRequiredUnique payout order ID
bank_nameStringRequiredRecipient bank name
account_numberStringRequiredRecipient account number
account_nameStringRequiredRecipient account holder name
ifscStringRequiredIFSC code
callbackStringRequiredWebhook notification URL
Note: The callback URL receives a POST with order_id, status, and amount when payout processing is completed.

Response Format

FieldTypeDescription
statusBooleantrue for success
messageStringSuccess message
order_idStringYour payout order ID
bank_nameStringTarget bank name
acc_numberStringRecipient account number
acc_nameStringRecipient account full name
ifscStringIFSC code

Code Example

<?php
$params = [
    'api_key'        => 'YOUR_API_KEY',
    'amount'         => 1000,
    'order_id'       => 'PAYOUT_12345',
    'bank_name'      => 'EXAMPLE BANK',
    'account_number' => '1234567890',
    'account_name'   => 'John Doe',
    'ifsc'           => 'EXMPL0001234',
    'callback'       => 'https://yourwebsite.com/callback',
];

$ch = curl_init("https://mxpay.one/api/payout");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);

if (curl_errno($ch)) {
    echo 'Error: ' . curl_error($ch);
} else {
    $result = json_decode($response, true);
    if (isset($result['status']) && $result['status'] === true) {
        echo "Payout initiated! Order ID: " . $result['order_id'];
    } else {
        echo "Error: " . ($result['message'] ?? 'Unknown error');
    }
}
curl_close($ch);
?>