Skip to main content
POST
/
merchant
/
api
/
v1
/
register
Register a new merchant
curl --request POST \
  --url http://api-sandbox.fexpayments.com/merchant/api/v1/register \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "email": "shop@example.com",
  "business_name": "My Shop"
}
'
{
  "success": true,
  "merchant_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "client_id": "merchant-a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "client_secret": "s3cr3t-shown-once",
  "note": "Store client_secret securely — it will not be shown again."
}

Authorizations

Authorization
string
header
required

Keycloak JWT. Roles: admin (platform admin — can register merchants, act on behalf of any merchant), merchant (dashboard user — scoped to their own merchant_id via user attribute mapper), POS terminals use client credentials flow with merchant_id injected via protocol mapper.

Body

application/json
email
string<email>
required
Example:

"shop@example.com"

business_name
string
required
Example:

"My Shop"

Response

Merchant registered — store client_secret securely

success
boolean
Example:

true

merchant_id
string<uuid>
Example:

"a1b2c3d4-e5f6-7890-abcd-ef1234567890"

client_id
string
Example:

"merchant-a1b2c3d4-e5f6-7890-abcd-ef1234567890"

client_secret
string

Shown only once — store securely.

Example:

"s3cr3t-shown-once"

note
string
Example:

"Store client_secret securely — it will not be shown again."