Skip to content

Provision a channel merchant

Your merchant signs up with your channel. Create its Maxana record from the channel’s server with POST /api/channel/merchants. Send the business name, email, and country declared by the operation schema. The credential supplies ownership; do not send channel_id.

create-merchant.sh
curl --request POST \
--url https://staging.api.maxanapay.com/api/channel/merchants \
--header 'Authorization: Bearer sk_test_replace_me' \
--header 'Content-Type: application/json' \
--data @create-merchant.request.json

That is the whole body: three fields, and all three are required. country_code is a two-letter ISO country code and omitting it fails rather than defaulting to US.

Store the returned merchant_id with your tenant. It is the identifier the rest of this tutorial uses, and the one every later call that acts for this merchant sends as the header X-Merchant-Id, alongside the same channel key. A per-merchant call that omits it is refused with 401 and This API key acts for a channel; specify the merchant with X-Merchant-Id.

The response’s onboarding_status is pending: the merchant record exists and nobody has been sent to PayPal yet. That is the next step.

The merchant does not receive a Maxana account, dashboard invitation, or API key. Use GET /api/channel/merchants to list the channel’s book and recover an identifier from the exact merchant email when needed — ?email= matches the address exactly, ?search= matches part of a name.

Provisioning does not set pricing, fee-share terms, website, feature toggles, sender identity, or PayPal readiness. An inactive channel cannot add a new merchant, but that status does not stop already-provisioned merchants from operating. Unknown body fields return 422.

Continue to Drive PayPal onboarding.