Cashfree Payments Payment Links API

Collection of APIs to handle payment links.

OpenAPI Specification

cashfree-payment-links-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  version: '2025-01-01'
  title: Cashfree Payment Gateway APIs Authorize Payment Links API
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  contact:
    email: developers@cashfree.com
    name: API Support
    url: https://discord.com/invite/QdZkNSxXsB
  description: Cashfree's Payment Gateway APIs provide developers with a streamlined pathway to integrate advanced payment processing capabilities into their applications, platforms and websites.
servers:
- url: https://sandbox.cashfree.com/pg
  description: Sandbox server
- url: https://api.cashfree.com/pg
  description: Production server
tags:
- name: Payment Links
  description: Collection of APIs to handle payment links.
paths:
  /links:
    post:
      summary: Create Payment Link
      x-mcp:
        enabled: true
        config:
          elicitation:
            $ref: '#/components/x-elicitationConfig/createPaymentLink'
      description: Use this API to create a new payment link. The created payment link url will be available in the API response parameter link_url. Please pass non required fields only if user passed that are critical like phone
      tags:
      - Payment Links
      operationId: PGCreateLink
      deprecated: false
      security:
      - XClientID: []
        XClientSecret: []
      - XClientID: []
        XPartnerAPIKey: []
      - XClientID: []
        XClientSignatureHeader: []
      - XPartnerMerchantID: []
        XPartnerAPIKey: []
      parameters:
      - $ref: '#/components/parameters/apiVersionHeader'
      - $ref: '#/components/parameters/xRequestIDHeader'
      - $ref: '#/components/parameters/xIdempotencyKeyHeader'
      requestBody:
        $ref: '#/components/requestBodies/CreateLinkRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LinkEntity'
          headers:
            x-api-version:
              $ref: '#/components/headers/x-api-version'
            x-ratelimit-limit:
              $ref: '#/components/headers/x-ratelimit-limit'
            x-ratelimit-remaining:
              $ref: '#/components/headers/x-ratelimit-remaining'
            x-ratelimit-retry:
              $ref: '#/components/headers/x-ratelimit-retry'
            x-ratelimit-type:
              $ref: '#/components/headers/x-ratelimit-type'
            x-request-id:
              $ref: '#/components/headers/x-request-id'
            x-idempotency-key:
              $ref: '#/components/headers/x-idempotency-key'
            x-idempotency-replayed:
              $ref: '#/components/headers/x-idempotency-replayed'
        '400':
          $ref: '#/components/responses/Response400'
        '401':
          $ref: '#/components/responses/Response401'
        '404':
          $ref: '#/components/responses/Response404'
        '409':
          $ref: '#/components/responses/Response409'
        '422':
          $ref: '#/components/responses/Response422'
        '429':
          $ref: '#/components/responses/Response429'
        '500':
          $ref: '#/components/responses/Response500'
  /links/{link_id}:
    get:
      summary: Fetch Payment Link Details
      x-mcp:
        enabled: true
      description: Use this API to view all details and status of a payment link.
      tags:
      - Payment Links
      operationId: PGFetchLink
      deprecated: false
      security:
      - XClientID: []
        XClientSecret: []
      - XClientID: []
        XPartnerAPIKey: []
      - XClientID: []
        XClientSignatureHeader: []
      - XPartnerMerchantID: []
        XPartnerAPIKey: []
      parameters:
      - $ref: '#/components/parameters/apiVersionHeader'
      - $ref: '#/components/parameters/xRequestIDHeader'
      - $ref: '#/components/parameters/linkIDParam'
      - $ref: '#/components/parameters/xIdempotencyKeyHeader'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LinkEntity'
          headers:
            x-api-version:
              $ref: '#/components/headers/x-api-version'
            x-ratelimit-limit:
              $ref: '#/components/headers/x-ratelimit-limit'
            x-ratelimit-remaining:
              $ref: '#/components/headers/x-ratelimit-remaining'
            x-ratelimit-retry:
              $ref: '#/components/headers/x-ratelimit-retry'
            x-ratelimit-type:
              $ref: '#/components/headers/x-ratelimit-type'
            x-request-id:
              $ref: '#/components/headers/x-request-id'
            x-idempotency-key:
              $ref: '#/components/headers/x-idempotency-key'
            x-idempotency-replayed:
              $ref: '#/components/headers/x-idempotency-replayed'
        '400':
          $ref: '#/components/responses/Response400'
        '401':
          $ref: '#/components/responses/Response401'
        '404':
          $ref: '#/components/responses/Response404'
        '409':
          $ref: '#/components/responses/Response409'
        '422':
          $ref: '#/components/responses/Response422'
        '429':
          $ref: '#/components/responses/Response429'
        '500':
          $ref: '#/components/responses/Response500'
        '502':
          $ref: '#/components/responses/Response502'
  /links/{link_id}/cancel:
    post:
      summary: Cancel Payment Link
      x-mcp:
        enabled: true
      description: Use this API to cancel a payment link. No further payments can be done against a cancelled link. Only a link in ACTIVE status can be cancelled.
      tags:
      - Payment Links
      operationId: PGCancelLink
      deprecated: false
      security:
      - XClientID: []
        XClientSecret: []
      - XClientID: []
        XPartnerAPIKey: []
      - XClientID: []
        XClientSignatureHeader: []
      - XPartnerMerchantID: []
        XPartnerAPIKey: []
      parameters:
      - $ref: '#/components/parameters/apiVersionHeader'
      - $ref: '#/components/parameters/xRequestIDHeader'
      - $ref: '#/components/parameters/xIdempotencyKeyHeader'
      - $ref: '#/components/parameters/linkIDParam'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LinkEntity'
          headers:
            x-api-version:
              $ref: '#/components/headers/x-api-version'
            x-ratelimit-limit:
              $ref: '#/components/headers/x-ratelimit-limit'
            x-ratelimit-remaining:
              $ref: '#/components/headers/x-ratelimit-remaining'
            x-ratelimit-retry:
              $ref: '#/components/headers/x-ratelimit-retry'
            x-ratelimit-type:
              $ref: '#/components/headers/x-ratelimit-type'
            x-request-id:
              $ref: '#/components/headers/x-request-id'
            x-idempotency-key:
              $ref: '#/components/headers/x-idempotency-key'
            x-idempotency-replayed:
              $ref: '#/components/headers/x-idempotency-replayed'
        '400':
          $ref: '#/components/responses/Response400'
        '401':
          $ref: '#/components/responses/Response401'
        '404':
          $ref: '#/components/responses/Response404'
        '409':
          $ref: '#/components/responses/Response409'
        '422':
          $ref: '#/components/responses/Response422'
        '429':
          $ref: '#/components/responses/Response429'
        '500':
          $ref: '#/components/responses/Response500'
  /links/{link_id}/orders:
    get:
      summary: Get Orders for a Payment Link
      x-mcp:
        enabled: true
      description: Use this API to view all order details for a payment link.
      tags:
      - Payment Links
      operationId: PGLinkFetchOrders
      deprecated: false
      security:
      - XClientID: []
        XClientSecret: []
      - XClientID: []
        XPartnerAPIKey: []
      - XClientID: []
        XClientSignatureHeader: []
      - XPartnerMerchantID: []
        XPartnerAPIKey: []
      parameters:
      - $ref: '#/components/parameters/apiVersionHeader'
      - $ref: '#/components/parameters/xRequestIDHeader'
      - $ref: '#/components/parameters/linkIDParam'
      - $ref: '#/components/parameters/xIdempotencyKeyHeader'
      - $ref: '#/components/parameters/statusQueryParam'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PaymentLinkOrderEntity'
              examples:
                order_entity_list_example:
                  $ref: '#/components/examples/order_entity_list_example'
          headers:
            x-api-version:
              $ref: '#/components/headers/x-api-version'
            x-ratelimit-limit:
              $ref: '#/components/headers/x-ratelimit-limit'
            x-ratelimit-remaining:
              $ref: '#/components/headers/x-ratelimit-remaining'
            x-ratelimit-retry:
              $ref: '#/components/headers/x-ratelimit-retry'
            x-ratelimit-type:
              $ref: '#/components/headers/x-ratelimit-type'
            x-request-id:
              $ref: '#/components/headers/x-request-id'
            x-idempotency-key:
              $ref: '#/components/headers/x-idempotency-key'
            x-idempotency-replayed:
              $ref: '#/components/headers/x-idempotency-replayed'
        '400':
          $ref: '#/components/responses/Response400'
        '401':
          $ref: '#/components/responses/Response401'
        '404':
          $ref: '#/components/responses/Response404'
        '409':
          $ref: '#/components/responses/Response409'
        '422':
          $ref: '#/components/responses/Response422'
        '429':
          $ref: '#/components/responses/Response429'
        '500':
          $ref: '#/components/responses/Response500'
components:
  schemas:
    OrderMeta:
      title: OrderMeta
      description: Optional meta details to control how the customer pays and how payment journey completes
      type: object
      properties:
        return_url:
          type: string
          example: https://www.cashfree.com/devstudio/thankyou
          description: 'The URL to which user will be redirected to after the payment on bank OTP page. Maximum length: 250. We suggest to keep context of order_id in your return_url so that you can identify the order when customer lands on your page. Example of return_url format could be https://www.cashfree.com/devstudio/thankyou'
        notify_url:
          type: string
          example: https://example.com/cf_notify
          description: 'Notification URL for server-server communication. Useful when user''s connection drops while re-directing. NotifyUrl should be an https URL. Maximum length: 250.'
        payment_methods:
          example: cc,dc,upi
          description: Allowed payment modes for this order. Pass comma-separated values among following options - "cc", "dc", "ccc", "ppc","nb","upi","paypal","app","paylater","cardlessemi","dcemi","ccemi","banktransfer". Leave it blank to show all available payment methods
        payment_methods_filters:
          description: Allowed payment modes for this order. Along with multiple filters for cards can be added to this key. And this filtering will be honoured during transaction creation.
          type: object
          properties:
            methods:
              description: Allowed payment modes for this order. credit_card, debit_card, netbanking, paylater, etc are the values that can be passed to this parameter.
              type: object
              properties:
                action:
                  type: string
                  description: It accepts value of "ALLOW" and allows only those modes present in it's neighbouring parameter "values"
                values:
                  type: array
                  items:
                    type: string
                  description: The accepted entries for this paramter are "debit_card, credit_card, prepaid_card, upi, wallet, netbanking, banktransfer, paylater, paypal, debit_card_emi, credit_card_emi, upi_credit_card, upi_ppi, cardless_emi, account_based_payment, corporate_credit_card, sbc_debit_card, sbc_emandate, sbc_upi, sbc_credit_card"
            filters:
              description: This object takes details of all the filtering that has to be done for this order. Filters on card bins, card schemes, card issuing bank and card suffixes
              type: object
              properties:
                card_bins:
                  description: Allowed card bins for the order
                  type: object
                  properties:
                    action:
                      type: string
                      description: It accepts value of "ALLOW" and allows only those bins present in it's neighbouring parameter "values"
                    values:
                      type: array
                      items:
                        type: string
                      description: List of card bins to be allowed for the order
                card_schemes:
                  description: Allowed card schemes for the order
                  type: object
                  properties:
                    action:
                      type: string
                      description: It accepts value of "ALLOW" and allows only those schemes present in it's neighbouring parameter "values"
                    values:
                      type: array
                      items:
                        type: string
                      description: List of card schemes to be allowed for the order
                card_suffix:
                  description: Allowed card suffixes for the order
                  type: object
                  properties:
                    action:
                      type: string
                      description: It accepts value of "ALLOW" and allows only those suffixes present in it's neighbouring parameter "values"
                    values:
                      type: array
                      items:
                        type: string
                      description: List of card suffixes to be allowed for the order
                card_issuing_bank:
                  description: Allowed card issuing bank for the order
                  type: object
                  properties:
                    action:
                      type: string
                      description: It accepts value of "ALLOW" and allows only those issuing bank present in it's neighbouring parameter "values"
                    values:
                      type: array
                      description: List of card issuing bank to be allowed for the order
                      items:
                        type: string
    BadRequestError:
      title: BadRequestError
      description: Invalid request received from client
      example:
        message: bad URL, please check API documentation
        code: request_failed
        type: invalid_request_error
      type: object
      properties:
        message:
          type: string
        code:
          type: string
        help:
          type: string
        type:
          type: string
          enum:
          - invalid_request_error
    RateLimitError:
      title: RateLimitError
      description: Error when rate limit is breached for your api
      example:
        message: Too many requests from IP. Check headers
        code: request_failed
        type: rate_limit_error
      type: object
      properties:
        message:
          type: string
        code:
          type: string
        type:
          type: string
          enum:
          - rate_limit_error
          description: rate_limit_error
    AuthenticationError:
      title: AuthenticationError
      description: Error if api keys are wrong
      example:
        message: authentication Failed
        code: request_failed
        type: authentication_error
      type: object
      properties:
        message:
          type: string
        code:
          type: string
        type:
          type: string
          description: authentication_error
    LinkMetaResponseEntity:
      title: link_meta
      description: Payment link meta information object
      type: object
      example:
        notify_url: https://ee08e626ecd88c61c85f5c69c0418cb5.m.pipedream.net
        upi_intent: 'false'
        return_url: https://www.cashfree.com/devstudio/thankyou
      properties:
        notify_url:
          type: string
          description: Notification URL for server-server communication. It should be an https URL.
        upi_intent:
          type: string
          description: If "true", link will directly open UPI Intent flow on mobile, and normal link flow elsewhere
        return_url:
          type: string
          description: 'The URL to which user will be redirected to after the payment is done on the link. Maximum length: 250.'
        payment_methods:
          type: string
          description: Allowed payment modes for this link. Pass comma-separated values among following options - "cc", "dc", "ccc", "ppc", "nb", "upi", "paypal", "app". Leave it blank to show all available payment methods
    CreateLinkRequest:
      title: CreateLinkRequest
      description: Request paramenters for link creation
      example:
        customer_details:
          customer_email: john@cashfree.com
          customer_name: John Doe
          customer_phone: '9999999999'
        link_amount: 100
        link_auto_reminders: true
        link_currency: INR
        link_expiry_time: '2021-10-14T15:04:05+05:30'
        link_id: my_link_id
        link_meta:
          notify_url: https://ee08e626ecd88c61c85f5c69c0418cb5.m.pipedream.net
          return_url: https://www.cashfree.com/devstudio/thankyou
          upi_intent: false
        link_minimum_partial_amount: 20
        link_notes:
          key_1: value_1
          key_2: value_2
        link_notify:
          send_email: true
          send_sms: false
        link_partial_payments: true
        link_purpose: Payment for PlayStation 11
        order_splits:
        - vendor_id: Jane
          amount: 1.45
          tags:
            address: Hyderabad
        - vendor_id: Barbie
          amount: 3.45
          tags:
            address: Bengaluru, India
      type: object
      properties:
        link_id:
          type: string
          description: Unique Identifier (provided by merchant) for the Link. Alphanumeric and only - and _ allowed (50 character limit). Use this for other link-related APIs.
          maxLength: 50
        link_amount:
          type: number
          format: double
          description: Amount to be collected using this link. Provide upto two decimals for paise.
        link_currency:
          type: string
          description: Currency for the payment link. Default is INR. Contact care@cashfree.com to enable new currencies.
          minimum: 1
        link_purpose:
          type: string
          description: A brief description for which payment must be collected. This is shown to the customer.
          maxLength: 500
        customer_details:
          $ref: '#/components/schemas/LinkCustomerDetailsEntity'
        link_partial_payments:
          type: boolean
          description: If "true", customer can make partial payments for the link.
        link_minimum_partial_amount:
          type: number
          format: double
          description: Minimum amount in first installment that needs to be paid by the customer if partial payments are enabled. This should be less than the link_amount.
        link_expiry_time:
          type: string
          description: Time after which the link expires. Customers will not be able to make the payment beyond the time specified here. You can provide them in a valid ISO 8601 time format. Default is 30 days.
        link_notify:
          $ref: '#/components/schemas/LinkNotifyEntity'
        link_auto_reminders:
          type: boolean
          description: If "true", reminders will be sent to customers for collecting payments.
        link_notes:
          $ref: '#/components/schemas/LinkNotesEntity'
        link_meta:
          $ref: '#/components/schemas/LinkMetaResponseEntity'
        order_splits:
          type: array
          description: If you have Easy split enabled in your Cashfree account then you can use this option to split the order amount.
          items:
            $ref: '#/components/schemas/VendorSplit'
          example:
          - amount: 10
            vendor: john
      required:
      - link_currency
      - link_id
      - link_amount
      - customer_details
      - link_purpose
    LinkCustomerDetailsEntity:
      title: customer_details
      description: Payment link customer entity
      type: object
      example:
        customer_name: John Doe
        customer_phone: '9999999999'
        customer_email: john@cashfree.com
        customer_bank_account_number: 11111111111
        customer_bank_ifsc: SBIN0001882
        customer_bank_code: 7001
      properties:
        customer_phone:
          type: string
          description: Customer phone number
        customer_email:
          type: string
          description: Customer email address
        customer_name:
          type: string
          description: Customer name
        customer_bank_account_number:
          type: string
          description: Customer Bank Account Number
        customer_bank_ifsc:
          type: string
          description: Customer Bank Ifsc
        customer_bank_code:
          type: integer
          enum:
          - 3003
          - 3005
          - 3006
          - 3010
          - 3012
          - 3016
          - 3019
          - 3020
          - 3021
          - 3022
          - 3023
          - 3024
          - 3026
          - 3027
          - 3028
          - 3029
          - 3030
          - 3031
          - 3032
          - 3033
          - 3038
          - 3039
          - 3040
          - 3042
          - 3044
          - 3054
          - 3055
          - 3058
          - 3086
          - 3087
          - 3088
          - 3089
          - 3090
          - 3091
          - 3092
          - 3098
          - 3115
          - 3117
          - 7001
          description: Customer Bank Code
      required:
      - customer_phone
    ApiError:
      title: ApiError
      description: Error at cashfree's server
      example:
        message: internal Server Error
        code: internal_error
        type: api_error
      type: object
      properties:
        message:
          type: string
        code:
          type: string
        help:
          type: string
        type:
          type: string
          enum:
          - api_error
          description: api_error
    IdempotencyError:
      title: IdempotencyError
      description: Error when idempotency fails. Different request body with the same idempotent key
      example:
        message: something is not found
        code: request_invalid
        type: idempotency_error
      type: object
      properties:
        message:
          type: string
        help:
          type: string
        code:
          type: string
        type:
          type: string
          enum:
          - idempotency_error
          description: idempotency_error
    LinkEntity:
      title: LinkEntity
      description: Payment link success creation response object
      type: object
      example:
        cf_link_id: '1996567'
        link_id: my_link_id
        link_status: ACTIVE
        link_currency: INR
        link_amount: 100
        link_amount_paid: 0
        link_partial_payments: true
        link_minimum_partial_amount: 20
        link_purpose: Payment for PlayStation 11
        link_created_at: '2021-09-30T17:05:01+05:30'
        customer_details:
          customer_name: John Doe
          customer_phone: '9999999999'
          customer_email: john@example.com
        link_meta:
          notify_url: https://ee08e626ecd88c61c85f5c69c0418cb5.m.pipedream.net
          upi_intent: false
          return_url: https://www.cashfree.com/devstudio/thankyou
        link_url: https://payments-test.cashfree.com/links/o1tf1nvcvjhg
        link_expiry_time: '2021-10-14T15:04:05+05:30'
        link_notes:
          key_1: value_1
          key_2: value_2
        link_auto_reminders: true
        link_qrcode: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUAAAAFAAQMAAAD3XjfpAAAABlBMVEX///8AAABVwtN+AAAC9ElEQVR4nOyaPY7jMAyFn6HCpY7go/hmkXIzH0VHUOlC8Fvw0c4kM4PFFltJJjDAQPnSEPx5JIPbbrvttv9rC82mPW7gvnDasT5ZkSZyS/ZR6xLMANaJFQLJuj5J5mkHHgaMDpJlNfeROzAZFE4/PgKZOwZfoWTggchsDrvBd7DNZeW/+LEHUDmzY7Wn1aNHORO335JrNPBVcVPYl+2Y6/pssSS9/F6aOwDdLq9smLkBsUCl9aeNB6riymMzNwujI9QlW11hw/Lmx47AJVNBY16Zi71Ydy1JFTXU4UEGlvWYSfsGgbghXOn2HkGdgcCymdJS9GCu66HXmVtqsQwOvoSo/tnswbovLZ6mFpnHBpccTLHaPGMq5QBWKznZOpN9PbUeQcCdUV1mmFfkHmqcI4nBweZt2Ifc031SbEifrbgnMClndg8aWknJ1l5cpLlgHRp0OaZ5xiY4qRQPI5Our3mmO7Cs3L37mhp1SaYBNtRP9wwJnsll84zWYTmwJO5qOCV1CdpoT9pQkkykWWuResdccY22A4NIZIGmF2i4qesRXLBbcpWvNtwTuDCc7SWf0tTay6LVZ3ovpKOClkYHbHrZsU575LOddfiBD2XfFdhMhJozgo31NsXBFem35BoSlPjY9LkJdswkWywJEmmfWdgPeMqt64akQtr0Gj8XgKOCvubxjehmfszXaD992wH0AyL5BGZ9xqIHkU+eihRX9xkX9C2fSzKVFJtXouSITitvS8AhwSzBLm2mM6RmGoDaJfMtHvsC1YavzbD344pXxR0eNG1m8jx5yVHFNT9GBU/uEnSzDMnNSq8KLaATG0L9OiyOCfoFUn5sM7fj2gy/ztLoEtS12f6yqshc8Qj13AKFd202KHheIF2bQWseFkxKrrp8/6VLV+Au8cFNqYJYkrXZZ4s/f98zJEiPFd3gU9PPdij1/rEO6whUzsxnmug24gez6DkzOPiquAg+ztEX57rK1+WX0twBeNttt932d/sTAAD//zUdVfZhwUvzAAAAAElFTkSuQmCC
        link_notify:
          send_sms: false
          send_email: true
        order_splits:
        - vendor_id: Jane
          percentage: 10
          tags:
            address: Hyderabad
        - vendor_id: Barbie
          percentage: 50
          tags:
            address: Bengaluru, India
      properties:
        cf_link_id:
          type: string
        link_id:
          type: string
        link_status:
          type: string
        link_currency:
          type: string
        link_amount:
          type: number
        link_amount_paid:
          type: number
        link_partial_payments:
          type: boolean
        link_minimum_partial_amount:
          type: number
        link_purpose:
          type: string
        link_created_at:
          type: string
        customer_details:
          $ref: '#/components/schemas/LinkCustomerDetailsEntity'
        link_meta:
          $ref: '#/components/schemas/LinkMetaResponseEntity'
        link_url:
          type: string
        link_expiry_time:
          type: string
        link_notes:
          $ref: '#/components/schemas/LinkNotesEntity'
        link_auto_reminders:
          type: boolean
        link_notify:
          $ref: '#/components/schemas/LinkNotifyEntity'
        link_qrcode:
          type: string
          description: Base64 encoded string for payment link. You can scan with camera to open a link in the browser to complete the payment.
        order_splits:
          type: array
          items:
            $ref: '#/components/schemas/VendorSplit'
    ApiError404:
      title: ApiError404
      description: Error when resource requested is not found
      example:
        message: something is not found
        code: somethind_not_found
        type: invalid_request_error
      type: object
      properties:
        message:
          type: string
        code:
          type: string
        help:
          type: string
        type:
          type: string
          enum:
          - invalid_request_error
          description: invalid_request_error
    PaymentLinkOrderEntity:
      title: PaymentLinkOrderEntity
      type: object
      description: The complete order entity
      example:
        $ref: '#/components/examples/order_entity_list_example/value/0'
      properties:
        cf_order_id:
          type: string
          description: unique id generated by cashfree for your order
        link_id:
          type: string
          description: link id of the order
        order_id:
          type: string
          description: order_id sent during the api request
        entity:
          type: string
          description: Type of the entity.
        order_currency:
          type: string
          description: Currency of the order. Example INR
        order_amount:
          type: number
        order_status:
          type: string
          description: "Possible values are \n- `ACTIVE`: Order does not have a sucessful transaction yet\n- `PAID`: Order is PAID with one successful transaction\n- `EXPIRED`: Order was not PAID and not it has expired. No transaction can be initiated for an EXPIRED order.\n"
        payment_session_id:
          type: string
        order_expiry_time:
          type: string
          format: date-time
        order_note:
          type: string
          description: Additional note for order
        created_at:
          type: string
          format: date-time
          description: When the order was created at cashfree's server
          example: '2022-08-16T14:45:38+05:30'
        order_splits:
          type: array
          items:
            $ref: '#/components/schemas/VendorSplit'
        customer_details:
          $ref: '#/components/schemas/PaymentLinkCustomerDetails'
        order_meta:
          $ref: '#/components/schemas/OrderMeta'
        order_tags:
          $ref: '#/components/schemas/OrderTags'
    OrderTags:
      type: object
      maxProperties: 15
      description: Custom Tags in thr form of {"key":"value"} which can be passed for an order. A maximum of 10 tags can be added
      additionalProperties:
        type: string
        minLength: 1
        maxLength: 255
      example:
        product: Laptop
        shipping_address: 123 Main St
    LinkNotifyEntity:
      title: link_notify
      type: object
      description: Payment link Notify Object for SMS and Email
      example:
        send_sms: false
        send_email: true
      properties:
        send_sms:
          type: boolean
          description: If "true", Cashfree will send sms on customer_phone
        send_email:
          type: boolean
          description: If "true", Cashfree will send email on customer_email
    ApiError502:
      title: ApiError502
      description: Error when there is error at partner bank
      example:
        message: something is not found
        code: bank_processing_failure
        type: api_error
      type: object
      properties:
        message:
          type: string
        help:
          type: string
        code:
          type: string
          description: '`bank_processing_failure` will be returned here to denote failure at bank.

            '
        type:
          type: string
          enum:
          - api_error
          description: api_error
    PaymentLinkCustomerDetails:
      title: PaymentLinkCustomerDetails
      description: The customer details that are necessary. Note that you can pass dummy details if your use case does not require the customer details.
      example:
        customer_id: 7112AAA812234
        customer_email: john@cashfree.com
        customer_phone: '9908734801'
        customer_name: John Doe
        customer_bank_account_number: '1518121112'
        customer_bank_ifsc: XITI0000001
        customer_bank_code: 3333
      type: object
      properties:
        customer_id:
          type: string
          description: A unique identifier for the customer. Use alphanumeric values only.
          minLength: 3
          maxLength: 50
        customer_email:
          type: string
          description: Customer email address.
          minLength: 3
          maxLength: 100
        customer_phone:
          type: string
          description: Customer phone number.
          minLength: 10
          maxLength: 10
        customer_name:
          type: string
          description: Name of the customer.
          minLength: 3
          maxLength: 100
        customer_bank_account_number:
          type: string
          description: Customer bank account. Required if you want to do a bank account check (TPV)
          minLength: 3
          maxLength: 20
        customer_bank_ifsc:
          type: string
          description: Customer bank IFSC. Required if you want to do a bank account check (TPV)
        customer_bank_code:
        

# --- truncated at 32 KB (47 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cashfree/refs/heads/main/openapi/cashfree-payment-links-api-openapi.yml