Headers
| Header | Description |
|---|---|
X-API-Key | The Vault API key, provided via body.vaultApiKey |
X-Token | The Ozura card token, provided via body.ozuraCardToken |
X-CVC-Session-ID | The Ozura CVC session token, provided via body.ozuraCvcSession |
X-Proxy-URL | The target processor API URL. This should come from environment variables using the format [processor]ApiUrl. Note that test and production servers typically have different URLs. |
Proxy Target URL
Send all proxied requests to the Vault tokenize endpoint:| Environment | URL |
|---|---|
| Staging | https://pci-vault-staging-drc0duhcakf4g4fr.eastus-01.azurewebsites.net/tokenize |
| Production | https://api.ozuravault.com/tokenize |
This URL is available in the Pay API via environment variables.
Card Data Placeholders
Since the Pay API never handles raw card data, you must use the following placeholder strings in your request body wherever the processor expects card data. The Ozura Vault will replace these placeholders with the actual values before forwarding the request to the processor.| Placeholder | Replaced With | Format |
|---|---|---|
cardNumberPlaceholder | Full card number | — |
cvvPlaceholder | CVV/CVC code | — |
expirationMonthPlaceholder | Expiration month | 2 digits (e.g., 04 for April) |
expirationYearPlaceholder | Expiration year | 4 digits (e.g., 2029) |
expirationYearPlaceholder2 | Expiration year | 2 digits (e.g., 29) |
Example: Proxied Request Body
Below is an example of a JSON request body structured for a processor that expects card data. Notice how placeholder strings are used in place of real card values:Summary Checklist
When building a new processor-specific card sale function, confirm the following:Function accepts the standardized input object (
body + credentials)Step 1: Card Auth is proxied through Ozura Vault
CVV response code is validated (must be a match)
AVS response code is validated (must meet acceptable criteria)
Step 2: BIN Lookup is proxied through Ozura Vault
Surcharge is calculated before taxes (if card is surchargeable)
Sales tax is calculated only when
salesTaxExempt === false and
billingCountry === CountryCode.USStep 3: Card Sale is proxied through Ozura Vault using the final calculated
amountTotalAll card data fields use Vault placeholder strings (never raw card data)
Processor API URL is sourced from environment variables
Function returns the standardized response object with all required fields
fullProcessorResponse contains the complete raw processor response