Ozow Hub
POSThttps://one.ozow.com/v1/transactionsProduction

Create a transaction with the specified channel and transaction details for a specified type of payment.

Authentication

  • OAuth 2.0
    scopespayments

Header parameters

  • Idempotency-Key string

    The unique key idempotency keyIdempotency A request is idempotent when sending it twice has the same effect as sending it once. It matters most where a retry after a timeout could otherwise take a payment twice.IETF draft as per the following IETF Draft

  • X-Correlation-ID string

    Optional correlation id for the request, if not supplied a new one will be generated and passed onto all underlying requests and returned as a header.

Request body

  • paymentRequest PaymentRequest required

    The payment request details.

    Fields of PaymentRequest
    • siteCode string required

      The merchant site codeSite code The unique code for a site registered under a merchant. A site is a place to transact: a website, or a branch of a store. A merchant can have several, and each transaction names the one it belongs to, so sending the wrong code files the payment against the wrong place. in use for this payment. Site codes are available on the Ozow dashboard.

      max length50
    • region string

      ISO 3166-Alpha-2ISO 3166-1 alpha-2 The two-letter country codes published by the International Organization for Standardization, such as ZA for South Africa and GB for the United Kingdom. Always uppercase.Wikipedia code for the originating country of the payment.

      Must be "ZA" for South Africa.

      If region is not specified IP geolocation will be used to determine the applicable region.

      min length2max length2
    • amount Amount required

      The currency and amount of the payment request.

      Fields of Amount
      • currency string required

        The ISO 4217ISO 4217 The three-letter currency codes, such as ZAR for the South African rand. Always uppercase.Wikipedia current code.

        min length3max length3
      • value number float required

        The amount in the currency specified.

        min0.01
      Open Amount on its own page
    • variableAmount VariableAmount

      If the payment amount can be changed by the payer, the variable amounts need to be passed in.

      Fields of VariableAmount
      • minimumValue number float required

        The minimum amount.

        min0.01
      • maximumValue number float required

        The maximum amount.

        min0.01
      Open VariableAmount on its own page
    • merchantReference string required

      The merchant's reference for the transaction. It is pre-populated in the payer's own reference field at their bank, shortened by banks that limit it, so it is not an internal-only value.

      max length50
    • beneficiaryReference string

      The reference that appears on the merchant's bank statement for the payment. Letters and numbers only. Rejected as missing unless the site is configured to let the payer supply the reference. A site prefix, where one is configured, counts towards the 20 characters.

      max length20pattern^[A-Za-z0-9]*$
    • payerReference string
      max length20
    • payer Payer

      Information on the payer used for identification and fraud purposes.

      Fields of Payer
      • id string required

        The merchant identifier for the payer.

        max length50
      • name string required
        max length200
      • The identity of a payer. In high risk cases this information is required.

        Fields of Identification
        • type string required

          The type of identification for the person or business.

          values"said""passport""registration""cellphone"
        • country string required

          The ISO-3166-alpha-2ISO 3166-1 alpha-2 The two-letter country codes published by the International Organization for Standardization, such as ZA for South Africa and GB for the United Kingdom. Always uppercase.Wikipedia identifier for the country of identification.

          min length2max length2
        • identifier string required

          The identifier for the consumer based on the identity type.

          max length20
        Open Identification on its own page
      • cellphone string

        The cellphone number for the payer.

        max length15
      • email string email

        The email address of the payer.

      Open Payer on its own page
    • returnUrl string uri

      The URI that Ozow needs to redirectRedirect Sending the payer to the Ozow payment page to complete the payment, and returning them to your site afterwards. The alternative is embedding the checkout in your own page, where the payer never leaves it. back to once the payment has reached a conclusion. Must be reachable from the internet. localhost is rejected with a 403, so a local integration needs a tunnel rather than the address the browser uses.

    • notifyUrl string uri

      Optional notify URL to send notifications of the status of the payment. The recommendation is to use webhooks instead of this method which are configurable via the webhooks endpoints of the API or via the Ozow Dashboard. Must be reachable from the internet. localhost is rejected with a 403, so a local integration needs a tunnel rather than the address the browser uses.

    • expireAt string date-time required

      The date and time the payment request should expire at and make the payment link unusable

    • institutionId string uuid

      The institution to send the payer straight to, skipping the payment method selection screen. The identifier for each payment method is on that method's page under Payment products.

    Open PaymentRequest on its own page
  • paymentDetail PaymentDetail
    Fields of PaymentDetail
    • paymentType string required

      The payment type being made. To redirectRedirect Sending the payer to the Ozow payment page to complete the payment, and returning them to your site afterwards. The alternative is embedding the checkout in your own page, where the payer never leaves it. to Ozow with a specific institution pre-selected please use the ozowredirect type.

      Except for the ozowredirect payment type, all the other listed options require implementation of a callback url to handle responses and requests for more information to complete processing.

      Payment types such as absapay, card and payshap have pre-requisites that must be met and may not be available for particular payments and amounts.

      values"ozowredirect""absapay""bankdeposit""card""nedbankdirecteft""ozowwallet""payshap""voucher"
    • details one of
    Open PaymentDetail on its own page

Responses

200 OK
  • X-Correlation-ID header

    The correlation id for the request that was processed.

  • payment PaymentResponse required

    The payment request response.

    Fields of PaymentResponse
    • links PaymentLinks required

      The relevant links to the this payment.

      Fields of PaymentLinks
      • self string uri

        The unique URI for this resource.

      • cancel string uri

        The cancel URI for this payment. This is a POST operation.

      • transactions string uri

        The transactions associated with this payment request.

      Open PaymentLinks on its own page
    • id string uuid required

      The identifier for the payment request.

    • status PaymentStatus required

      The status of the payment.

      values"Created""Expired"
    • reason string

      The payment status reason.

    • redirectUrl string uri

      The url to redirectRedirect Sending the payer to the Ozow payment page to complete the payment, and returning them to your site afterwards. The alternative is embedding the checkout in your own page, where the payer never leaves it. a consumer to. A redirect url will be provided should a payment require further client interaction.

    Open PaymentResponse on its own page
  • transaction Transaction required

    The transaction details.

    Fields of Transaction
    • Fields of TransactionLinks
      • self string uri required

        The unique URI for this resource.

      • refund string uri

        The refund operation for this transaction. This is a POST operation.

      Open TransactionLinks on its own page
    • id string uuid required

      The transaction id of the payment.

    • amount Amount

      The amount that was requested.

      Fields of Amount
      • currency string required

        The ISO 4217ISO 4217 The three-letter currency codes, such as ZAR for the South African rand. Always uppercase.Wikipedia current code.

        min length3max length3
      • value number float required

        The amount in the currency specified.

        min0.01
      Open Amount on its own page
    • merchantReference string required

      The merchant's reference for the transaction.

      max length50
    • siteCode string required

      The merchant site codeSite code The unique code for a site registered under a merchant. A site is a place to transact: a website, or a branch of a store. A merchant can have several, and each transaction names the one it belongs to, so sending the wrong code files the payment against the wrong place. in use for this payment.

      max length50
    • institution string required

      The institution for the transaction.

    • status TransactionStatus required

      The status of the transaction.

      values"Incomplete""Successful""Error""Pending""Refunded"
    • reason string

      Payment status reason.

    • createdDate string date-time required

      The date the transaction was created.

    • completedDate string date-time

      The date the transaction was completed.

    Open Transaction on its own page
  • requiredActionOptions array of RequiredAction

    If a subsequent action is required, the details of what options are available.

    Fields of RequiredAction
    • action string required

      The action if any that is required next.

      values"redirect""api""websocket"
    • uri string uri

      The URI to redirectRedirect Sending the payer to the Ozow payment page to complete the payment, and returning them to your site afterwards. The alternative is embedding the checkout in your own page, where the payer never leaves it., connect to the WebSocket or make the POST API call if required.

    • inputRequired InputResponse
      Fields of InputResponse
      • transactionId string uuid required

        The transaction id of the payment being processed.

      • paymentStep string required

        The name of the payment step being performed.

      • pageTitle string required

        The title of the page, this will be a user friendly message and can be displayed to the end user.

      • pageInstructions string required

        Instructions for the end user to perform, this will be a user friendly message and can be displayed to the end user.

      • pageActionText string required

        The action type, this could typically be used as the text for a button or link. This will be a user friendly message and can be displayed to the end user.

      • displayType string required

        The display type which indicates what sort of action should be taken. form will require asking the user for input, prompt will require instructing the user to perform an action (e.g. accept a push message) and busy will require asking the user to wait.

        values"form""prompt""busy"
      • If the object is of the form display type the input fields the user would need to complete will be returned in this array.

        Fields of InputField
        Open InputField on its own page
      Open InputResponse on its own page
    Open RequiredAction on its own page

Guides