Skip to main content

    Docs · API Reference

    Endpoints, request bodies, responses, and errors.

    The ArosaPay API is REST + JSON with bearer auth. All resources speak the same transaction identity model.

    Resources

    Transactions

    POST /v1/transactions — create a protected transaction. GET /v1/transactions/:id — fetch state and identifiers.

    Payment links

    POST /v1/payment_links — generate a share-safe protected checkout link.

    Confirmations

    POST /v1/transactions/:id/confirm — buyer-side confirmation. Applies release.

    Disputes

    POST /v1/disputes — open a dispute against a transaction. GET /v1/disputes/:id — read state and evidence.

    Refunds

    POST /v1/refunds — refund a released or partially released transaction, per the merchant agreement.

    Payouts

    GET /v1/payouts — list payouts. GET /v1/payouts/:id — read a single payout with its transaction lines.

    Errors

    Shape

    Every error returns { error: { code, message, request_id } }. Log the request_id when reporting issues.

    Codes

    invalid_request, authentication_failed, permission_denied, not_found, conflict, rate_limited, internal_error.

    Rate limits

    Per key

    60 requests per minute per API key by default. Contact support for higher limits.

    429 handling

    Retry-After header indicates the seconds to wait. Back off and retry.

    Idempotency

    Attach merchant_reference on create.

    Reposting the same merchant_reference returns the existing transaction. Never double-create.

    SDK reference