Endpoints Overview
Endpoint Method Description /cardSalePOSTProcess a card payment transaction using tokenized card data. Supports automatic processor cascading or explicit processor targeting. /transQueryGETRetrieve transaction records by transaction ID or date range, with support for filtering, pagination, and sorting. /cardRefundPOSTIssue a full or partial refund against a previously successful transaction.
Base URLs
Environment URL Production https://ozurapay-pay-api-v2-begfcfdthqg2fcdm.eastus-01.azurewebsites.netTesting https://ozurapay-pay-api-v2-staging-c8abbdfhfbd3c5em.eastus-01.azurewebsites.net
Authentication
All transaction endpoints require API key authentication via request headers.
Header Description Required For x-api-keyYour OzuraPay API key All transaction endpoints Vault-API-keyYour OzuraPay Vault key for tokenized card data /cardSale
Rate Limits
Rate limits are applied per merchant per endpoint.
Endpoint Limit /cardSale100 requests / minute /transQuery200 requests / minute /cardRefund20 requests / minute
Endpoints
Process a Card Sale
Processes a card payment transaction for a merchant. Card data is passed via secure Ozura tokenization — you must provide an ozuraCardToken and ozuraCvcSession rather than raw card details.
Processor Cascading: The processor field is optional. If omitted,
OzuraPay will automatically select a processor based on the merchant’s active
integrations. To target a specific processor, pass one of the supported values
explicitly.
Authentication
Header Required x-api-keyYes Vault-API-keyYes
Request Body
Field Type Required Description merchantIdstring Yes Your OzuraPay merchant ID (max 30 characters). amountstring Yes Transaction amount as a decimal string (e.g. "1.01"). currencystring Yes ISO 4217 currency code (e.g. "USD"). ozuraCardTokenstring Yes Tokenized card number obtained from the OzuraPay Vault. ozuraCvcSessionstring Yes CVC session ID obtained from the OzuraPay Vault. billingFirstNamestring Yes Cardholder’s first name. billingLastNamestring Yes Cardholder’s last name. billingEmailstring Yes Cardholder’s email address. billingPhonestring Yes Cardholder’s phone number (e.g. "+1234567890"). billingAddress1string Yes Billing street address. billingCitystring Yes Billing city. billingStatestring Yes Billing state/province code (e.g. "FL"). billingZipcodestring Yes Billing postal/ZIP code. billingCountrystring Yes ISO 3166-1 alpha-2 country code (e.g. "US"). clientIpAddressstring Yes End customer’s IP address. salesTaxExemptboolean Yes Whether the transaction is exempt from sales tax. processorstring No Target processor (e.g. "nuvei", "elavon", "worldpay"). If omitted, processor cascading is used. surchargePercentstring No Surcharge percentage as a decimal string. tipAmountstring No Tip amount as a decimal string. billingAddress2string No Additional address line (apartment, suite, etc.).
Example Request
curl -X POST https://ozurapay-pay-api-v2-staging-c8abbdfhfbd3c5em.eastus-01.azurewebsites.net/cardSale \
-H "Content-Type: application/json" \
-H "x-api-key: your_pay_api_key" \
-H "Vault-API-key: your_vault_api_key" \
-d '{
"merchantId": "ozu_7bjg497249681346",
"amount": "1.01",
"currency": "USD",
"ozuraCardToken": "your_card_token",
"ozuraCvcSession": "your_cvc_session",
"billingFirstName": "Jane",
"billingLastName": "Doe",
"billingEmail": "jane.doe@example.com",
"billingPhone": "+1234567890",
"billingAddress1": "123 Main St",
"billingCity": "Miami",
"billingState": "FL",
"billingZipcode": "33101",
"billingCountry": "US",
"clientIpAddress": "203.0.113.42",
"salesTaxExempt": false
}'
Query Transactions
Retrieves transaction records for a merchant. You can query by a specific transaction ID or by a date range.
Authentication
Header Required x-api-keyYes
Query Parameters
Parameter Type Required Description merchantIdstring Yes Your OzuraPay merchant ID (max 30 characters). transactionIdstring Conditional A specific transaction ID to look up. Required if dateFrom/dateTo are not provided. dateFromstring Conditional Start of date range. Format: YYYY-MM-DD HH:MM:SS. Required with dateTo if no transactionId. dateTostring Conditional End of date range. Format: YYYY-MM-DD HH:MM:SS. Required with dateFrom if no transactionId. transactionTypestring No Filter by transaction type. pagestring No Page number for pagination. limitstring No Number of results per page. fieldsstring No Comma-separated list of fields to include in the response. sortBystring No Field name to sort results by. sortOrderstring No Sort direction: "asc" or "desc".
You must provide either transactionId or both dateFrom and dateTo.
Example Requests
Query by Transaction ID
Query by Date Range
curl -X GET "https://ozurapay-pay-api-v2-staging-c8abbdfhfbd3c5em.eastus-01.azurewebsites.net/transQuery?merchantId=ozu_7bjg497249681346&transactionId=txn_abc123" \
-H "x-api-key: your_pay_api_key"
Response
{
"status" : "success" ,
"data" : {
"transactions" : [ "..." ],
"pagination" : { "..." }
}
}
Process a Card Refund
Processes a full or partial refund against a previously successful transaction.
Partial vs. Full Refunds: The amount field is optional. If omitted, the
full remaining refundable amount (currentAmount) of the original transaction
will be refunded. To issue a partial refund, specify the desired refund amount
as a decimal string.
Authentication
Header Required x-api-keyYes
Request Body
Field Type Required Description transactionIdstring Yes The ID of the original transaction to refund. merchantIdstring Yes Your OzuraPay merchant ID. amountstring No Refund amount as a decimal string. If omitted, the full remaining amount is refunded.
Example Requests
Full Refund
Partial Refund
curl -X POST https://ozurapay-pay-api-v2-staging-c8abbdfhfbd3c5em.eastus-01.azurewebsites.net/cardRefund \
-H "Content-Type: application/json" \
-H "x-api-key: your_pay_api_key" \
-d '{
"transactionId": "txn_abc123",
"merchantId": "ozu_7bjg497249681346"
}'
Response
{
"status" : "success" ,
"data" : {
"transactionId" : "..." ,
"..." : "..."
}
}