Sandbox Environment
The Ozura sandbox is a complete test environment for end-to-end integration. No real money moves, and you can validate every part of your flow before going live.Ozura’s sandbox model is asymmetric: the Vault has a single environment where “sandbox” means a Test project with a test key, while OzuraPay has fully separate sandbox and production environments.
End-to-end integration flow
Testing a full integration follows this sequence:- Create a vault project — go to ozuravault.com, sign up, and create a Test project (the default for new projects).
- Get a test vault key — open the project, create an application, and copy the test key. Omit
pubKeyfromOzVault.create()when using a test key — no pub key is needed for test projects. - Set up the session endpoint — implement
/api/oz-sessionon your backend usingcreateSessionHandler(orcreateSessionMiddleware). Use your test vault key asvaultKey. See the Server SDK guide. - Add the Elements SDK — install
@ozura/elementsand mount your card fields. See Installation and the quick-start guides. - Run the tokenize flow — fill the fields with a test card number and call
createToken(). You receive a vault token and a CVC session. - Hit your processor’s sandbox — pass the token and CVC session to your backend charge endpoint and forward them to your payment processor’s sandbox environment. If you are routing through OzuraPay, point your backend at
https://sandbox.payapi.v2.ozurapay.comwith sandbox merchant credentials (see below).
Base URLs
| Service | Sandbox URL |
|---|---|
| OzuraPay API | https://sandbox.payapi.v2.ozurapay.com |
| Checkout | https://sandbox-checkout.ozura.com |
| Vault | https://api.ozuravault.com — single environment; use a test key from a Test project. |
| Dashboard | https://app.ozura.com — flip the Sandbox/Production toggle in the header to switch envs (there is no separate sandbox dashboard URL) |
What You Need to Use Checkout Sandbox
To run Checkout against the sandbox, you need three things:- A test vault key (from a Test project at ozuravault.com)
- Sandbox OzuraPay credentials (merchant ID + PayAPI key) from the merchant dashboard’s Sandbox/Production toggle — see the OzuraPay overview for where to find them
- All checkout API requests directed at
https://sandbox-checkout.ozura.com
Getting a Test Vault Key
The Ozura Vault product UI lives at ozuravault.com (also reachable atvault.ozura.com — same app, both URLs work) and is separate from the Ozura merchant dashboard at app.ozura.com.
- Go to https://www.ozuravault.com and create an account.
- Open Projects → Create new project. Your first project is a Test project by default; for any later project, confirm the Test marker is on. Name the project.
- Open the new project, then create an application inside it and give it a name.
- The next page displays the test key for that application. Store it securely — this is your test vault key.
Getting Sandbox OzuraPay Credentials
Sandbox PayAPI credentials (merchant ID + PayAPI key) come from the merchant dashboard. Flip the Sandbox/Production toggle in the dashboard header to Sandbox, then retrieve them from the Developers section. Full details are in the OzuraPay overview.Using Elements with a Test Vault Key
The Elements SDK supports two sandbox flows. Pick the one that matches what you need:- Tokenize-only — vault-only merchants using their own processor, or just storing tokens. You only need a test vault key; no
merchantId/apiKeyrequired. On the frontend, omitpubKeyfromOzVault.create()(or the<OzElements>provider). - Tokenize + charge via OzuraPay — you need a test vault key and sandbox OzuraPay credentials (merchant ID + PayAPI key). On the frontend, still omit
pubKeywhen using a test vault key.
console.warn when pubKey is omitted to make the test-key-only mode explicit — that warning is expected in sandbox:
Elements — Installation
Add
@ozura/elements and initialise OzVault.create() — credentials, options, and Next.js setup.Elements — Server SDK
Tokenize-only
new Ozura({ vaultKey }) constructor for vault-only merchants.Key Differences from Production
- No real money is processed
- Test card numbers are accepted (see Test Credentials)
- Rate limits are relaxed
- Webhook payloads include a
sandbox: trueflag
Next Steps
- Test Credentials for test card numbers and the amount-based outcome model
- Checkout Testing Guide for the checkout-specific testing flow