Skip to main content

Which key should I use with the REST API?

The secret key of the target environment, in Authorization: Bearer. It must stay on the server side. Details: Authentication.

Can I use a Sandbox key with the Live environment?

No. The key must belong to the same environment as Ipay-Target-Environment. Details: Authentication and Getting started.

How do I know whether a payment really succeeded?

Check on the server side that GET /api/v1/payments/{reference} returns status: succeeded, or process an authenticated webhook and then confirm the status if the action is sensitive. Details: Retrieve a transaction.

Can I reuse transaction_id?

No: this external reference must be unique for your account, and a duplicate returns 422 External Reference Not Valid in Live (in Sandbox, the response is not guaranteed to be identical — to be confirmed with support; in both cases the payment is not created). This detection is applied at the application level and is not guaranteed under concurrent calls; the API does not expose any idempotency key. Generate a unique transaction_id for each attempt. Details: Errors.

Why does my Live payment return Incorrect MSISDN?

This message only concerns the format of the msisdn for the method used: it must include the expected country code and match the country and a supported operator. If the format is correct, the error comes from somewhere else — check the Ipay-Payment-Type header and the account permissions, which produce different responses. Details: Errors.

Does the webhook replace the API check?

No. It avoids continuous polling, but the check remains useful for sensitive actions, user feedback and reconciliation. Details: Webhooks.

Which SDKs are currently documented?

A JavaScript SDK and a WooCommerce module. For PHP, Java, Flutter or Android, no guide is published: use the REST API from your backend, or ask support to confirm whether an official package is available. The OpenAPI contract and the Postman collection are on the Downloads page.

Where can I find the error messages?

On the Errors page. For a support request, see Support.