Ozow Hub
POSThttps://api.ozow.com/secure/refunds/submitProduction
Build with AI 1 package

A build package is every page for one task, with the API operations they use. Copy the prompt into a coding assistant, or hand it the package itself: slim links to each page, full inlines all of them in one document.

  • Migrate refunds from the Payments API to One APIEverything needed to move an existing refunds integration onto One API, with the legacy guide and its One API counterpart side by side.
    View package

Submit refunds to Ozow for processing.

Authentication

  • Bearer token

    The token generated by the Get API token operation. The same token is used for every request until it expires.

Request body

An array of refund requests.

application/json

array of RefundRequest

application/x-www-form-urlencoded

  • transactionId string uuid required

    The transaction identifier. This is the identifier for the payment that was originally processed on Ozow.

  • amount number double required

    The amount that needs to be refunded. This can be less than the original transaction amount but not more.

  • refundReason string

    The reason for the refund.

    max length500
  • notifyUrl string uri

    The URL Ozow will send a notification to once the refund has been finalised.

    max length500
  • hashCheck string required

    SHA512SHA-512 A hashing algorithm. Ozow uses it to sign the values in a request or a notification so you can tell that they arrived unaltered and came from us. Hashing is one-way: the hash cannot be turned back into what produced it.Wikipedia hash proving the request has not been altered after you generated it. Concatenate four fields in this order, with no separator, then append your private key:

    1. transactionId
    2. amount, formatted with two decimal places, so 100.00
    3. refundReason
    4. notifyUrl

    Hash the result with SHA512 and send the digest as lowercase hexadecimal.

    Unlike the payment request hash, do not convert the concatenated string to lowercase before hashing. Refunds hash the string exactly as you built it, so the case of your reason and your notify URL matters. Only the digest is compared case insensitively.

    max length150
  • isRtc boolean

    Whether the refund should be processed as an RTCReal-Time Clearing Payments that clear immediately rather than waiting for a batch. A batch run settles at set times through the day; a Real-Time Clearing payment moves the funds between the two bank accounts as it is made, so the recipient can rely on them straight away.PayInc refund.

    defaultfalse

Responses

200 OK

application/json

  • refundId string uuid required

    The identifier for the refund that was created. No identifier is returned if there was an error creating the refunds.

  • transactionId string uuid required

    The transaction identifier. This will correspond to one of the transaction identifiers passed through in the request.

  • refundAmount string required

    The refund amount.

  • errors array of string

    Validation errors for the specific refund.

application/xml

  • refundId string uuid required

    The identifier for the refund that was created. No identifier is returned if there was an error creating the refunds.

  • transactionId string uuid required

    The transaction identifier. This will correspond to one of the transaction identifiers passed through in the request.

  • refundAmount string required

    The refund amount.

  • errors array of string

    Validation errors for the specific refund.

Guides