Mozarto - The Payments Orchestration Platform
    • 1. Introduction
    • 2. Quick Start
    • 3. Authentication
    • 4. Errors
    • 5. Redirect flow
      • Pay-In Flow
      • Pay-Out Flow
      • Webhook Setup
    • 6. Payment Providers (PSPs)
      • Overview
      • Brite
      • Cleo
      • Flexepin
      • ForumPay
      • Gigadat
      • Neosurf
      • Payone
      • Trust Payments
      • WorldPay
    • 7. Redirect Flow APIs
      • PayIn
        • Forumpay
        • Payone
      • PayOut
        • Forumpay
        • Payone
    • Schemas
      • TransactionData

    4. Errors

    Errors#

    HTTP status codes#

    CodeMeaning
    200 OKRequest succeeded
    400 Bad RequestInvalid request body - missing required field or validation failure
    401 UnauthorizedMissing or invalid Bearer token
    403 ForbiddenToken valid but action not permitted (e.g. password expired)
    500 Internal Server ErrorUnexpected server error - retry with backoff

    Error response format#

    All errors return a consistent JSON body:
    {
      "status": "error",
      "message": "Error description",
      "isSuccess": false,
      "errors": ["Specific validation error"]
    }
    FieldTypeDescription
    statusstringAlways "error" for error responses
    messagestringHuman-readable description of the problem
    isSuccessbooleanAlways false for error responses
    errorsarrayList of specific error messages (may be empty)

    Common errors#

    Missing required field - 400#

    {
      "status": "error",
      "message": "Missing required field: pspType",
      "isSuccess": false,
      "errors": []
    }
    Check the PSP reference page for required fields.

    Validation failed - 400#

    {
      "status": "error",
      "message": "Validation failed",
      "isSuccess": false,
      "errors": [
        "amount must not be empty",
        "email must be a valid email"
      ]
    }

    Invalid token - 401#

    {
      "status": "error",
      "message": "Unauthorized",
      "isSuccess": false,
      "errors": []
    }
    Verify the Bearer token is present and has not expired.

    Orchestration rule not configured - 400#

    {
      "status": "error",
      "message": "Rules action is not matched",
      "isSuccess": false,
      "errors": []
    }
    No active Orchestration rule exists for your company and the selected PSP. Go to Orchestration in the back office, create a rule that matches your company (or sub-brand) and the pspType you are using, and ensure the rule is active before retrying.

    PSP configuration not found - 400#

    {
      "status": "error",
      "message": "Something went wrong",
      "isSuccess": false,
      "data": "PSP Configuration not found. Please check you psp Configuration"
    }
    The payment provider is not configured for your company in the Mozarto back office. Go to Payment Methods - Configuration, select the provider, and save the required credentials (username, password, webhook URL, and any provider-specific fields) under your company before retrying.

    Provider returned an error - 400#

    {
      "status": "error",
      "message": "Payment provider rejected the request",
      "isSuccess": false,
      "errors": ["Invalid currency for selected provider"]
    }
    The request reached the payment provider but was rejected. Check the errors array for the provider's reason.

    Retry guidance#

    Retry only when the failure is likely transient. Retrying a request with invalid data can create noise and slow down recovery.
    When retrying 500 errors, use exponential backoff (for example: 1s, 2s, 4s, 8s; cap at 30s) and stop after a small number of attempts.
    Modified at 2026-05-05 09:23:32
    Previous
    3. Authentication
    Next
    5. Redirect flow
    Built with