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

# Bank Checkout Deposit

> Customer Completed transaction using Checkout Url

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


## OpenAPI

````yaml POST /api/v3/deposit/bank/checkout
openapi: 3.0.0
info:
  title: KOTANI PAY API PLATFORM
  description: ''
  version: '3.0'
  contact: {}
servers:
  - url: https://sandbox-api.kotanipay.io
    description: Sandbox
security: []
tags: []
paths:
  /api/v3/deposit/bank/checkout:
    post:
      tags:
        - BANK DEPOSIT(checkout)
      summary: Deposit via bank checkout
      description: Customer Completed transaction using Checkout Url
      operationId: DepositBankCheckoutController_mobileMoney_api/v3
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BankDepositCheckoutDto'
      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/BankDepositCheckoutDto'
                    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:
    BankDepositCheckoutDto:
      type: object
      properties:
        fullName:
          type: string
          description: full name
          example: Patrick Oduro
        phoneNumber:
          type: string
          description: Customer Phone Number
          example: '+233542885317'
        paymentMethod:
          type: string
          enum:
            - PAYBYBANK
            - CARD
            - MASTERPASS
          description: Payment Method (PAYBYBANK, CARD, MASTERPASS)
          example: CARD
        currency:
          description: ZAR is currently supported
          example: eg ZAR
          allOf:
            - $ref: '#/components/schemas/Currency'
        referenceId:
          type: string
          description: reference id
          example: gHjvySSAbZSX69Ux0455xqUpenREK3245223452zi
        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/success
        idNumber:
          type: string
          description: >-
            Customer national ID number (required for Capitec Pay in South
            Africa - 13 digit SA ID)
          example: '9001010000084'
        forceDefaultMethod:
          type: boolean
          description: >-
            When true, force the payment method specified in paymentMethod to be
            the only option presented to the customer (no switching allowed).
            Passed to the provider as forceDefaultMethod where supported.
          example: false
      required:
        - fullName
        - paymentMethod
        - currency
        - referenceId
        - amount
    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
  securitySchemes:
    JWT:
      scheme: bearer
      bearerFormat: JWT
      type: http

````