> ## Documentation Index
> Fetch the complete documentation index at: https://developer.novacpayment.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Complete Payment with Opay



## OpenAPI

````yaml post /api/v1/opay-payment?transactionReference={transactionRef}
openapi: 3.0.1
info:
  title: NOVAC API
  version: v1
servers:
  - url: https://api.novacpayment.com/
security:
  - Bearer: []
paths:
  /api/v1/opay-payment?transactionReference={transactionRef}:
    post:
      tags:
        - Custom Checkout
      parameters:
        - name: transactionRef
          in: path
          required: true
          description: >-
            The transaction reference for the payment, must be the same as the
            one used to initiate the payment
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpayAPIResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InitiateFailureResponse'
components:
  schemas:
    OpayAPIResponse:
      type: object
      properties:
        status:
          type: boolean
          description: Indicates whether the Opay transaction was initiated successfully.
        message:
          type: string
          nullable: true
          description: >-
            Provides additional information about the Opay transaction
            initiation status.
        data:
          type: object
          nullable: true
          description: >-
            Contains the Opay checkout session details returned after a
            successful transaction initiation.
          properties:
            cashierUrl:
              type: string
              description: >-
                The hosted checkout URL to redirect the customer to for
                completing payment via Opay.
            reference:
              type: string
              description: >-
                The unique transaction reference generated for this Opay
                checkout session.
            orderNo:
              type: string
              description: The unique order number generated by Opay for this transaction.
            status:
              type: string
              description: >-
                The current status of the Opay order (e.g. INITIAL, SUCCESS,
                FAILED).
            amount:
              type: object
              description: The transaction amount details.
              properties:
                total:
                  type: integer
                  description: >-
                    The transaction amount in the smallest currency unit (e.g.
                    kobo for NGN).
                currency:
                  type: string
                  description: The currency of the transaction amount, e.g. NGN.
              additionalProperties: false
            vat:
              type: object
              description: The VAT (tax) details applied to the transaction, if any.
              properties:
                total:
                  type: integer
                  description: >-
                    The VAT amount in the smallest currency unit (e.g. kobo for
                    NGN).
                currency:
                  type: string
                  description: The currency of the VAT amount, e.g. NGN.
              additionalProperties: false
          additionalProperties: false
      additionalProperties: false
      example:
        status: true
        message: Opay transaction initiated.
        data:
          cashierUrl: >-
            https://express.opaycheckout.com/apiCashier/redirect/payment/checkoutHome?orderToken=TOKEN.7a99a4845931441b8607f32a255693eb
          reference: NCPL20260610084349652371AFXR4P
          orderNo: '260610145662165989858'
          status: INITIAL
          amount:
            total: 30000
            currency: NGN
          vat:
            total: 0
            currency: NGN
    InitiateFailureResponse:
      type: object
      properties:
        status:
          type: boolean
        message:
          type: string
          nullable: true
        data:
          nullable: true
      additionalProperties: false
      example:
        status: false
        message: Empty request not allowed.
        data:
          responseCode: '400'
          responseDescription: Invalid request.
  securitySchemes:
    Bearer:
      type: apiKey
      description: >-
        Input your API key (e.g. your public key) as a Bearer token to access
        this API.
      name: Authorization
      in: header

````