> ## 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 Palmpay



## OpenAPI

````yaml post /api/v1/palmpay-payment?transactionReference={transactionRef}
openapi: 3.0.1
info:
  title: NOVAC API
  version: v1
servers:
  - url: https://api.novacpayment.com/
security:
  - Bearer: []
paths:
  /api/v1/palmpay-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/PalmpayAPIResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InitiateFailureResponse'
components:
  schemas:
    PalmpayAPIResponse:
      type: object
      properties:
        status:
          type: boolean
          description: >-
            Indicates whether the Palmpay transaction was initiated
            successfully.
        message:
          type: string
          nullable: true
          description: >-
            Provides additional information about the Palmpay transaction
            initiation status.
        data:
          type: object
          nullable: true
          description: >-
            Contains the Palmpay checkout session details returned after a
            successful transaction initiation.
          properties:
            checkoutUrl:
              type: string
              description: >-
                The hosted checkout URL to redirect the customer to for
                completing payment via Palmpay.
            currency:
              type: string
              description: The currency of the transaction, e.g. NGN.
            message:
              type: string
              nullable: true
              description: Additional message from Palmpay regarding the session, if any.
            orderAmount:
              type: integer
              description: >-
                The transaction amount in the smallest currency unit (e.g. kobo
                for NGN).
            orderNo:
              type: string
              description: >-
                The unique order number generated by Palmpay for this
                transaction.
            orderStatus:
              type: integer
              description: >-
                The current status code of the order as returned by Palmpay
                (e.g. 0 for pending).
            payToken:
              type: string
              description: The payment token associated with this checkout session.
            sdkSessionId:
              type: string
              description: The session ID used when integrating with the Palmpay SDK.
            sdkSignKey:
              type: string
              description: The signing key used to validate the SDK session.
          additionalProperties: false
      additionalProperties: false
      example:
        status: true
        message: Palmpay transaction initiated.
        data:
          checkoutUrl: >-
            https://checkout.palmpay.com/h5-checkout/?countryCode=NG&tntCode=PALMPAY&payToken=CA3FE89AA866FF827B66FBCABC3E05E1&orderNo=24260610084630346817&signKey=HAcl9Y-MSLtefSXGqOahZsTK1B5kfVeP7BnkneewFeg&signSession=24260610084630346817&appId=L250813121766924290401&productType=pay_wallet&businessProductType=pay_wallet&businessMode=three_mode&identityType=NEW&callable=%7B%22android%22%3A%22true%22%2C%22ios%22%3A%22true%22%7D
          currency: NGN
          message: ''
          orderAmount: 30000
          orderNo: '24260610084630346817'
          orderStatus: 0
          payToken: CA3FE89AA866FF827B66FBCABC3E05E1
          sdkSessionId: '24260610084630346817'
          sdkSignKey: HAcl9Y-MSLtefSXGqOahZsTK1B5kfVeP7BnkneewFeg
    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

````