Magic Auth
Magic Link
How Magic Link works in Paycux, what it is for, and the smallest setup that gets it running.
Introduction
Magic Link 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 Magic Link. 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 Magic Link 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.
Add Magic Link to your app
Magic Auth sends a six-digit code to the user's email address and exchanges a correct code for a session. There is no password to reset, phish or leak.
Codes expire after ten minutes and are single-use. Rate limit requests per email address so the endpoint cannot be used to send mail on your behalf.
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.
Add a callback endpoint
Add a callback endpoint is handled by Magic Link 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.