1. 3. Redirect API
Mozarto - The Payments Orchestration Platform
  • 1. Introduction
  • 2. Authentication
  • 3. Redirect API
    • Pay-In Flow
    • Pay-Out Flow
    • Webhook Setup
    • Country Codes
    • Errors
    • Payment Providers (PSPs)
      • Overview
      • Brite
      • CashLib
      • Cleo
      • Contiant
      • emerchantpay
      • Flexepin
      • ForumPay
      • Gigadat
      • Neosurf
      • OFApay
      • PawaPay
      • PayModum
      • PayOne
      • Trust Payments
      • Worldpay
    • Sample requests
      • Overview
      • Pay-In
        • Brite
        • CashLib
        • Cleo
        • Contiant
        • emerchantpay
        • Flexepin
        • Forumpay
        • Gigadat
        • Neosurf
        • OFApay
        • PawaPay
        • Paymodum
        • PayOne
        • Trust Payments
        • WorldPay
      • Pay-Out
        • Cleo
        • Forumpay
        • Gigadat withdraw ACH
        • Gigadat withdraw ETO
        • OFApay
        • PawaPay
        • PayOne
        • Trust Payments
      • Webhook
        • PayOne status webhook
        • ForumPay status webhook
  • 4. Hosted page API
    • Pay-In Flow
    • Webhook Setup
    • Country Codes
    • Errors
    • Payment Providers (PSPs)
      • emerchantpay
      • Worldpay
      • Overview
    • Sample requests
      • Overview
  • Schemas
    • TransactionData
  1. 3. Redirect API

Pay-In Flow

Pay-In transactions use Mozarto's redirect flow: your backend initiates the Pay-In, Mozarto returns a hosted payment page URL, and your frontend redirects the user to complete payment. The final outcome arrives asynchronously via webhook.

How it works#

The Pay-In API call returns quickly (transaction/session created). The final status arrives later via webhook.

Endpoint#

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

Common request fields#

Fields marked with * are required.
FieldTypeDescription
pspType *stringPayment provider code (e.g. "FORUMPAY", "GIGADAT") - see PSP pages for the full list
type *stringAlways "PAYIN" for Pay-In
baseamount *numberPay-In amount as a number (e.g. 50.00)
currency *stringCurrency code (e.g. "EUR")
userId *stringYour internal user/player identifier
email *stringUser's email address
country *stringPayer's country - full name, ISO 3166-1 alpha-2, or alpha-3 (e.g. "Germany", "DE", "DEU"). See Country codes. Matched against the provider account's Processing Scope. Omit it and Mozarto geo-locates the caller's IP instead
merchantReferencestringOptional. Your own reference for the transaction, such as an order ID. Stored on the transaction and returned as merchantReference in the webhook for every provider except Contiant. Defaults to an empty string
webhookUrlstringOptional. Receives the webhook for this transaction instead of the URLs configured on the provider account. See Webhook Setup
Some providers require additional fields. See each PSP page for the exact payload.

Response (redirect URL)#

A successful response always has this shape:
{
  "status": "success",
  "message": "Successfully",
  "isSuccess": true,
  "data": {
    "status": "PENDING",
    "url": "https://payment-provider.com/pay/session/xyz",
    "sessionId": "60a74038-5b94-427e-8cff-abc123"
  }
}
FieldDescription
data.urlHosted payment page URL - redirect the user here
data.sessionIdSession identifier - use for transaction status queries
data.statusInitial transaction status - always PENDING on creation

Redirect URL field name#

The response field that contains the hosted payment page URL differs by provider. Do not hardcode a single field name - read the correct key from the relevant PSP page before implementing redirect logic.
ProviderRedirect URL field
ForumPaydata.url
Worldpaydata.paymentUrl
PayOnedata.redirect_url
Gigadatdata.webflowURL
The response confirms that the transaction was created. It does not confirm payment. The final outcome arrives via webhook.

Redirecting the user#

Set a pending state before redirecting - the payment outcome does not arrive on return from the PSP page, it arrives later via webhook.
Do not treat the user returning from the PSP page as payment confirmation. The PSP return URL is a UI navigation event only - it carries no authoritative outcome. The only authoritative source of truth is the transaction_status delivered via webhook. Keep the pending state visible until the webhook fires.
Your UI must handle the following states explicitly:

Pay-In APIs#

For the full request and response reference for each Pay-In provider, see the Redirect Flow APIs. For provider-specific fields, required parameters, and response examples, see the PSP reference pages.

Webhook result#

Mozarto calls your configured webhookUrl when the transaction reaches a final state. For payload details, security, duplicate handling, and local testing, see Webhook Setup.
Modified at 2026-11-03 08:08:12
Previous
3. Redirect API
Next
Pay-Out Flow
Built with