1. 5. Redirect flow
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
  1. 5. Redirect flow

Pay-Out Flow

Pay-Out#

A Pay-Out allows your platform to send funds to a user - for example, processing a Pay-Out or returning funds to a bank account.
Not all payment providers support Pay-Out. See the PSP overview for the full list.

How it works#

Unlike Pay-In, there is no redirect URL. You initiate the transfer and wait for the webhook.

Endpoint#

POST /v1/api/mozarto/cashier
Include the required authentication headers:
Authorization: Bearer <company-jwt>
x-user-token: Bearer <user-jwt>
Content-Type: application/json

Common request fields#

Fields marked with * are required.
FieldTypeDescription
pspType *stringPayment provider code (e.g. "FORUMPAY", "GIGADAT") - see PSP pages
type *stringAlways "PAYOUT" for Pay-Out
baseamount *numberPay-Out amount as a number (e.g. 100.00)
currency *stringCurrency code (e.g. "EUR")
userId *stringYour internal user/player identifier
email *stringUser's email address
countrystringUser's country code - required for some providers
brandIdstringBrand identifier for multi-brand setups
Some providers require additional fields (wallet address for crypto, bank details for ACH). See each PSP page.

Response#

{
  "status": "success",
  "message": "Successfully",
  "isSuccess": true,
  "data": {
    "status": "PENDING",
    "transactionId": "64a1f2b3c4d5e6f7a8b9c0d1"
  }
}
The response confirms the Pay-Out was submitted. Final confirmation (success or failure) arrives via webhook.

Implementation#

Unlike Pay-In, there is no redirect URL. Show a "processing" state after submission and wait for the webhook to deliver the final outcome.

Pay-Out APIs#

For the full request and response reference for each Pay-Out provider, see the Pay-Out APIs in the left sidebar. Example: ForumPay Pay-Out.

Webhook result#

Mozarto calls your webhookUrl when the payout reaches a final state:
{
  "transaction_id": "64a1f2b3c4d5e6f7a8b9c0d1",
  "psp_transaction_id": "HS923856HU",
  "user_id": "user_123",
  "status": "confirmed",
  "transaction_status": "Approved",
  "message": "Payout processed successfully",
  "amount": "100.00",
  "currency": "EUR",
  "merchantReference": ""
}
transaction_statusMeaningAction
ApprovedFunds transferred successfullyConfirm to the user
DeclinedTransfer declined by PSPNotify the user
FailedTransfer failed due to a technical errorNotify the user
RejectedPayout rejected during a manual approval stepDo not debit the user; notify and stop processing

Approval flow#

Some providers or account configurations require manual approval before a payout is processed. In those cases:
1.
The payout is created with status: PENDING
2.
An operator approves or rejects it in the Mozarto back office
3.
On approval, the transfer is submitted and the normal webhook flow continues
4.
On rejection, your webhookUrl receives status: REJECTED
Modified at 2026-05-08 07:37:15
Previous
Pay-In Flow
Next
Webhook Setup
Built with