# Submit Payment Request

## OpenAPI Specification

```yaml
openapi: 3.0.1
info:
  title: ''
  description: ''
  version: 1.0.0
paths:
  /api/v0/payment/submit:
    post:
      summary: Submit Payment Request
      deprecated: false
      description: >-

        :::highlight purple 📌

        Use this API to submit a payment request to initiate a transaction. This
        includes sending key payment details such as amount, payment method. It
        triggers the payment process and generates a corresponding order or
        transaction record in the system.

        :::
      operationId: submitPaymentDetail
      tags:
        - Payment Gateway/APIs - Payment Gateway /Payment
        - order-controller
      parameters:
        - name: Authorization
          in: header
          description: Token generated with your Access key and secret key
          required: true
          example: ZJjAg195FnUlR1535
          schema:
            type: string
        - name: merchantAccessKey
          in: header
          description: The access key generated for your account
          required: true
          example: FgRkY5765702145869544866OAXTT
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              x-apidog-refs: {}
              properties:
                orderId:
                  type: string
                paymentDetail:
                  type: object
                  x-apidog-refs:
                    01KAAXVB6TKWN8JZMAJ905WKY7:
                      $ref: '#/components/schemas/PaymentDetailDTO'
                      x-apidog-overrides:
                        paymentMode: &ref_0
                          type: string
                          description: 'Payment mode: WALLET'
                          enum:
                            - NET_BANKING
                            - UPI
                            - CREDIT_CARD
                            - DEBIT_CARD
                            - PREPAID_CARD
                            - PAY_LATER
                            - WALLET
                            - CORPORATE_CARD
                          x-apidog-enum:
                            - name: ''
                              value: NET_BANKING
                              description: ''
                            - name: ''
                              value: UPI
                              description: ''
                            - name: ''
                              value: CREDIT_CARD
                              description: ''
                            - name: ''
                              value: DEBIT_CARD
                              description: ''
                            - name: ''
                              value: PREPAID_CARD
                              description: ''
                            - name: ''
                              value: PAY_LATER
                              description: ''
                            - name: ''
                              value: WALLET
                              description: ''
                            - name: ''
                              value: CORPORATE_CARD
                              description: ''
                      required:
                        - paymentMode
                  x-apidog-orders:
                    - 01KAAXVB6TKWN8JZMAJ905WKY7
                  properties:
                    paymentMode: *ref_0
                    cardHolderName:
                      type: string
                      description: >-
                        Name as printed on the card. Required for Card payment
                        modes.
                      examples:
                        - John Doe
                    cardNumber:
                      type: string
                      description: >-
                        Base64 encoded card number. Required for Card payment
                        modes when tokenType is not provided.
                      examples:
                        - NDAxMjAwMTAzNzE0MTExMg==
                    cvv:
                      type: string
                      description: >-
                        Required for all Card transactions (New Card and Alt
                        ID). Value must be Base64 encoded. Example: Base64 of
                        '123' → 'MTIz'. Not required for network token
                        transactions.
                      examples:
                        - MTIz
                    expiry:
                      type: string
                      description: >-
                        Base64 encoded card expiry in MM/YY format. Required for
                        Card payment modes when tokenType is not provided.
                        Example plain value: 05/30.
                      examples:
                        - MDUvMzA=
                    bankCode:
                      type: string
                      description: >-
                        Bank, wallet, or pay-later provider code. Required for
                        NET_BANKING, WALLET and PAY_LATER payment modes.
                      examples:
                        - NB026
                    bnplPaymentOptionId:
                      type: string
                      description: >-
                        BNPL payment option identifier. Required for PAY_LATER
                        payment mode.
                      examples:
                        - BNPL_001
                    vpa:
                      type: string
                      description: >-
                        Virtual Payment Address (VPA). Required for UPI payment
                        mode.
                      examples:
                        - customer@upi
                    tokenType:
                      type: string
                      description: >-
                        Indicates the type of tokenized transaction. Required
                        for tokenized card transactions.
                      enum:
                        - TOKEN
                        - ALT_ID
                      x-apidog-enum:
                        - value: TOKEN
                          name: ''
                          description: For token based transaction
                        - value: ALT_ID
                          name: ''
                          description: For altId based transaction
                      examples:
                        - TOKEN
                    cardTokenPan:
                      type: string
                      description: >-
                        Plain text token PAN. Required when tokenType is
                        provided.
                      examples:
                        - 520424XXXXXX1234
                    cardTokenCrypto:
                      type: string
                      description: >-
                        Plain text token cryptogram. Required when tokenType is
                        provided. Max length 40 characters
                      examples:
                        - AgAAAAAABk4DWZ4C28yUQAAAAAA=
                      maxLength: 40
                    cardTokenExpiry:
                      type: string
                      description: >-
                        Plain text token expiry in MM/YY format. Required when
                        tokenType is provided.
                      examples:
                        - 05/30
                    tokenRequestorId:
                      type: string
                      description: >-
                        Plain text Token Requestor ID (TRID). Required only for
                        external token transactions.
                      examples:
                        - '50110030273'
                    last4Digits:
                      type: string
                      description: >-
                        Last 4 digits of the original card number. Required when
                        tokenType is provided.
                      examples:
                        - '1112'
                  required:
                    - paymentMode
                  x-apidog-ignore-properties:
                    - paymentMode
                    - cardHolderName
                    - cardNumber
                    - cvv
                    - expiry
                    - bankCode
                    - bnplPaymentOptionId
                    - vpa
                    - tokenType
                    - cardTokenPan
                    - cardTokenCrypto
                    - cardTokenExpiry
                    - tokenRequestorId
                    - last4Digits
                splitSettlement:
                  $ref: '#/components/schemas/SplitSettlementDTO'
                  description: >-
                    Optional, to be provided by merchant having split settlement
                    feature enabled
              x-apidog-orders:
                - orderId
                - paymentDetail
                - splitSettlement
              required:
                - orderId
              x-apidog-ignore-properties: []
            examples:
              '1':
                value:
                  paymentDetail:
                    paymentMode: CREDIT_CARD
                    cardHolderName: Test
                    cvv: MTIz
                    cardNumber: NDAxMjAwMTAzNzE0MTExMg==
                    expiry: MDUvMzA=
                  orderId: ORD1780486191112UBD4P
                summary: Cards
              '2':
                value:
                  orderId: ORD1234321234
                  paymentDetail:
                    paymentMode: NET_BANKING
                    bankCode: NB026
                summary: Net Banking
              '3':
                value:
                  orderId: ORD1234321234
                  paymentDetail:
                    paymentMode: UPI
                    vpa: abc@ybl
                summary: UPI
              '4':
                value:
                  orderId: ORD1234321234
                  paymentDetail:
                    paymentMode: WALLET
                    bankCode: WA001
                summary: Wallet
              '5':
                value:
                  orderId: ORD1780486793228lLHp4
                  paymentDetail:
                    paymentMode: CREDIT_CARD
                    cardHolderName: Test
                    cardTokenPan: '4044646762000354'
                    tokenType: TOKEN
                    tokenRequestorId: '40000000000'
                    last4Digits: '0354'
                    cardTokenCrypto: L3dBQUFBQUFnZmhSMFBjQW1mSTlnaUlBQUFBPQ==
                    cardTokenExpiry: '1228'
                summary: Token
              '6':
                value:
                  orderId: ORD1780486793228lLHp4
                  paymentDetail:
                    paymentMode: CREDIT_CARD
                    cardHolderName: Test
                    cardTokenPan: '4044646762000354'
                    tokenType: ALT_ID
                    tokenRequestorId: '40000000000'
                    last4Digits: '0354'
                    cardTokenCrypto: L3dBQUFBQUFnZmhSMFBjQW1mSTlnaUlBQUFBPQ==
                    cardTokenExpiry: '1228'
                    cvv: MTIz
                summary: Alt-ID
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationResponseSubmitPaymentDetail'
              example:
                response_code: 0
                response_message: Success
                payload:
                  redirectionUrl: >-
                    https://checkout-uat-v2.enkash.in/v1/pay/authentication/EK1768448307820sr03u
                  transactionId: EK1768448307820sr03u
          headers: {}
          x-apidog-name: OK
      security: []
      x-apidog-folder: Payment Gateway/APIs - Payment Gateway /Payment
      x-apidog-status: released
      x-run-in-apidog: https://app.apidog.com/web/project/616243/apis/api-8990253-run
components:
  schemas:
    SplitSettlementDTO:
      type: object
      properties:
        amountSplitType:
          type: string
          enum:
            - FLAT
            - PERCENTAGE
          x-apidog-enum:
            - value: FLAT
              name: ''
              description: ''
            - value: PERCENTAGE
              name: ''
              description: ''
        splitSettlementDetails:
          type: array
          items:
            $ref: '#/components/schemas/SplitSettlementDetail'
      x-apidog-orders:
        - amountSplitType
        - splitSettlementDetails
      required:
        - amountSplitType
        - splitSettlementDetails
      x-apidog-ignore-properties: []
      x-apidog-folder: ''
    SplitSettlementDetail:
      type: object
      properties:
        splitAccountId:
          type: string
          description: Required of label not provided
        label:
          type: string
          description: Required if splitAccountId not provided
        value:
          type: number
      x-apidog-orders:
        - splitAccountId
        - label
        - value
      required:
        - value
      x-apidog-ignore-properties: []
      x-apidog-folder: ''
    PaymentDetailDTO:
      required:
        - paymentMode
      type: object
      description: >-
        For card transactions, cardNumber, cvv and expiry must be sent as Base64
        encoded values. For tokenized card transactions, cardTokenPan,
        cardTokenExpiry, cardTokenCrypto and tokenRequestorId must be sent as
        plain text values.
      properties:
        paymentMode:
          type: string
          description: Payment mode to be used for the transaction.
          enum:
            - NET_BANKING
            - UPI
            - CREDIT_CARD
            - DEBIT_CARD
            - PREPAID_CARD
            - PAY_LATER
            - WALLET
            - CORPORATE_CARD
          x-apidog-enum:
            - name: ''
              value: NET_BANKING
              description: ''
            - name: ''
              value: UPI
              description: ''
            - name: ''
              value: CREDIT_CARD
              description: ''
            - name: ''
              value: DEBIT_CARD
              description: ''
            - name: ''
              value: PREPAID_CARD
              description: ''
            - name: ''
              value: PAY_LATER
              description: ''
            - name: ''
              value: WALLET
              description: ''
            - name: ''
              value: CORPORATE_CARD
              description: ''
          examples:
            - CREDIT_CARD
          nullable: true
        cardHolderName:
          type: string
          description: Name as printed on the card. Required for Card payment modes.
          examples:
            - John Doe
        cardNumber:
          type: string
          description: >-
            Base64 encoded card number. Required for Card payment modes when
            tokenType is not provided.
          examples:
            - NDAxMjAwMTAzNzE0MTExMg==
        cvv:
          type: string
          description: >-
            Required for all Card transactions (New Card and Alt ID). Value must
            be Base64 encoded. Example: Base64 of '123' → 'MTIz'. Not required
            for network token transactions.
          examples:
            - MTIz
        expiry:
          type: string
          description: >-
            Base64 encoded card expiry in MM/YY format. Required for Card
            payment modes when tokenType is not provided. Example plain value:
            05/30.
          examples:
            - MDUvMzA=
        bankCode:
          type: string
          description: >-
            Bank, wallet, or pay-later provider code. Required for NET_BANKING,
            WALLET and PAY_LATER payment modes.
          examples:
            - NB026
        bnplPaymentOptionId:
          type: string
          description: BNPL payment option identifier. Required for PAY_LATER payment mode.
          examples:
            - BNPL_001
        vpa:
          type: string
          description: Virtual Payment Address (VPA). Required for UPI payment mode.
          examples:
            - customer@upi
        tokenType:
          type: string
          description: >-
            Indicates the type of tokenized transaction. Required for tokenized
            card transactions.
          enum:
            - TOKEN
            - ALT_ID
          x-apidog-enum:
            - value: TOKEN
              name: ''
              description: For token based transaction
            - value: ALT_ID
              name: ''
              description: For altId based transaction
          examples:
            - TOKEN
        cardTokenPan:
          type: string
          description: Plain text token PAN. Required when tokenType is provided.
          examples:
            - 520424XXXXXX1234
        cardTokenCrypto:
          type: string
          description: >-
            Plain text token cryptogram. Required when tokenType is provided.
            Max length 40 characters
          examples:
            - AgAAAAAABk4DWZ4C28yUQAAAAAA=
          maxLength: 40
        cardTokenExpiry:
          type: string
          description: >-
            Plain text token expiry in MM/YY format. Required when tokenType is
            provided.
          examples:
            - 05/30
        tokenRequestorId:
          type: string
          description: >-
            Plain text Token Requestor ID (TRID). Required only for external
            token transactions.
          examples:
            - '50110030273'
        last4Digits:
          type: string
          description: >-
            Last 4 digits of the original card number. Required when tokenType
            is provided.
          examples:
            - '1112'
      x-apidog-orders:
        - paymentMode
        - cardHolderName
        - cardNumber
        - cvv
        - expiry
        - bankCode
        - bnplPaymentOptionId
        - vpa
        - tokenType
        - cardTokenPan
        - cardTokenCrypto
        - cardTokenExpiry
        - tokenRequestorId
        - last4Digits
      x-apidog-ignore-properties: []
      x-apidog-folder: ''
    ApplicationResponseSubmitPaymentDetail:
      type: object
      properties:
        response_code:
          type: integer
          format: int32
        response_message:
          type: string
        payload:
          $ref: '#/components/schemas/OrderPaymentSubmitResponse'
      x-apidog-orders:
        - response_code
        - response_message
        - payload
      x-apidog-ignore-properties: []
      x-apidog-folder: ''
    OrderPaymentSubmitResponse:
      type: object
      properties:
        redirectionUrl:
          type: string
        transactionId:
          type: string
      x-apidog-orders:
        - redirectionUrl
        - transactionId
      x-apidog-ignore-properties: []
      x-apidog-folder: ''
  securitySchemes: {}
servers:
  - url: https://ekpayout-uat.enkash.in
    description: Testing Env
security: []

```
