Base URL

https://api.rohopay.com

Authentication

Endpoint GroupAuth Method
/api/v1/*Authorization: Bearer {api_key}
/api/v1/checkoutapi_key in request body
/dashboard/*Session cookie (dashboard login)
/api/v2/digital/*Session cookie (dashboard login)
/api/v2/plugins/*Session cookie (dashboard login)
/api/v2/reports/*Session cookie (dashboard login)
/api/v2/public/*No auth required
/webhooks/*HMAC or token verification

Response Envelope

All responses follow the same JSON structure:
{
  "success": true | false,
  "data": { ... },         // present when success: true
  "message": "...",        // optional human-readable message
  "error": {               // present when success: false
    "code": "ERROR_CODE",
    "message": "Human description",
    "reference": "RHP-..."  // optional transaction reference
  }
}

Complete Endpoint Index

Health

MethodPathAuthDescription
GET/healthNoneAPI health check

Authentication (User)

MethodPathAuthDescription
POST/auth/user/loginNoneEmail/password login
POST/auth/user/signupNoneCreate account
POST/auth/user/verify-emailNoneVerify email with code
POST/auth/user/resend-verificationNoneResend verification email
GET/auth/google/loginNoneGoogle OAuth redirect
GET/auth/meSessionGet current user
POST/auth/logoutSessionInvalidate session

Payments API (v1)

MethodPathAuthDescription
POST/api/v1/collectAPI KeyCollect mobile money
POST/api/v1/disburseAPI KeySend mobile money (live only)
GET/api/v1/transactionsAPI KeyList transactions
GET/api/v1/transactions/:refAPI KeyGet transaction by reference
GET/api/v1/wallet/balanceAPI KeyGet wallet balances
POST/api/v1/checkoutBody (api_key)Initiate card payment

Webhooks

MethodPathAuthDescription
POST/webhooks/relworxHMAC-SHA256Card & mobile provider webhook
POST/webhooks/iotecTokenMobile money provider webhook
GET/webhooks/relworx/visa/callbackNoneVisa 3DS return URL

Dashboard API (Session Auth)

MethodPathDescription
GET/dashboard/meCurrent user profile
GET/dashboard/walletWallet details + balances
POST/dashboard/wallet/topupTop up via mobile money
POST/dashboard/wallet/card-topupTop up via card
POST/dashboard/wallet/withdrawWithdraw to mobile money
GET/dashboard/statsDashboard statistics
GET/dashboard/projectsList projects
POST/dashboard/projectsCreate project
PUT/dashboard/projects/:idUpdate project
DELETE/dashboard/projects/:idDelete project
GET/dashboard/projects/:id/api-keysList API keys
POST/dashboard/projects/:id/api-keysCreate API key
DELETE/dashboard/projects/:id/api-keys/:keyIDRevoke API key
POST/dashboard/projects/:id/api-keys/:keyID/rotateRotate API key
GET/dashboard/transactionsList all transactions
POST/dashboard/transactions/:ref/syncForce-sync transaction status
GET/dashboard/webhook-configGet webhook configuration
GET/dashboard/wallets/lookupLook up wallet by email
POST/dashboard/transfersCreate P2P transfer
GET/dashboard/transfersList transfers

Digital Products API (v2, Session Auth)

MethodPathDescription
GET/POST/api/v2/digital/productsList / create products
GET/PUT/DELETE/api/v2/digital/products/:idGet / update / delete product
GET/POST/api/v2/digital/linksList / create payment links
GET/PUT/DELETE/api/v2/digital/links/:idGet / update / delete link
GET/api/v2/digital/links/:id/revenueRevenue for a link
GET/api/v2/digital/ordersList orders
GET/api/v2/digital/orders/:idGet order
PUT/api/v2/digital/orders/:id/statusUpdate order status
PUT/api/v2/digital/orders/:id/deliveryUpdate delivery content
GET/api/v2/digital/orders/:id/resourceGet order resource (buyer)
GET/PUT/api/v2/digital/settingsDigital product settings
POST/api/v2/digital/uploadUpload product file

Public Checkout API (v2, No Auth)

MethodPathDescription
GET/api/v2/public/checkout/:slugGet checkout page details
POST/api/v2/public/checkout/:slug/payProcess payment on checkout page
GET/api/v2/public/checkout/:slug/order/:idPoll order status

WordPress Plugin API (v2, Session Auth)

MethodPathDescription
GET/POST/api/v2/plugins/connectionsList / create connections
GET/DELETE/api/v2/plugins/connections/:idGet / delete connection
PUT/api/v2/plugins/connections/:id/settingsUpdate settings
POST/api/v2/plugins/connections/:id/regenerate-tokenNew site token
GET/api/v2/plugins/transactionsList plugin transactions
GET/PUT/api/v2/plugins/routingGet / update routing rules

Reporting API (v2, Session Auth)

MethodPathDescription
GET/api/v2/reports/transactionsTransactions with filters
GET/api/v2/reports/analyticsAnalytics & volume breakdown
GET/api/v2/reports/settlementsSettlement records
GET/POST/api/v2/reports/exportsList / create data exports
GET/api/v2/reports/reconciliationReconciliation items
PUT/api/v2/reports/reconciliation/:idMark item reconciled

Pagination

Endpoints that return lists accept optional query parameters:
ParameterDefaultDescription
limit20Max items per page (max 100)
offset0Number of items to skip
fromISO 8601 date filter (start)
toISO 8601 date filter (end)
statusFilter by transaction status
typeFilter by transaction type
environmentFilter by test or live