openapi: 3.0.3
info:
title: Ozow Banks Refunds API
description: Ozow (formerly i-Pay) is a South African instant EFT / "Pay by Bank" payment gateway. Merchants create a payment request server-side, redirect the customer to the Ozow secure bank-selection flow, and receive a server-to-server notification plus browser redirect on completion. All write requests are authenticated with an ApiKey header and a SHA512 HashCheck computed by concatenating the request fields in documented order, appending the merchant PrivateKey, lower-casing, and hashing. Transactions are ZAR-only (CountryCode ZA, CurrencyCode ZAR).
termsOfService: https://ozow.com/terms-and-conditions
contact:
name: Ozow Support
email: support@ozow.com
url: https://hub.ozow.com/docs
version: '1.0'
servers:
- url: https://api.ozow.com
description: Production
- url: https://stagingapi.ozow.com
description: Staging / sandbox (also driven by the IsTest flag)
tags:
- name: Refunds
description: Refund previously completed EFT payments from the merchant float.
paths:
/PostRefundRequest:
post:
operationId: postRefundRequest
tags:
- Refunds
summary: Request a refund
description: Instructs Ozow to refund a previously completed EFT payment from the merchant Ozow float. Refund requests are authenticated with a bearer token obtained from the Ozow identity/token service (not the ApiKey header) and carry their own HashCheck. Ozow notifies the merchant NotifyUrl when the refund completes or fails.
security:
- BearerToken: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RefundRequest'
responses:
'200':
description: Refund accepted for processing.
content:
application/json:
schema:
$ref: '#/components/schemas/RefundResponse'
'400':
description: Invalid request or hash mismatch.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
components:
schemas:
RefundRequest:
type: object
required:
- SiteCode
- TransactionId
- Amount
- RefundReference
- HashCheck
properties:
SiteCode:
type: string
TransactionId:
type: string
description: Ozow transaction id of the original completed payment.
Amount:
type: number
format: double
RefundReference:
type: string
NotifyUrl:
type: string
format: uri
IsTest:
type: boolean
HashCheck:
type: string
RefundResponse:
type: object
properties:
refundId:
type: string
status:
type: string
errorMessage:
type: string
nullable: true
ErrorResponse:
type: object
properties:
errorMessage:
type: string
errorCode:
type: string
securitySchemes:
ApiKey:
type: apiKey
in: header
name: ApiKey
description: Merchant API key issued in the Ozow merchant dashboard (dash.ozow.com). Sent alongside a SHA512 HashCheck field computed with the merchant PrivateKey.
BearerToken:
type: http
scheme: bearer
description: OAuth-style bearer token obtained from the Ozow token endpoint, used by the Refunds and Payouts APIs. Tokens are reusable until expiry.