Complete withdrawal
Submit the email code to complete verification for this withdrawal. Payout may still be processing after a successful response. Monitor until completed. If reconciliation is required, keep the existing transaction and contact support.
Submit the email code to complete verification for this withdrawal. Payout may still be processing after a successful response. Monitor until completed. If reconciliation is required, keep the existing transaction and contact support.
Required API key scope: withdraw.
Request example
POST /api/mpesa/withdraw HTTP/1.1Host: api.edgepro.siteX-API-Key: <your-api-key>X-Deripay-API-Version: 2Accept: application/jsonContent-Type: application/json{ "connection_id": "conn_example_01", "transaction_id": "507f1f77bcf86cd799439011", "verification_code": "123456"}partnerAPIKeyX-API-Key<token>X-API-Key*stringYour API key. Send requests from your server.
X-Deripay-API-Version*stringSelects the response and error format documented here. Without it, the same URL returns the original format.
Accept?stringapplication/json- body
connection_id*stringtransaction_id*stringverification_code*string[key: string]?anyRequest accepted. Check the transaction status to confirm payment completion.
application/json- response
success*booleanmessage*stringdata*curl -X POST 'https://api.edgepro.site/api/mpesa/withdraw' \ -H 'X-API-Key: <your-api-key>' \ -H 'X-Deripay-API-Version: 2' \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ "connection_id": "conn_example_01", "transaction_id": "507f1f77bcf86cd799439011", "verification_code": "123456"}'{ "success": true, "message": "Withdrawal processed successfully", "data": { "id": "507f1f77bcf86cd799439011", "connection_id": "conn_example_01", "type": "withdrawal", "payment_method": "mobile_money", "status": "processing", "country": "KE", "network": "mpesa", "local": { "amount": "650", "currency": "KES" }, "settlement": { "amount": "5.00", "currency": "USD" }, "idempotency_key": "withdrawal-order-1002", "account_login_id": "CR123456", "next_action": null, "failure": null, "created_at": "2026-10-12T09:00:00Z", "updated_at": "2026-10-12T09:00:00Z", "completed_at": null }}Resend withdrawal verification POST
Resend the email code for the same withdrawal. Supply its connection and transaction IDs. If throttled, wait before retrying; keep using the existing withdrawal.
List transactions GET
Get up to 20 of this connection’s newest transactions. This endpoint has no pagination parameters. Use statistics for payment totals and trends.