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

# Card Deposit

> Customer Completed transaction using Checkout Url

Customer completed transaction using checkout URL. This endpoint allows customers to deposit funds via card payment.


## OpenAPI

````yaml POST /api/v3/deposit/card
openapi: 3.0.0
info:
  title: KOTANI PAY API PLATFORM
  description: ''
  version: '3.0'
  contact: {}
servers:
  - url: https://preview.kotanipay.com
security: []
tags: []
paths:
  /api/v3/deposit/card:
    post:
      tags:
        - CARD DEPOSIT
      summary: Deposit via card
      description: Customer Completed transaction using Checkout Url
      operationId: DepositCardController_mobileMoney_api/v3
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CardDepositDto'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: Checkout Created successfully created.
                  data:
                    $ref: '#/components/schemas/DepositResponseDto'
                    type: object
        '400':
          description: ''
          content:
            application/json:
              schema:
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: Bad Request
                  data:
                    type: object
                    example: {}
        '401':
          description: ''
          content:
            application/json:
              schema:
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: Unauthorized
                  data:
                    type: object
                    example: {}
      security:
        - JWT: []
components:
  schemas:
    CardDepositDto:
      type: object
      properties:
        fullName:
          type: string
          description: full name
          example: John Doe
        phoneNumber:
          type: string
          description: Customer Phone Number
          example: +245XXXXXXXXX
        currency:
          description: ZAR is currently supported
          example: eg ZAR
          allOf:
            - $ref: '#/components/schemas/Currency'
        card:
          description: Card Details
          allOf:
            - $ref: '#/components/schemas/CardDetailsDto'
        country:
          type: string
          description: >-
            Country where the wallet is used (optional if derivable from
            currency) - Cards are accepted globally
          example: ZA
        referenceId:
          type: string
          description: reference id
          example: 5f9b2c7b9c9d6b0017b4e6b1
        amount:
          type: number
          description: amount to deposit
          example: 10
        callbackUrl:
          type: string
          description: callback url
          example: https://example.com
        customerRedirectUrl:
          type: string
          description: customer redirect url
          example: https://example.com
      required:
        - fullName
        - phoneNumber
        - currency
        - card
        - amount
    DepositResponseDto:
      type: object
      properties:
        id:
          type: string
        message:
          type: string
        reference_id:
          type: string
        reference_number:
          type: number
        customer_key:
          type: string
        redirect_url:
          type: string
      required:
        - id
        - message
        - reference_id
        - reference_number
    Currency:
      type: string
      enum:
        - KES
        - GHS
        - NGN
        - ZAR
        - ZAR
        - USD
        - XOF
        - ZMW
        - XAF
        - SLE
        - CDF
        - TZS
        - UGX
        - EGP
        - MWK
        - RWF
        - ETB
        - MZN
        - LSL
        - GNF
        - USDT
        - BTC
        - ETH
        - USDC
      description: From currency
    CardDetailsDto:
      type: object
      properties:
        number:
          type: string
          description: Card Number
          example: '4591005500136100'
        holder:
          type: string
          description: Card Holder
          example: John Doe
        expiryMonth:
          type: string
          description: Expiry Month
          example: '01'
        expiryYear:
          type: string
          description: Expiry Year
          example: '2025'
        cvv:
          type: string
          description: CVV
          example: '123'
        paymentBrand:
          description: Payment Method
          example: VISA
          allOf:
            - $ref: '#/components/schemas/CARD_TYPE'
        customerRedirectUrl:
          type: string
          description: customer redirect url
          example: https://example.com
      required:
        - number
        - holder
        - expiryMonth
        - expiryYear
        - cvv
        - paymentBrand
    CARD_TYPE:
      type: string
      enum:
        - VISA
        - MASTER
      description: Payment Method
  securitySchemes:
    JWT:
      scheme: bearer
      bearerFormat: JWT
      type: http

````