IdealBoxPay

Documentation

Take your first payment.

Everything below is the real contract: the routes, the statuses, the failure codes, and the rules a correct integration follows.

Try it

Pick an operation, paste a test secret key, and send. The request goes straight from your browser to the API — nothing passes through this site.

Request builder

A real call, in test mode, with your own key.

Kept in this page only. Never stored, never sent anywhere but the API.

POST https://secure.idealbox.org/v1/payment_intents

Endpoints

What is shipped, and what is specified but not yet built. The second list is here so you can plan against it, not integrate against it.

VerbPathWhat it doesState
POST/v1/payment_intentsCreate a payment. Send an Idempotency-Key.Idempotent
POST/v1/payment_intents/:id/confirmRoute the payment to a provider and start it.
GET/v1/payment_intents/:idRetrieve a payment and every charge attempted against it.
GET/v1/payment_intentsList payments, filtered, searched and paginated.
POST/v1/customersCreate a customer you can reuse across payments.
GET/v1/providersWhich methods will work for a corridor and amount.
POST/v1/payment_intents/:id/cancelCancel a payment while it is still non-terminal.Not built
POST/v1/payment_intents/:id/refundsRefund a captured payment in full or in part.Not built
POST/v1/disbursementsSend money out to a third party.Not built
GET/v1/wallets/:id/balanceRead a wallet’s pending and available balances.Not built
GET/v1/balance/transactionsThe balance statement, line by line.Not built
POST/v1/payoutsWithdraw to your own destination.Not built
POST/v1/payment-linksCreate a one-time or reusable payment link.Not built

Status codes

The HTTP status and the stable code that arrives with it. Your request log in the dashboard records the same code, so a code you filter by is a code documented here.

HTTPerror.code
400invalid_request
401unauthenticated
403permission_denied
404resource_missing
409resource_conflict
412idempotency_key_reused
422unprocessable_entity
429rate_limit_exceeded
503processor_unavailable
500api_error

Machine-readable

OpenAPI 3.1, generated from the controller’s own decorators and served by the API itself. The Postman collection is generated from that document, and Insomnia imports the same file.