Skip to main content
POST
/
api
/
v1
/
payments
/
checkout-sessions
cURL
curl -sS -X POST "$FLUIDE_BASE_URL/api/v1/payments/checkout-sessions" \
  -H "Authorization: Bearer $FLUIDE_ACCESS_TOKEN" \
  -H "X-Fluide-Api-Key: $FLUIDE_API_KEY" \
  -H "X-Fluide-Client-Id: fluide-developer" \
  -H "X-Workspace-Id: $FLUIDE_WORKSPACE_ID" \
  -H "X-Acting-Company-Id: $FLUIDE_COMPANY_ID" \
  -H "Content-Type: application/json" \
  -d '{}'
{
  "success": true,
  "message": "Operation completed successfully",
  "data": {}
}

Authorizations

Authorization
string
header
required

Access token JWT. Use as Authorization: Bearer . In the API playground, paste the JWT only.

X-Fluide-Api-Key
string
header
default:fl_dev_your_key
required

Developer API key (fl_dev_...). Required on every API call with a machine access token.

X-Fluide-Client-Id
string
header
default:fluide-developer
required

First-party client audience. Must match the fluide_client_id claim on the JWT. Use fluide-developer for Connect.

Headers

X-Workspace-Id
string<uuid>

Partner / ISV only: UUID of the workspace that owns the client company. Required together with X-Acting-Company-Id when scoping product APIs to a merchant. See /getting-started/multi-tenancy.

X-Acting-Company-Id
string<uuid>

Partner / ISV only: UUID of the client company to act on. Must belong to the workspace in X-Workspace-Id.

Body

application/json
amountMinor
number
required

Amount in minor units (cents)

Required range: x >= 1
currency
string
required
Maximum string length: 3
Example:

"USD"

lineItems
object[]
required
Minimum array length: 1
successUrl
string<uri>
required
cancelUrl
string<uri>
required
customerEmail
string<email>
customerName
string
metadata
object
branding
object
allowedMethods
enum<string>[]
Available options:
STRIPE_CARD,
FLUTTERWAVE_CARD
mode
enum<string>
Available options:
payment,
setup,
subscription
accountingIntent
object
idempotencyKey
string
Maximum string length: 128
expiresInSeconds
number
default:86400

TTL in seconds

Required range: x >= 300
frameAncestors
string

Space-separated frame-ancestors for embed mode

vertical
string

Industry vertical for checkout UX (e.g. school, healthcare)

Maximum string length: 64
Example:

"school"

collectFields
object[]

Custom fields to collect during checkout (from org checkout workflow)

Maximum array length: 40

Response

Checkout session created

success
boolean
required

Whether the request succeeded

Example:

true

message
string
required

Human-readable outcome message (localized when i18n is configured)

Example:

"Operation completed successfully"

data
object

Endpoint-specific payload