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

# CardPay

> Use this API to transfer money to beneficiary cards. Provide details such as beneficiary name, card type, network type, and transfer ID.

You need to pass the tokenised card number or card token for this transfer.

Please use this Authorization token in headers to call any payout API (Refresh this page if the token is expired)

<iframe src="https://www.cashfree.com/devstudio/preview/payouts/embed/bearerToken" width="600" />

<Accordion title="Click to view the tokens to test CardPay integration.">
  | Test token       | Response in UAT |
  | :--------------- | :-------------- |
  | 4895379990484220 | SUCCESS         |
  | 5480981500100002 | SUCCESS         |
  | 5480981500100003 | FAILURE         |
  | 4895379990484221 | FAILURE         |
</Accordion>

<Accordion title="Click to view the response codes.">
  | Sub code | Status  | Message                                                                                                                       | Next action                                                                                                 |
  | :------- | :------ | :---------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------- |
  | 200      | SUCCESS | Transfer completed successfully                                                                                               | None                                                                                                        |
  | 201      | PENDING | Transfer request pending at the bank                                                                                          | None                                                                                                        |
  | 400      | ERROR   | Transfer Id already exists                                                                                                    | Provide a different transfer ID                                                                             |
  | 403      | ERROR   | Token is not valid                                                                                                            | Validate the token                                                                                          |
  | 403      | ERROR   | APIs not enabled. Please fill out the [Support Form](https://merchant.cashfree.com/merchants/landing?env=prod\&raise_issue=1) | Please fill out the [Support Form](https://merchant.cashfree.com/merchants/landing?env=prod\&raise_issue=1) |
  | 412      | ERROR   | Not enough available balance in the account                                                                                   | Try again with sufficient account balance                                                                   |
  | 422      | ERROR   | Please provide valid token details                                                                                            | Provide a valid token                                                                                       |
  | 422      | ERROR   | amount should be at least 1.0                                                                                                 | Enter a transfer amount that is equal to or more than Rs. 1.                                                |
  | 422      | ERROR   | Invalid bank account number or ifsc provided                                                                                  | Provide valid bank account details                                                                          |
  | 422      | ERROR   | Please provide a valid Name                                                                                                   | Provide a valid name                                                                                        |
  | 422      | ERROR   | Please provide a valid networkType                                                                                            | Provide a valid network type                                                                                |
  | 422      | ERROR   | cardType is invalid                                                                                                           | Provide a valid card type                                                                                   |
  | 422      | ERROR   | transferId can contain only alphabets, numbers, hyphen and underscore                                                         | Provide a valid transfer ID                                                                                 |
</Accordion>


## OpenAPI

````yaml post /payout/v1/cardpay
openapi: 3.0.0
info:
  title: Payouts
  version: 3.0.0
servers:
  - url: https://payout-api.cashfree.com
    description: Production
  - url: https://payout-gamma.cashfree.com
    description: Sandbox
security:
  - {}
paths:
  /payout/v1/cardpay:
    post:
      summary: CardPay
      description: >-
        Use this API to transfer money to beneficiary cards. Provide details
        such as beneficiary name, card type, network type, and transfer ID.


        You need to pass the tokenised card number or card token for this
        transfer.
      operationId: card-payment1
      parameters:
        - name: Authorization
          in: header
          description: Bearer Auth Token
          required: true
          style: simple
          explode: false
          schema:
            type: string
        - name: Content-Type
          in: header
          description: application/json
          required: true
          style: simple
          explode: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v1_cardpay_body'
      responses:
        '200':
          description: '200'
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/inline_response_200_15'
        '201':
          description: '201'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inline_response_201'
        '400':
          description: '400'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inline_response_400'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inline_response_403_2'
              examples:
                Case1:
                  summary: Invalid Token
                  value:
                    status: ERROR
                    subCode: '403'
                    message: Token is not valid
                Case2:
                  summary: APIs Not Enabled
                  value:
                    status: ERROR
                    subCode: '403'
                    message: >-
                      APIs not enabled. Please fill out the [Support
                      Form](https://merchant.cashfree.com/merchants/landing?env=prod&raise_issue=1)
        '412':
          description: '412'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inline_response_412_1'
        '422':
          description: '422'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inline_response_422_8'
              examples:
                case1:
                  summary: Provide valid token
                  value:
                    status: ERROR
                    subCode: '422'
                    message: Please provide valid token details.
                case2:
                  summary: Amount should be at least 1.0
                  value:
                    status: ERROR
                    subCode: '422'
                    message: Amount should be at least 1.0
                case3:
                  summary: Invalid bank account number or IFSC provided
                  value:
                    status: ERROR
                    subCode: '422'
                    message: Invalid bank account number or IFSC provided
                case4:
                  summary: Please provide a valid Name
                  value:
                    status: ERROR
                    subCode: '422'
                    message: Please provide a valid Name.
                case5:
                  summary: Please provide a valid networkType
                  value:
                    status: ERROR
                    subCode: '422'
                    message: Please provide a valid networkType.
                case6:
                  summary: CardType is invalid
                  value:
                    status: ERROR
                    subCode: '422'
                    message: CardType is invalid.
                case7:
                  summary: Transfer ID Validation
                  value:
                    status: ERROR
                    subCode: '422'
                    message: >-
                      TransferId can contain only alphabets, numbers, hyphen,
                      and underscore.
      deprecated: false
components:
  schemas:
    v1_cardpay_body:
      required:
        - amount
        - cardType
        - token
        - transferId
      type: object
      properties:
        token:
          type: string
          description: It is the tokenised card number or card token for this transfer.
        amount:
          type: string
          description: >-
            Amount you want to transfer. Amount should be >= 1.00. Decimals are
            allowed.
        transferId:
          type: string
          description: >-
            Unique transfer ID to identify the transfer. Alphanumeric characters
            and underscore are allowed. The maximum character limit is 40.
        remarks:
          type: string
          description: >-
            Remarks for your reference. Alphanumeric characters and whitespace
            are allowed. The maximum character limit is 70.
        name:
          type: string
          description: The name of the beneficiary who receives the transfer amount.
        networkType:
          type: string
          description: Specify the card type - VISA/MASTERCARD.
        cryptogram:
          type: string
          description: >-
            It ​contains formatted chip/cryptogram data relating to the token
            cryptogram. The maximum character limit is 600. It is optional for
            MASTERCARD and not required for VISA.
        tokenExpiry:
          type: string
          description: >-
            Applicable only for MASTERCARD. The format for the valid token
            expiry date should be YYYY-MM. It cannot be null. Provide a valid
            tokenExpiry if collected from the customers. If unavailable,
            populate a static value with a forward year and month in the correct
            format (YYYY-MM). The maximum character limit is 10.
        cardType:
          type: string
          description: >-
            Specify if it is a debit or credit card. Values allowed:
            DEBIT/CREDIT. CREDIT is the default value if the parameter does not
            exist or is not specified.
        tokenPANSequenceNumber:
          type: string
          description: >-
            A maximum of 3 alphanumeric characters are allowed. It is optional
            for MASTERCARD and not required for VISA.
    inline_response_200_15:
      type: object
      properties:
        status:
          type: string
          example: SUCCESS
        subCode:
          type: string
          example: '200'
        message:
          type: string
          example: Transfer completed successfully
        data:
          $ref: '#/components/schemas/inline_response_200_15_data'
    inline_response_201:
      type: object
      properties:
        status:
          type: string
          example: PENDING
        subCode:
          type: string
          example: '201'
        message:
          type: string
          example: Transfer request pending at the bank
        data:
          $ref: '#/components/schemas/inline_response_201_data'
    inline_response_400:
      type: object
      properties:
        status:
          type: string
          example: ERROR
        subCode:
          type: string
          example: '400'
        message:
          type: string
          example: Transfer Id already exists
    inline_response_403_2:
      type: object
      properties:
        status:
          type: string
          example: ERROR
        subCode:
          type: string
          example: '403'
        message:
          type: string
          example: Token is not valid
    inline_response_412_1:
      type: object
      properties:
        status:
          type: string
          example: ERROR
        subCode:
          type: string
          example: '412'
        message:
          type: string
          example: Not enough available balance in the account
    inline_response_422_8:
      type: object
      properties:
        status:
          type: string
          example: ERROR
        subCode:
          type: string
          example: '422'
        message:
          type: string
          example: Please provide valid token details.
    inline_response_200_15_data:
      type: object
      properties:
        referenceId:
          type: string
          example: '10023'
        utr:
          type: string
          example: P16111765023806
        acknowledged:
          type: integer
          example: 1
          default: 0
    inline_response_201_data:
      type: object
      properties:
        referenceId:
          type: string
          example: '23770604'
        utr:
          type: string
          example: ''
        acknowledged:
          type: integer
          example: 0
          default: 0

````