Skip to main content
The Flowlix Merchant API lets your server create and retrieve card payments, refund succeeded payments, submit card payouts, and receive payment and refund notifications. Start with a Sandbox integration using the Quickstart below.
Coordinated /v1 payment cutover. Both POST /v1/payments and POST /v1/payments/hpp require merchant_customer_id. Deploy this field before the coordinated activation. There is no /v2 endpoint or compatibility window for this change.
Experimental: Apple Pay and Google Pay. Wallet support and this guidance are still being refined and are not final. The current Direct API contract accepts prepared decrypted wallet credentials for enabled integrations; encrypted wallet input is documented but rejected in this release. Confirm the supported wallet route and provider setup with Flowlix before enabling a new merchant. See the wallet input reference for the current contract.

Choose a payment integration

Hosted Payment Page

Redirect the customer to a Flowlix-hosted card form. Flowlix collects the card details and handles any required browser authentication.

Direct API

Collect card details in your own checkout and submit them from your server. This path requires a PCI-compliant card-data environment.
Both paths create the same Payment resource. Your server retrieves that Payment for its current status and can receive Webhooks when it changes; the browser return is never the authoritative result. Not sure which path fits? Use the Quickstart chooser.

Base URL

All requests in this documentation use:
Endpoints are versioned under /v1, for example https://api.flowlix.eu/v1/payments. Send the appropriate secret key from your server on every authenticated request.

Core resources

IDs such as pay_..., ref_..., and po_... are opaque. Store them; do not derive business meaning from their characters.

Amounts and currencies

Amounts are integers in the currency’s minor units, using its ISO 4217 exponent. For example, 4999 is EUR 49.99 (exponent 2). Other exponents can occur in historical Payment and Refund records: for example, 4999 is JPY 4999. Payout currencies are independently supported and follow their own ISO exponents. Do not assume every stored currency has two decimal places. Requests use three-letter ISO 4217 currency codes. Flowlix returns their canonical uppercase form. New Direct and Hosted Payment Page Payments accept only EUR and GBP. New Refunds inherit the original Payment currency and are available only for Payments in the supported payment currencies. Payout currencies are independent; see Payouts.

Customer identity on payment creation

Send merchant_customer_id on every Direct and Hosted Payment Page create. It is your stable identifier for the logical customer or recognized guest within one merchant, and you must reuse the same value for that customer. Use an opaque, non-PII value such as cust_opaque_42. Never send an email, phone number, login, name, order ID, Payment ID, payment-attempt ID, or a fresh per-payment UUID. The value must be nonblank, contain 1–255 Unicode scalar values, and contain no U+0000. Flowlix preserves it exactly: case and all leading, internal, and trailing whitespace are significant. An omitted or explicit-null value returns 400 request_body_invalid; invalid content returns 400 parameter_invalid. Both errors use param: merchant_customer_id. See API errors.

Start here

1

Configure your test key

Follow Authentication and keep the key in a server-side environment variable or secrets manager.
2

Create a test payment

Open the Quickstart chooser, then complete either the Hosted Payment Page or Direct API path.
3

Confirm the final status

Retrieve the Payment until it reaches SUCCEEDED, FAILED, or EXPIRED. See Payment lifecycle.
4

Continue your integration

Support

Contact developers@flowlix.eu. Include the Request-Id response header from the failed API call, but never include API keys or raw card data.