Getting started
Test and live mode
Updated Oct 25, 2026
Payfer runs two separate environments, and every application you register in the dashboard gets keys for both. Your keys say which one you’re using, and the SDK picks the address from the key, so there’s nothing to configure.
Environments
- Test
test.payfer.me - Keys start with
pk_test_andsk_test_. Card payments use Stripe’s test mode and settlement uses Tempo testnet, so no real money moves. Applications accept calls from any origin, including localhost. - Live
payfer.me - Keys start with
pk_live_andsk_live_. Real cards, real money, settled on Tempo mainnet. Once an application goes live, browser calls are accepted only from its registered origins.
Dry-run an integration
Register an application in the dashboard and follow the quickstart with its test keys. When the approval page asks for a card, use 4242 4242 4242 4242 with any future date and any CVC. Test accounts, balances and payments stay in the test environment.
Running Payfer yourself
For a local or self-hosted Payfer service, pass its address as apiUrl:
const payfer = createClient({
publishableKey: "pk_test_...",
apiUrl: "http://127.0.0.1:8787",
});new Payfer() on your server takes the same apiUrl option.