Authorization
default A public key (pk./pk_test.) is accepted on /payments, /customers, /links, /invoices and the catalogue reads (/channels, /providers, /countries, /currencies); anything that moves money out, reads the balance or manages the account answers 406 to it. It is an identifier, never an authorization. Use a secret key (sk./sk_test.) for sensitive operations (transfers, refunds, balance), or a restricted key (rk./rk_test.) scoped to specific permissions. The _test. variant of any key selects the sandbox environment, there is no separate sandbox URL. Never expose your secret key in client-side code.
In: header
Request Body
application/json
Your own reference for this subaccount. Unique among your connections of the environment for good: a cancelled connection keeps its reference, and it cannot be changed afterwards.
One or more of: read, payments, withdrawals, refunds, disputes, customers, invoices.
Your fee on the account's activity: `percentage_fee`, `fixed_fee`, `min_fee`, `max_fee`, `currency`.
Percentage the platform retains (0–100).
Flat fee per operation (major unit).
Cap on the computed fee.
Floor on the computed fee.
Currency for the fee figures, required if any of fixed_fee/min_fee/max_fee is set.
The page the merchant is sent back to once they have accepted the connection. HTTPS only; `http://localhost` and `http://127.0.0.1` are accepted with a sandbox key. It also registers the origin a `redirect_uri` on the authorization link must share. No event is sent to it: `account.*` events go to your webhook endpoints.
Free-form key-value data of yours, returned on the Account object and editable with `PUT /accounts/{id}`.
The merchant's address. Wajub sends the invitation reminder there three days before the invitation expires. Kept in `profile.email`.
What happens to your commission when a sale is refunded: `prorata` (default, in proportion to the refund), `full` (all of it, on the first refund) or `none`.
"prorata""full""none"The connection mode: `direct` (the merchant runs a full Wajub account), `lite` (a hosted portal, always collecting on the Wajub rail) or `relay` (no merchant account, you collect, Wajub relays the payouts). Defaults to `direct` and cannot be changed afterwards.
"direct""lite""relay"How often a `lite` merchant is paid what they have earned: `manual` (default, you ask, with `POST /accounts/{id}/payouts`), `daily`, `weekly` or `monthly`.
"manual""daily""weekly""monthly"Do not pay out below this, in the merchant's own currency. Defaults to the platform minimum.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://api.wajub.com/accounts" \ -H "Content-Type: application/json" \ -d '{ "capabilities": [ "read", "payments", "refunds" ] }'{ "code": 201, "account": { "id": "acc_Gt6yU3nE8rM1kS5vX9bQ", "reference": "shop-amina", "status": "pending", "authorization_url": "https://sync.wajub.com/oauth/v2/authorize?access_token=…" }}Created