Skip to main content

Troubleshooting

This guide helps you troubleshoot common issues when integrating with the Zikopay API.

Authentication Issues

Invalid API Key

Symptom: You receive a 401 Unauthorized response with the message "Invalid API Key"

Solution:

  • Verify you're using the correct API key and secret
  • Check for whitespace or extra characters in your key
  • Ensure you're using the right key for the environment (test vs. production)

API Key Permissions

Symptom: You receive a 403 Forbidden response when calling certain endpoints

Solution:

  • Check if your API key has the necessary permissions
  • Request additional scopes for your API key if needed

Transaction Issues

Failed Transactions

Symptom: Transactions are failing consistently

Solution:

  • Check the error message in the response for specific details
  • Verify customer information is correct (phone number format, etc.)
  • Ensure you're using a supported operator for the customer's region
  • Confirm the customer has sufficient funds

Pending Transactions

Symptom: Transactions are stuck in "pending" status

Solution:

  • Check if the customer completed the payment on their device
  • Verify your webhook URL is accessible and responding with 200 OK
  • Wait for the standard processing time (up to 15 minutes for mobile money)
  • Use the transaction status API to check for updates

Webhook Issues

Missing Webhooks

Symptom: You're not receiving webhooks for transaction updates

Solution:

  • Verify your webhook URL is publicly accessible
  • Check server logs to confirm requests are reaching your server
  • Ensure your server responds with a 200 OK status code
  • Verify firewall settings allow incoming requests from Zikopay IPs

Duplicate Webhooks

Symptom: You receive the same webhook multiple times

Solution:

  • Implement idempotent processing using the transaction reference
  • Return 200 OK responses promptly to acknowledge receipt

Mobile Money Issues

Operator Not Available

Symptom: You get an error that the selected operator is not available

Solution:

  • Verify the operator code is correct (e.g., mtn_cm, orange_cm)
  • Check if the operator is supported in the customer's country
  • Confirm your merchant account is enabled for this operator

USSD Prompt Not Received

Symptom: Customer reports not receiving the USSD prompt to complete payment

Solution:

  • Verify the phone number format includes country code (e.g., 237xxxxxxxxx)
  • Check if the customer has an active account with the operator
  • Suggest the customer check their network connection

Common Error Codes

Error CodeDescriptionSolution
invalid_requestMissing or invalid parametersCheck request parameters against API docs
insufficient_fundsWallet balance too low for payoutAdd funds to your merchant wallet
operator_unavailableSelected payment operator is unavailableTry an alternative operator or try again later
invalid_phonePhone number format is invalidCheck country code and number format
transaction_expiredPayment request has expiredCreate a new transaction

Contact Support

If you continue to experience issues after trying these troubleshooting steps, please contact our support team:

  • Email: support@zikopay.com
  • Include your merchant ID and transaction references
  • Provide detailed error messages and steps to reproduce the issue