1. 7. Payment Providers (PSPs)
Mozarto - The Payments Orchestration Platform
  • 1. Introduction
  • 2. Quick Start
  • 3. Authentication
  • 4. Webhook Setup
  • 5. Errors
  • 6. Redirect flow
    • Pay-In Flow
    • Pay-Out Flow
  • 7. Payment Providers (PSPs)
    • Overview
    • Brite
    • CashLib
    • Cleo
    • Contiant
    • emerchantpay
    • Flexepin
    • ForumPay
    • Gigadat
    • Neosurf
    • OFApay
    • PayModum
    • PayOne
    • PawaPay
    • Trust Payments
    • Worldpay
  • 8. Redirect Flow APIs
    • Redirect Flow APIs - overview
    • Pay-In
      • Brite
      • CashLib
      • Cleo
      • Contiant
      • emerchantpay
      • Flexepin
      • Forumpay
      • Gigadat
      • Neosurf
      • OFApay
      • PayOne
      • PawaPay
      • Trust Payments
      • WorldPay
    • Pay-Out
      • Cleo
      • Forumpay
      • Gigadat withdraw ACH
      • Gigadat withdraw ETO
      • PawaPay
      • PayOne
      • Trust Payments
  • Webhook
    • ForumPay status webhook
    • PayOne status webhook
  • Schemas
    • TransactionData
  1. 7. Payment Providers (PSPs)

Overview

PSP Overview#

Supported operations#

ProviderPay-InPay-OutWebhookPayment type
ForumPay✓✓✓Cryptocurrency
Gigadat✓✓✓Bank transfer
Worldpay✓-✓Card
Trust Payments✓--Card
Cleo✓✓✓Bank transfer
PayOne✓✓✓Bank transfer
Neosurf✓-✓Voucher
Flexepin✓--Voucher
Brite✓-✓Bank transfer
emerchantpay✓-✓Card
Contiant✓-✓Bank transfer
PawaPay✓✓✓Mobile Money
CashLib✓-✓Voucher
OFApay✓✓✓E-wallet / QR / Bank transfer
PayModum✓✓✓Bank transfer (US ACH)

Endpoint#

All transactions use the same endpoint. Set pspType to select the provider:
POST /v1/api/mozarto/cashier
Body fieldDescription
pspTypeProvider code - see values in the table below
type"PAYIN" for Pay-In, "PAYOUT" for Pay-Out
countryCountry of the payer - required on every request (see Country)

pspType values#

ProviderpspType
ForumPay"FORUMPAY"
Gigadat"GIGADAT"
Worldpay"WORLDPAY_EU"
Trust Payments"TRUST"
Cleo"CLEO"
PayOne"PAYONE"
Neosurf"NEOSURF"
Flexepin"FLEXEPIN"
Brite"BRITE"
emerchantpay"EMERCHANTPAY"
Contiant"CONTIANT"
PawaPay"PAWAPAY"
CashLib"CASHLIB"
OFApay"OFAPAY"
PayModum"PAYMODUM"

Pay-In request fields - at a glance#

FieldForumPayGigadatWorldpayTrustCleoPayOneNeosurfFlexepinemerchantpayContiantBritePawaPayCashLibOFApayPayModum
baseamount✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓
currency✓optional✓✓✓✓✓✓✓✓✓✓✓✓✓
email✓✓✓✓✓✓✓✓✓optionaloptional--from token✓
country✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓
firstName / lastName-optional✓✓✓✓--✓optionaloptional--from token✓
phone-✓✓✓✓✓--optional--optional✓✓optional
Card details--✓✓----✓------
voucherPin-------✓-------
dob--✓✓✓-----optional-✓-optional
Full address-optional✓✓✓---optional-optional-✓optionaloptional
paymentMethod-------------✓-
ssn--------------optional
For the full field list for each provider, click through to the individual PSP page.

Country#

Send country on every Pay-In and Pay-Out request, for every provider. Mozarto matches it against the Processing Scope configured for the provider - first at company level, then on the account your brand uses (Payments Module - your brand - the account - Processing Scope). A request whose country falls outside either scope is rejected with HTTP 400.

Accepted values#

For scope matching, Mozarto accepts any of three forms, case-insensitively, and normalizes them internally:
FormExample
Full country name"Germany"
ISO 3166-1 alpha-2"DE"
ISO 3166-1 alpha-3"DEU"
Individual providers are stricter about what they forward to the provider API - CashLib expects alpha-3, Cleo accepts only "Chile", "Peru", or "Mexico", and several providers derive the charged currency from the country. Use the form documented on the provider page.

If you omit it#

Mozarto resolves the country by geo-locating the caller's IP address and continues with the country it detects. Treat that as a safety net, not a feature:
Server-to-server calls, proxies, VPNs, and load balancers report the country of your infrastructure, not the payer's. A wrong country routes the transaction to the wrong account or rejects it.
When the IP cannot be resolved to a country, the scope check is skipped entirely, so a request that should have been rejected may go through to the provider.
Providers that need the country in their own payload still fail without a usable value.
Always send country explicitly.
Modified at 2026-09-14 13:23:41
Previous
Pay-Out Flow
Next
Brite
Built with