Ozow Hub
POSThttps://one.ozow.com/v1/subscriptionsProduction
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.

  • Take a recurring paymentEverything needed to collect from a customer on a schedule with One API, from the consent the customer gives once through to each collection and the webhook that reports it.
    View package

Create a recurring payment subscription. The response includes a redirectUrl to the hosted page where the customer authorises the amount band; the subscription becomes active once authorised.

Authentication

  • OAuth 2.0
    scopessubscriptions

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

  • siteCode string required

    The 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. the subscription belongs to.

    max length50
  • amount Amount required

    The recurring charge amount. Must be ZAR and fall within the authorised band [amountConstraints.min, amountConstraints.max].

    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
  • amountConstraints AmountConstraints required

    The per-payment authorisation band the customer approves.

    Fields of AmountConstraints
    • min Amount required

      The minimum authorised per-payment amount. Whole RandZAR The ISO 4217 code for the South African rand, and the currency every amount on this site is in unless a page says otherwise. Amounts are decimal rand rather than cents, so 100.00 is one hundred rand., greater than 0.

      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
    • max Amount required

      The maximum authorised per-payment amount. Whole RandZAR The ISO 4217 code for the South African rand, and the currency every amount on this site is in unless a page says otherwise. Amounts are decimal rand rather than cents, so 100.00 is one hundred rand., greater than min, and not exceeding 100000.

      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
    Open AmountConstraints on its own page
  • payableNow PayableNow

    An optional once-off charge taken at sign-up. This charge is not bound by amountConstraints.

    Fields of PayableNow
    • amount Amount required

      The once-off charge amount. Must be ZAR.

      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
    • date string date required

      The date the once-off charge is taken. Must be today or a future date.

    Open PayableNow on its own page
  • identity object

    An optional customer identifier used for matching. Treated as personal information: it is accepted on the request but is never returned on any response (POPIAPOPIA South Africa's data protection law. It governs how personal information about a payer may be collected, stored and shared.popia.co.za data minimisation).

    • type string required

      The type of identification for the customer.

      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 code for the country of identification.

      min length2max length2
    • identifier string required

      The identifier value for the given identity type.

      max length20
  • description string required

    A short description of the subscription.

    max length20
  • merchantReference string required

    Your unique reference for the subscription. Must not contain spaces.

    max length50pattern^\S+$
  • bankReference string required

    The reference that appears on the merchant's bank statement for each payment in the subscription. Letters and numbers only. A site prefix, where one is configured, counts towards the 20 characters.

    max length20pattern^[a-zA-Z0-9]+$
  • frequency SubscriptionFrequency required

    The billing cadence of a subscription.

    values"Daily""Weekly""Fortnightly""Monthly""Biannually""Annually"
  • firstPaymentDate string date required

    The date of the first scheduled charge. Must be today or a future date.

  • occurrences integer required

    The total number of scheduled charges over the life of the subscription.

    min1max120
  • paymentMethod string

    Optional. The payment method (rail) used to collect charges. Defaults to capitec when omitted, which is currently the only supported method. Not returned on responses.

    values"capitec"

Responses

201 Created. The subscription was created and is awaiting customer authorisation.
  • X-Correlation-ID header

    The correlation id for the request that was processed.

  • Location header

    The unique URI for this subscription.

  • subscriptionId string required

    The unique identifier of the subscription.

  • status SubscriptionStatus required

    The lifecycle status of a subscription:

    • PendingAuthorization - created, awaiting customer authorisation via redirectUrl.
    • Active - authorised; scheduled charges are being taken.
    • Canceled - cancelled; no further charges.
    • Completed - all scheduled occurrences have been taken.
    • Expired - the authorisation lapsed before activation.
    • Failed - the subscription could not be established or sustained.
    • Unknown - the status could not be determined.
    values"PendingAuthorization""Active""Canceled""Completed""Expired""Failed""Unknown"
  • siteCode string required

    The 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. the subscription belongs to.

  • amount Amount required

    The recurring charge amount.

    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
  • amountConstraints AmountConstraints

    The authorised per-payment band. Returned on create and get.

    Fields of AmountConstraints
    • min Amount required

      The minimum authorised per-payment amount. Whole RandZAR The ISO 4217 code for the South African rand, and the currency every amount on this site is in unless a page says otherwise. Amounts are decimal rand rather than cents, so 100.00 is one hundred rand., greater than 0.

      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
    • max Amount required

      The maximum authorised per-payment amount. Whole RandZAR The ISO 4217 code for the South African rand, and the currency every amount on this site is in unless a page says otherwise. Amounts are decimal rand rather than cents, so 100.00 is one hundred rand., greater than min, and not exceeding 100000.

      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
    Open AmountConstraints on its own page
  • payableNow PayableNow

    The once-off sign-up charge. Returned on create only.

    Fields of PayableNow
    • amount Amount required

      The once-off charge amount. Must be ZAR.

      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
    • date string date required

      The date the once-off charge is taken. Must be today or a future date.

    Open PayableNow on its own page
  • description string

    The subscription description.

  • merchantReference string required

    Your reference for the subscription.

  • bankReference string

    The reference that appears on the merchant's bank statement for each payment in the subscription.

  • The billing cadence of a subscription.

    values"Daily""Weekly""Fortnightly""Monthly""Biannually""Annually"
  • firstPaymentDate string date required

    The date of the first scheduled charge.

  • occurrences integer required

    The total number of scheduled charges.

  • redirectUrl string uri

    The hosted authorisation page the customer must be redirected to in order to approve the subscription. Present while authorisation is pending.

  • authorization object

    The customer's authorisation (consent) status. Populated once the customer has authorised via redirectUrl.

    • status string

      The provider-mirrored authorisation status.

  • links object required

    Related resource links for the subscription.

    • self string uri

      The URI of this subscription.

    • cancel string uri

      The URI to cancel this subscription.

    • transactions string uri

      The URI to create an ad-hoc charge against this subscription.

Guides