DeriPayDeriPayDeriv docs
DeriPayDeriPayDeriv docs
Deriv partner portalDeripay Partner API

Get started

Partner portalAuthentication and authorizationCustomer authorization

Move money

Markets and ratesDepositsWithdrawalsWallet and Options transfersTransaction status and eventsFailed transactions and reporting issuesStatistics and CSV exports

Reliability

Idempotency and retriesErrors and recoveryGo-live checklist

API reference

API reference
Health check GETAuthorize customer POSTGet connection GETSave default phone PATCHGet balances GETList payment corridors GETGet exchange rate and limits GETGet Kenya exchange rate and limits GETCreate mobile money deposit POSTCreate crypto deposit POSTSubmit deposit verification POSTStart withdrawal verification POSTResend withdrawal verification POSTComplete withdrawal POSTList transactions GETGet transaction GETMonitor transaction GETList Wallet–Options transfers GETCreate or retry Wallet–Options transfer POSTGet Wallet–Options transfer GETDismiss unconfirmed transfer POSTGet statistics GETExport statistics CSV GETList earnings by transaction GETGet earnings by customer GET

Deripay Partner API

API referencePayment API

Resend withdrawal verification

Resend the email code for the same withdrawal. Supply its connection and transaction IDs. If throttled, wait before retrying; keep using the existing withdrawal.

POST
/api/mpesa/withdrawal-verification/resend

Resend the email code for the same withdrawal. Supply its connection and transaction IDs. If throttled, wait before retrying; keep using the existing withdrawal.

Required API key scope: withdraw.

Request example

POST /api/mpesa/withdrawal-verification/resend 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"}

Authorization

partnerAPIKey
headerX-API-Key<token>

Header Parameters

X-API-Key*string

Your API key. Send requests from your server.

X-Deripay-API-Version*string

Selects the response and error format documented here. Without it, the same URL returns the original format.

Accept?string

Request Body

application/json
  1. body
  1. body
  2. …
connection_id*string
transaction_id*string
[key: string]?any

Response Body

Request accepted. Check the transaction status to confirm payment completion.

application/json
  1. response
  1. response
  2. …
success*boolean
message*string
data*
curl -X POST 'https://api.edgepro.site/api/mpesa/withdrawal-verification/resend' \  -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"}'
{  "success": true,  "message": "Withdrawal verification email resent successfully",  "data": {    "id": "507f1f77bcf86cd799439011",    "connection_id": "conn_example_01",    "type": "withdrawal",    "payment_method": "mobile_money",    "status": "action_required",    "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": {      "type": "email_code"    },    "failure": null,    "created_at": "2026-10-12T09:00:00Z",    "updated_at": "2026-10-12T09:00:00Z",    "completed_at": null  }}

Start withdrawal verification POST

Start withdrawal email verification after the customer confirms the destination number and network. Save an idempotency key before calling. The status can be pending while the email is prepared. Submit the email code to /api/mpesa/withdraw.

Complete withdrawal POST

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.