Before You Begin
You need 3 things from your Ozura Dashboard:| What | Where to Find | Example Format |
|---|---|---|
| Vault API Key | Developers → Vault Key | (your unique key) |
| Merchant API Key | Developers → API Keys | (your unique key) |
| Merchant ID | Developers → Identity | (your merchant ID) |
Embedding on Your Site (Iframe or Popup)
If you plan to embed the checkout on your website, no registration or approval is needed. Simply passparentOrigin in your session create request and Ozura automatically configures the Content Security Policy so the browser only allows the checkout to be framed on your domain.
Don’t have your Vault API Key? Find it under Developers → Vault Key.Environment Variables 101: Never hardcode API keys in your code. Instead:
- Create a
.envfile:VAULT_API_KEY=your_actual_key - Access it:
process.env.VAULT_API_KEY(Node.js) oros.environ['VAULT_API_KEY'](Python) - Never commit
.envto git! Add it to.gitignore
Step 1: Create a Checkout Session
From your server (not browser), make this API call:What’s “your server”? This is backend code — a Node.js app, PHP script, Python app, etc. If you only have static HTML, you cannot call this API directly (API keys would be exposed). Consider using Payment Links instead.
YOUR_VAULT_API_KEY→ Your Vault API Key (Developers → Vault Key)YOUR_MERCHANT_API_KEY→ Your Merchant API Key (Developers → API Keys)YOUR_MERCHANT_ID→ Your Merchant ID (Developers → Identity)- URLs → Your actual website URLs
Step 2: Redirect Your Customer
Send the customer’s browser to thecheckoutUrl:
Step 3: Customer Pays
The customer:- Enters their card details
- Clicks “Pay Now”
- Gets redirected back to your site
Step 4: Handle the Result
After payment, the customer lands on one of your URLs:| Outcome | Where They Go | What to Do (Your Responsibility) |
|---|---|---|
| Payment succeeded | Your successUrl | Show confirmation, fulfill order (your business logic) |
| Payment failed | Your errorUrl | Show error, offer retry |
| Customer cancelled | Your cancelUrl | Return to cart |
Important: Ozura automatically marks the session as “completed” before redirecting. However, you should still verify the session server-side (call
GET /api/sessions/{sessionId}) before fulfilling orders to prevent URL spoofing. See Security for details.That’s It!
You’re now accepting payments. What’s next?| I want to… | Read this |
|---|---|
| Add product images and discounts to cart | Create Session → Cart Items |
| Keep customer on my site (popup/iframe) | Integration Modes |
| Match checkout to my brand colors | Customize Appearance |
| Test without real charges | Testing Guide |
| See all API options | API Reference |
| Fix an error | Troubleshooting |