Borga has two fully independent environments: test mode and live mode. In test mode, you can create payments, subscriptions, and invoices freely without making real ISK charges or affecting any real customer data. Test mode is the right place to build your integration, run automated tests, and validate your checkout flows before going live.Documentation Index
Fetch the complete documentation index at: https://docs.borga.is/llms.txt
Use this file to discover all available pages before exploring further.
Test API keys
Every Borga account has separate API keys for each environment. Test keys are prefixedsk_test_… (secret) and pk_test_… (publishable). You can find and generate your test keys in the dashboard under Settings → API Keys.
| Key prefix | Use |
|---|---|
sk_test_… | Server-side requests in test mode. |
pk_test_… | Browser-side embedded checkout sessions in test mode. |
sk_live_… | Server-side requests in live mode. |
pk_live_… | Browser-side embedded checkout sessions in live mode. |
Authorization header the same way you would a live key:
curl
Test card numbers
Use the following card numbers in payment sessions and checkout forms to simulate different outcomes. Use any future expiry date and any 3-digit CVC.| Card number | Outcome |
|---|---|
4242 4242 4242 4242 | Payment succeeds. |
4000 0000 0000 0002 | Payment is declined. |
3D Secure test cards
3D Secure test cards
For flows that require 3D Secure authentication, use
4000 0025 0000 3155. The checkout form will present a mock authentication screen that you can pass or fail to test both outcomes.Insufficient funds
Insufficient funds
Use
4000 0000 0000 9995 to simulate a card declined due to insufficient funds. This is useful for testing your retry and dunning logic.Test card numbers only work with test-mode API keys. Using them with a live key will result in a declined transaction, not a simulated one.
Data isolation
Test mode and live mode maintain completely separate data sets. Test payments, customers, subscriptions, and invoices never appear in the live dashboard, and vice versa. The only thing shared between the two environments is your account settings and merchant profile.Build with test keys
Use
sk_test_… during development. All objects you create are scoped to test mode.Switch to live keys
When you are ready to accept real payments, replace
sk_test_… with sk_live_… in your server configuration. No code changes are needed.Webhook endpoints are mode-specific
Webhooks you register in the dashboard are scoped to a single environment. A webhook endpoint configured for test mode only receives events from test-mode operations, and a live-mode endpoint only receives live events.If you are testing webhooks locally, register a separate test-mode endpoint (for example, using a tunnel tool) in the dashboard under Developers → Webhooks → Test mode. Your live-mode endpoints are unaffected.
Applying for live mode
When you are ready to go live, submit your company kennitala from the Borga dashboard:Complete your merchant profile
Navigate to Settings → Business details and fill in your company name, kennitala, and bank account information.
Submit for review
Click Apply for live access. Borga verifies your kennitala against the Icelandic company registry.