Multi-Factor Auth
Multi-Factor Authentication
How Multi-Factor Authentication works in Paycux, what it is for, and the smallest setup that gets it running.
Introduction
Multi-Factor Authentication is part of the Paycux platform. This page explains what it does, when to reach for it, and the smallest working setup you can ship.
Everything below applies to both environments. Build and test in staging, then promote the same configuration to production without changing your code — only the API key and client ID differ.
What you’ll build
Before you start, make sure you have the following in place:
- A Paycux account with access to the project you are configuring.
- An API key for the environment you are working in. Staging keys start with
sk_test_; production keys start withsk_live_. - Admin access on the system you are connecting, so you can create the application and read its metadata.
- A redirect URI registered in the Paycux dashboard under Developer → Redirects.
Before getting started
Before getting started applies specifically to Multi-Factor Authentication. It behaves the same in both environments, and the values it depends on are visible in the dashboard for the environment you have selected.
If the behaviour you see does not match this description, check which environment your API key belongs to before anything else — a staging key against production data is the most common cause.
API object definitions
API object definitions is handled by Multi-Factor Authentication rather than by your application code. Paycux exposes it through the same API surface as the rest of the platform, so the client you already configured needs no additional setup.
Configuration lives in the dashboard and is versioned per environment. Change it in staging, confirm the behaviour, then apply the same change to production.
Create an Authentication Factor
Every API request is authenticated with a bearer token in the Authorization header. Keys are scoped to a single environment and are shown once at creation — store them in a secret manager, not in source control.
1curl -X GET 'https://api.paycux.com/v1/organizations' \2 -H 'Authorization: Bearer $PAYCUX_API_KEY'
Install the Paycux SDK
Install the SDK with your package manager, then read the API key from the environment rather than hard-coding it.
1npm install @paycux/node
Set secrets
Vault stores secrets encrypted with a key that never leaves the key manager. Your application sends plaintext and receives a ciphertext handle; the plaintext is never written to disk.
Keys can be Paycux-managed or supplied by the customer. Customer-managed keys let a customer revoke access to their own data without involving you.
Enroll the Authentication Factor
Enroll the Authentication Factor applies specifically to Multi-Factor Authentication. It behaves the same in both environments, and the values it depends on are visible in the dashboard for the environment you have selected.
If the behaviour you see does not match this description, check which environment your API key belongs to before anything else — a staging key against production data is the most common cause.