Authentication Errors
401 Unauthorized
Problem: Your API request returns a401 Unauthorized error.
Causes:
- Invalid API key
- Missing
Authorizationheader - Using test key in production or vice versa
Payment Errors
Payment Stuck in “Processing”
Problem: Payment stays inprocessing status for a long time.
Causes:
- Customer didn’t receive the notification
- Customer didn’t enter their PIN
- Network issues with Mobile Money provider
- Ask the customer to check their phone for notifications
- Ensure the phone number is correct
- Wait up to 90 seconds before timing out
- Allow the customer to retry
PAYER_NOT_FOUND
Problem: Payment fails withPAYER_NOT_FOUND error.
Causes:
- The phone number is not registered with the Mobile Money operator
- Wrong operator selected
- Verify the phone number format (should be international:
+242XXXXXXXXX) - Confirm the customer is using the correct operator (MTN or Airtel)
- Ask the customer to verify their Mobile Money registration
LOW_BALANCE
Problem: Payment fails with insufficient funds. Solutions:- Display a clear message to the customer
- Suggest they top up their Mobile Money account
- Allow them to retry after topping up
Webhook Issues
Webhooks Not Received
Problem: Your webhook endpoint is not receiving events. Causes:- Webhook URL not configured in dashboard
- Endpoint not publicly accessible
- Firewall blocking requests
- Server returning non-200 status
-
Verify webhook URL in dashboard:
- Go to app.yabetoo.com/developers
- Check the Webhooks tab
- Ensure URL is correct and uses HTTPS
-
Ensure endpoint is accessible:
-
Return 200 status:
Invalid Webhook Signature
Problem: Webhook signature verification fails. Solutions:- Make sure you’re using the correct webhook secret
- Use the raw request body (not parsed JSON) for signature verification
- Check the timestamp isn’t too old
API Request Issues
400 Bad Request
Problem: API returns validation errors. Common causes and fixes:| Error | Cause | Fix |
|---|---|---|
currency required | Missing currency field | Add "currency": "xaf" |
amount required | Missing amount | Add amount in smallest unit |
invalid phone | Wrong phone format | Use international format |
Request Timeout
Problem: API requests are timing out. Solutions:- Increase your client timeout (recommended: 30-60 seconds)
- Check your network connection
- Verify you’re using the correct endpoint URL
Sandbox vs Production
Payments Work in Sandbox but Not in Production
Checklist:- Using
sk_live_key (notsk_test_) - Using production URL:
https://pay.api.yabetoopay.com - Account is activated for live payments
- Using real phone numbers (not test numbers)
Test Numbers Not Working
Problem: Test numbers don’t behave as expected. Solutions:- Verify you’re using the sandbox environment
- Check you’re using the correct test number for the desired outcome
- See Testing guide for valid test numbers
Getting Help
If you’re still having issues:- Check the API response - Error messages often contain helpful details
- Review the logs - Check your server logs for errors
- Test in sandbox first - Verify your integration works in sandbox
- Contact support - Email [email protected] with:
- Your account ID
- The request/response details
- Steps to reproduce the issue
When contacting support, include the payment intent ID or transaction ID to help us investigate faster.