Skip to content

Team and security

Members and roles, two-factor, audit log, custom domains, exports and support.

A merchant account has one owner, the person who created it, and the members that owner invites. This page covers who can do what on the account, how to lock the Dashboard down, and the account level settings that sit around your integration: custom domains, embedding, exports, email notifications and support.

Members and roles

Invite people from Settings → Members. The owner can always do it, other members need the permission to manage team members, which only the Administrator role carries. An invitation goes out by email with the role you picked, and it stays valid for seven days.

How many members you can add depends on your plan. The owner is not counted.

PlanMembers
Pay as you go3
Growth5
ScaleUnlimited
EnterpriseUnlimited

Each member holds one of seven roles. The owner is above all of them and passes every permission check.

RoleWhat it covers
AdministratorEverything, including members, settings and live mode.
DeveloperAPI keys, webhooks and technical settings: payment providers and orchestration (routing rules, channel policies, alerts), custom domains, the sites allowed to embed the checkout, and the switch between sandbox and live. Reads payments, customers and invoices, manages payment links.
FinancePayments, payouts and beneficiaries, invoices, payment links, subscriptions, reports, revenue and tax.
AnalystReads payments, customers, payouts, invoices, reports, revenue and tax. Changes nothing, apart from opening support tickets.
Support SpecialistPayments, refunds, disputes and customers. Reads invoices.
ViewerReads most of the account, settings included. Changes nothing, apart from opening support tickets.
Sandbox UserSandbox only: test payments, sandbox API keys and webhook endpoints. Can never switch to live.

Securing your own sign-in

Every member secures their own access from Settings → Security, in the personal part of the Settings.

  • Two-factor authentication. Three second factors are offered: an authenticator app, set up with a QR code and backed by recovery codes, a code sent by email, and a code sent by SMS.
  • Passkeys. A passkey signs you in without a password, or serves as your second factor. Register one per device. Signing in with a passkey counts as your second factor, also on a team that requires one.
  • Trusted devices. At the second-factor step, Trust this device for 30 days lets that browser skip the second factor at sign-in for 30 days. A team that requires two-factor authentication does not honour it.
  • Active sessions. The list shows every device signed in to your account. You can close one of them, or sign out of all the others at once, after entering your password.
  • Confirming your password. Sensitive actions ask for your password again unless you confirmed it in the last 30 minutes:
    • API keys: creating, editing, revealing, rotating or deleting one.
    • Webhook endpoints: creating, editing or deleting one, promoting a sandbox endpoint to live, and revealing or rotating its signing secret.
    • Members: inviting someone, changing a member's role, removing a member, or leaving the team.
    • Payouts: creating or confirming one, setting up recurring payouts, adding, changing or verifying a payout account, and changing the payout security settings (two-factor, approval amount, daily limits).
    • Payment providers: removing a connection or regenerating its webhook token.
    • The account: upgrading it, changing Team security or the sites allowed to embed the checkout, and transferring the team to another owner.

Securing the whole team

Settings → Team security applies to every member of the account. Changing it takes the owner or a member allowed to manage settings, and a recent confirmation of your identity.

Require two-factor authentication. Once it is on, a member with no second factor is sent to set one up before reaching anything else. A member who is already signed in without having passed a second factor in that session is signed out and has to sign in again. While the option is on, a trusted device no longer skips the second factor, and a session that skipped it on a trusted device is signed out the same way. Signing in with a passkey counts as the second factor.

An IP allow-list for the Dashboard. Enter IPv4 or IPv6 addresses, or CIDR ranges. A member connecting from anywhere else lands on a blocked page. Signing in and the personal settings stay reachable: from anywhere, a member can still change their password, set up or replace their second factor and their passkeys, confirm their password for those, and close their other sessions. Everything that acts on the team stays blocked. This list protects the Dashboard only. An API key has its own allow-list, see Environments & API keys.

Audit log

The account's audit log, opened from the Audit log quick link on the Settings home page, records what members did: who, which action, and when. Filter it by action, by member or by date. Verify integrity checks that the chain of entries has not been altered since they were written.

Settings → Audit log shows your own sign-ins and security changes (password, two-factor, passkeys), over the last twelve months. What you did on the account, such as payments, refunds or settings, is in the team's audit log.

Custom domains

From the Scale plan, your payment pages, payment links and invoice pages can be served from your own domain instead of a wajub.com host. Add it in Settings → Custom domains, then publish two DNS records at your registrar:

TypeNameValue
TXT_wajub-challenge.pay.example.comThe verification token the Dashboard shows you
CNAMEpay.example.comconnect.wajub.com

The TXT record proves the domain is yours, the CNAME routes it to Wajub. Click Verify once both are published. You then choose what the domain serves: all modules, checkout only, payment links only, or invoice pages only.

Wajub keeps checking a verified domain every ten minutes. The first failed check emails you. After three in a row, the domain is taken out of the URLs Wajub publishes, which fall back to the Wajub host, and you are notified again. Fix the records, then verify the domain again from the same page.

Embedding the payment page

List the sites allowed to show the hosted payment page inside an iframe in Settings → Checkout embedding: one https:// origin per line, up to twenty. Once the list is set, only those sites can show your checkout. The page is on every plan, Pay as you go included. The owner, members allowed to manage settings and the Developer role can change the list, after confirming their identity, and each change is recorded in the audit log. Declare your sites before you go live; see where the checkout may be embedded.

Exports

Most lists in the Dashboard export to a file: payments, refunds, transfers, customers, beneficiaries, invoices, revenue, tax, payment link activity, and the Konsole logs and events. Depending on the list, the file is CSV, Excel, PDF or JSON.

On Pay as you go, you get ten exports per calendar month across all lists. From Growth, exports are unlimited.

Email notifications

Wajub emails the members whose role concerns the event. The owner receives what an Administrator receives.

TopicWho receives it
Payments, invoices, payouts, balance adjustments, complianceAdministrator, Finance
DisputesAdministrator, Support Specialist
Sync connections, technical alerts such as a failing webhook endpointAdministrator, Developer
SecurityAdministrator

These emails come with every plan.

Support

Open a request from Support in the Dashboard. The conversation stays there, and you can attach files to it. Every plan includes support. What changes with the plan is how fast the first answer comes and how fast the request is resolved.

PlanFirst responseResolution
Pay as you goWithin 24 business hoursWithin 5 business days
Growth, ScaleWithin 4 business hoursWithin 2 business days
EnterpriseWithin 1 business hourWithin 1 business day

Business hours run Monday to Friday, from 8:00 to 18:00, Douala time, outside Cameroonian public holidays.

What did you think of this content?