Cashfree Payments Orders API

Collection of APIs to handle orders.

OpenAPI Specification

cashfree-orders-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  version: '2025-01-01'
  title: Cashfree Payment Gateway APIs Authorize Orders 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: Orders
  description: Collection of APIs to handle orders.
paths:
  /orders:
    post:
      summary: Create Order
      x-mcp:
        enabled: true
        config:
          elicitation:
            $ref: '#/components/x-elicitationConfig/createOrder'
      security:
      - XClientID: []
        XClientSecret: []
      - XClientID: []
        XPartnerAPIKey: []
      - XClientID: []
        XClientSignatureHeader: []
      - XPartnerMerchantID: []
        XPartnerAPIKey: []
      description: "### Order\nAn order is an entity which has a amount and currency associated with it. It is something for which you want to collect payment for.\nUse this API to create orders with Cashfree from your backend to get a `payment_sessions_id`. \nYou can use the `payment_sessions_id` to create a transaction for the order.\n"
      tags:
      - Orders
      operationId: PGCreateOrder
      deprecated: false
      parameters:
      - $ref: '#/components/parameters/apiVersionHeader'
      - $ref: '#/components/parameters/xRequestIDHeader'
      - $ref: '#/components/parameters/xIdempotencyKeyHeader'
      requestBody:
        $ref: '#/components/requestBodies/CreateOrderRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderEntity'
          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'
  /orders/{order_id}:
    get:
      summary: Get Order
      x-mcp:
        enabled: true
      description: "Use this API to fetch the order that was created at Cashfree's using the `order_id`. \n## When to use this API\n- To check the status of your order\n- Once the order is PAID\n- Once your customer returns to `return_url`\n"
      tags:
      - Orders
      operationId: PGFetchOrder
      deprecated: false
      security:
      - XClientID: []
        XClientSecret: []
      - XClientID: []
        XPartnerAPIKey: []
      - XClientID: []
        XClientSignatureHeader: []
      - XPartnerMerchantID: []
        XPartnerAPIKey: []
      parameters:
      - $ref: '#/components/parameters/apiVersionHeader'
      - $ref: '#/components/parameters/xRequestIDHeader'
      - $ref: '#/components/parameters/orderIDParam'
      - $ref: '#/components/parameters/xIdempotencyKeyHeader'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderEntity'
          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'
    patch:
      summary: Terminate Order
      description: Use this API to terminate the order that was created at Cashfree's using the `order_id`.
      tags:
      - Orders
      operationId: PGTerminateOrder
      deprecated: false
      security:
      - XClientID: []
        XClientSecret: []
      - XClientID: []
        XPartnerAPIKey: []
      - XClientID: []
        XClientSignatureHeader: []
      - XPartnerMerchantID: []
        XPartnerAPIKey: []
      parameters:
      - $ref: '#/components/parameters/apiVersionHeader'
      - $ref: '#/components/parameters/xRequestIDHeader'
      - $ref: '#/components/parameters/orderIDParam'
      - $ref: '#/components/parameters/xIdempotencyKeyHeader'
      requestBody:
        $ref: '#/components/requestBodies/TerminateOrderRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderEntity'
          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'
  /orders/{order_id}/extended:
    get:
      summary: Get Order Extended
      x-mcp:
        enabled: true
      description: 'Use this API to fetch the order related data like address,cart,offers,customer details etc using the Cashfree''s `order_id`.

        ## When to use this API

        - To get the extended data associated with order.

        - Once the order is PAID

        - Once your customer returns to `return_url`

        '
      tags:
      - Orders
      operationId: PGFetchOrderExtendedData
      deprecated: false
      security:
      - XClientID: []
        XClientSecret: []
      - XClientID: []
        XPartnerAPIKey: []
      - XClientID: []
        XClientSignatureHeader: []
      - XPartnerMerchantID: []
        XPartnerAPIKey: []
      parameters:
      - $ref: '#/components/parameters/apiVersionHeader'
      - $ref: '#/components/parameters/xRequestIDHeader'
      - $ref: '#/components/parameters/orderIDParam'
      - $ref: '#/components/parameters/xIdempotencyKeyHeader'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderExtendedDataEntity'
          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:
  requestBodies:
    TerminateOrderRequest:
      description: Request body to terminate an order at cashfree
      required: true
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/TerminateOrderRequest'
    CreateOrderRequest:
      description: Request body to create an order at cashfree
      required: true
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/CreateOrderRequest'
          examples:
            order_minimum:
              $ref: '#/components/examples/order_minimum'
            order_orderid:
              $ref: '#/components/examples/order_orderid'
            order_customer:
              $ref: '#/components/examples/order_customer'
            order_with_return_url:
              $ref: '#/components/examples/order_with_return_url'
            order_with_payment_methods:
              $ref: '#/components/examples/order_with_payment_methods'
            order_expiry:
              $ref: '#/components/examples/order_expiry'
            order_note:
              $ref: '#/components/examples/order_note'
            order_tags:
              $ref: '#/components/examples/order_tags'
            order_splits_amount:
              $ref: '#/components/examples/order_splits_amount'
            order_splits_cent:
              $ref: '#/components/examples/order_splits_cent'
            order_invoice:
              $ref: '#/components/examples/order_invoice'
            order_customer_tpv:
              $ref: '#/components/examples/order_customer_tpv'
  examples:
    order_tags:
      summary: With order tags
      description: Add key value pairs to your order. Can be used later in your workflow
      value:
        order_id: playstation_purchase_6
        order_currency: INR
        order_amount: 10.34
        customer_details:
          customer_id: 7112AAA812234
          customer_phone: '9898989898'
        order_tags:
          address: Bengaluru, India
          pincode: '560034'
    order_orderid:
      summary: Specify your order_id
      description: You should always send `order_id`. If not sent Cashfree will generate one for you. This is useful during other api calls
      value:
        order_id: playstation_purchase_1
        order_currency: INR
        order_amount: 10.34
        customer_details:
          customer_id: 7112AAA812234
          customer_phone: '9908734801'
    order_extended_data_entity_list_example:
      description: OrderExtendedEntityDataExample
      summary: OrderExtendedEntityDataExample
      value:
      - cf_order_id: '2149460581'
        order_id: order_3242Tq4Edj9CC5RDcMeobmJOWOBJij
        order_amount: 22
        order_currency: INR
        created_at: '2023-08-11T18:02:46+05:30'
        charges:
          shipping_charges: 5
          cod_handling_charges: 10
        customer_details:
          customer_id: '409128494'
          customer_name: Aditya Keshri
          customer_email: pmlpayme@ntsas.com
          customer_phone: '9876543210'
          customer_uid: 54deabb4-ba45-4a60-9e6a-9c016fe7ab10
        shipping_address:
          name: Saurav Singh
          address_line_one: MK Building
          address_line_two: Test Address
          country: India
          country_code: IN
          state: Karnataka
          state_code: KA
          city: Bangalore
          pin_code: '560034'
          phone: +91 1118911189
          email: test@cashfree.com
        billing_address:
          name: Saurav Singh
          address_line_one: MK Building
          address_line_two: Test Address
          country: India
          country_code: IN
          state: Karnataka
          state_code: KA
          city: Bangalore
          pin_code: '560034'
          phone: +91 1118911189
          email: test@cashfree.com
        cart:
          name: test
          items:
          - item_id: '26'
            item_name: Sample Product
            item_description: item-description
            item_tags:
            - '1'
            - '2'
            item_details_url: http://cashfree.com
            item_image_url: http://cashfree.com
            item_original_unit_price: '1'
            item_discounted_unit_price: '1'
            item_quantity: 1
            item_currency: INR
          - item_id: '35'
            item_name: Sample Product
            item_description: item-description
            item_tags:
            - '1'
            - '2'
            item_details_url: http://cashfree.com
            item_image_url: http://cashfree.com
            item_original_unit_price: '1'
            item_discounted_unit_price: '1'
            item_quantity: 1
            item_currency: INR
        offer:
          offer_id: d2b430fb-1afe-455a-af31-66d00377b29a
          offer_status: active
          offer_meta:
            offer_title: some title
            offer_description: some offer description
            offer_code: CFTESTOFFER
            offer_start_time: '2023-03-21T08:09:51Z'
            offer_end_time: '2023-03-29T08:09:51Z'
          offer_tnc:
            offer_tnc_type: text
            offer_tnc_value: TnC for the Offer.
          offer_details:
            offer_type: DISCOUNT_AND_CASHBACK
            discount_details:
              discount_type: flat
              discount_value: '10'
              max_discount_amount: '10'
            cashback_details:
              cashback_type: percentage
              cashback_value: '20'
              max_cashback_amount: '150'
          offer_validations:
            min_amount: 10
            payment_method:
              wallet:
                issuer: paytm
            max_allowed: 2
    order_splits_amount:
      summary: With order split Amount
      description: Create an order where the amount received will be split between vendor and merchant based on absolute amount.
      value:
        order_id: playstation_purchase_8
        order_currency: INR
        order_amount: 10.34
        customer_details:
          customer_id: 7112AAA812234
          customer_phone: '9898989898'
        order_splits:
        - vendor_id: Jane
          amount: 1.45
          tags:
            address: Hyderabad
        - vendor_id: Barbie
          amount: 3.45
          tags:
            address: Bengaluru, India
    order_splits_cent:
      summary: With order split Percentage
      description: "Create an order where the amount received will be split between vendors and merchant based on percentage.\nIn the below example order amount, let us say INR 200 will be divided like this\n- 33% to merchant becomes INR 66 \n- 20% to Jane becomes INR 40\n- 47% to Barbie becomes INR 94\n"
      value:
        order_id: playstation_purchase_8
        order_currency: INR
        order_amount: 10.34
        customer_details:
          customer_id: 7112AAA812234
          customer_phone: '9898989898'
        order_splits:
        - vendor_id: Jane
          percentage: 20
        - vendor_id: Barbie
          percentage: 47
    order_customer:
      summary: Customer Details
      description: Complete customer details
      value:
        order_id: playstation_purchase_1
        order_currency: INR
        order_amount: 10.34
        customer_details:
          customer_id: 7112AAA812234
          customer_phone: '9908734801'
          customer_email: john@example.com
          customer_name: John Doe
    order_expiry:
      summary: With future expiry time for order
      description: Add an exipry time for your order. No transactions would be accepted after the order has expired
      value:
        order_id: playstation_purchase_5
        order_currency: INR
        order_amount: 10.34
        order_expiry_time: '2021-07-29T00:00:00.000Z'
        customer_details:
          customer_id: 7112AAA812234
          customer_phone: '9898989898'
    order_with_payment_methods:
      summary: With Payment Methods URL
      description: add payment methods, customer can pnly pay using these payment methods only
      value:
        order_id: playstation_purchase_4
        order_currency: INR
        order_amount: 10.34
        customer_details:
          customer_id: 7112AAA812234
          customer_phone: '9898989898'
        order_meta:
          return_url: https://www.cashfree.com/devstudio/thankyou
          payment_methods: cc,dc,upi
    order_minimum:
      summary: Minimun required details
      description: Minimum set of parameters needed to create an order at cashfree
      value:
        order_currency: INR
        order_amount: 10.34
        customer_details:
          customer_id: 7112AAA812234
          customer_phone: '9898989898'
    order_customer_tpv:
      summary: Customer TPV
      description: Customer with bank details if provided he or she can pay by only that bank account
      value:
        order_id: playstation_purchase_1
        order_currency: INR
        order_amount: 10.34
        customer_details:
          customer_id: 7112AAA812234
          customer_name: John Doe
          customer_phone: '9908734801'
          customer_email: john@example.com
          customer_bank_ifsc: XDFC0000045
          customer_bank_account_number: '123124123123123'
          customer_bank_code: 3021
    order_with_return_url:
      summary: With return/callback URL
      description: add a return url to your order
      value:
        order_id: playstation_purchase_2
        order_currency: INR
        order_amount: 10.34
        customer_details:
          customer_id: 7112AAA812234
          customer_phone: '9898989898'
        order_meta:
          return_url: https://www.cashfree.com/devstudio/thankyou
    order_entity_list_example:
      description: OrderEntityListExample
      summary: OrderEntityListExample
      value:
      - cf_order_id: '2149460581'
        created_at: '2023-08-11T18:02:46+05:30'
        customer_details:
          customer_id: '409128494'
          customer_name: Johmn Doe
          customer_email: pmlpayme@ntsas.com
          customer_phone: '9876543210'
          customer_uid: 54deabb4-ba45-4a60-9e6a-9c016fe7ab10
        entity: order
        order_amount: 22
        payment_session_id: session_a1VXIPJo8kh7IBigVXX8LgTMupQW_cu25FS8KwLwQLOmiHqbBxq5UhEilrhbDSKKHA6UAuOj9506aaHNlFAHEqYrHSEl9AVtYQN9LIIc4vkH
        order_currency: INR
        order_expiry_time: '2023-09-09T18:02:46+05:30'
        order_id: order_3242Tq4Edj9CC5RDcMeobmJOWOBJij
        order_meta:
          return_url: https://www.cashfree.com/devstudio/thankyou
          payment_methods: cc
          notify_url: https://example.com/cf_notify
        order_note: some order note LIST
        order_splits: []
        order_status: ACTIVE
        order_tags:
          name: John
          age: '19'
        terminal_data: null
        cart_details:
          cart_id: '1'
    order_note:
      summary: With additonal note
      description: Add an additional note for your order which you can later use. It has to be string. For more detailed data use `order_tags`
      value:
        order_id: playstation_purchase_6
        order_currency: INR
        order_amount: 10.34
        order_note: John buying playstation
        customer_details:
          customer_id: 7112AAA812234
          customer_phone: '9898989898'
    order_invoice:
      summary: With order invoice
      description: Add invoice details for your order
      value:
        order_id: playstation_purchase_6
        order_currency: INR
        order_amount: 10.34
        customer_details:
          customer_id: 7112AAA812234
          customer_phone: '9898989898'
        order_tags:
          gst: '1'
          gstin: 27AAFCN5072P1ZV
          invoice_date: '2023-06-20T04:35:16.748Z'
          invoice_number: inv1687149916474
          invoice_link: https://example.com/cf/nextgen.php#section-2
          invoice_name: Walters Invoice
          cgst: '1'
          sgst: '1'
          igst: '1'
          cess: '1'
          gst_incentive: '1'
          gst_percentage: '1'
          pincode: '560034'
          city_tier: TIER1
  schemas:
    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
    CustomerDetailsResponse:
      title: CustomerDetailsResponse
      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
        customer_uid: 54deabb4-ba45-4a60-9e6a-9c016fe7ab10
      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:
          type: number
          description: Customer bank code. Required for net banking payments, if you want to do a bank account check (TPV)
        customer_uid:
          type: string
          description: Customer identifier at Cashfree. You will get this when you create/get customer
    OrderEntity:
      title: OrderEntity
      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
        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`TERMINATED`: Order terminated\n`TERMINATION_REQUESTED`: Order termination requested"
        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/CustomerDetailsResponse'
        order_meta:
          $ref: '#/components/schemas/OrderMeta'
        order_tags:
          $ref: '#/components/schemas/OrderTags'
        cart_details:
          $ref: '#/components/schemas/CartDetailsEntity'
        terminal_data:
          $ref: '#/components/schemas/TerminalData'
        products:
          type: object
          description: Configurations for the products like One Click Checkout, Verify and Pay, if they are enabled for your account
          properties:
            one_click_checkout:
              $ref: '#/components/schemas/ProductDetailsEntity'
            verify_pay:
              $ref: '#/components/schemas/ProductDetailsEntity'
    OfferMeta:
      title: OfferMeta
      type: object
      description: Offer meta details object
      example:
        offer_title: some title
        offer_description: some offer description
        offer_code: CFTESTOFFER
        offer_start_time: '2023-03-21T08:09:51Z'
        offer_end_time: '2023-03-29T08:09:51Z'
      properties:
        offer_title:
          type: string
          description: Title for the Offer.
          minLength: 3
          maxLength: 50
          example: Test Offer
        offer_description:
          type: string
          description: Description for the Offer.
          minLength: 3
          maxLength: 100
          example: Lorem ipsum dolor sit amet, consectetur adipiscing elit
        offer_code:
          type: string
          description: Unique identifier for the Offer.
          minLength: 1
          maxLength: 45
          example: CFTESTOFFER
        offer_start_time:
          type: string
          description: Start Time for the Offer
          minLength: 3
          maxLength: 20
          example: '2023-03-21T08:09:51Z'
        offer_end_time:
          type: string
          description: Expiry Time for the Offer
          example: '2023-03-29T08:09:51Z'
      required:
      - offer_title
      - offer_description
      - offer_code
      - offer_start_time
      - offer_end_time
    OfferTnc:
      title: OfferMeta
      type: object
      description: Offer terms and condition object
      example:
        offer_tnc_type: text
        offer_tnc_value: TnC for the Offer.
      properties:
        offer_tnc_type:
          type: string
          description: TnC Type for the Offer. It can be either `text` or `link`
          enum:
          - text
          - link
          minLength: 3
          maxLength: 50
          example: text
        offer_tnc_value:
          type: string
          description: TnC for the Offer.
          minLength: 3
          maxLength: 100
          example: Lorem ipsum dolor sit amet, consectetur adipiscing elit
      required:
      - offer_tnc_type
      - offer_tnc_value
    TerminalDetails:
      description: Use this if you are creating an order for cashfree's softPOS
      example:
        added_on: '2023-08-04T13:12:58+05:30'
        cf_terminal_id: '31051123'
        last_updated_on: '2023-09-06T14:07:00+05:30'
        terminal_address: Banglore
        terminal_id: terminal-123
        terminal_name: test
        terminal_note: POS vertical
        terminal_phone_no: '6309291183'
        terminal_status: ACTIVE
        terminal_type: SPOS
      properties:
        added_on:
          description: date time at which terminal is added
          type: string
        cf_terminal_id:
          description: Cashfree terminal id, this is a required parameter when you do not provide the terminal phone number.
          type: string
        last_updated_on:
          description: last instant when this terminal was updated
          type: string
        terminal_address:
          description: location of terminal
          type: string
        terminal_id:
          description: terminal id for merchant reference
          maxLength: 100
          minLength: 3
          type: string
        terminal_name:
          description: name of terminal/agent/storefront
          type: string
        terminal_note:
          description: note given by merchant while creating the terminal
          type: string
        terminal_phone_no:
          description: mobile num of the terminal/agent/storefront,This is a required parameter when you do not provide the cf_terminal_id.
          type: string
        terminal_status:
          description: status of terminal active/inactive
          type: string
        terminal_type:
          description: To identify the type of terminal product in use, in this case it is SPOS.
          maxLength: 10
          minLength: 4
          type: string
      required:
      - terminal_type
      title: Terminal
      type: object
    OfferEMI:
      title: EMI Offer
      description: EMI offer object
      type: object
      example:
        emi:
          type: cardless_emi
          issuer: hdfc bank
          tenures:
          - 3
          - 6
      properties:
        emi:
          title: EMI Offer
          type: object
          properties:
            type:
              type: string
              description: Type of emi offer. Possible values are `credit_card_emi`, `debit_card_emi`, `cardless_emi`
              minLength: 3
              maxLength: 100
              example: cardless_emi
            issuer:
              type: string
              description: Bank Name
              minLength: 3
              maxLength: 100
              example: hdfc bank
            tenures:
              type: array
              items:
                title: Tenure Array
                type: integer
                example: 3
          required:
          - type
          - issuer
          - tenures
      required:
      - emi
    OfferWallet:
      title: Wallet Offer
      description: Offer object for wallet payment method
      example:
        app:
          issuer: paytm
      type: object
      properties:
        app:
          title: Wallet Offer
          type: object
          properties:
            provider:
              type: string
              example: paytm
      required:
      - app
    ExtendedCartDetails:
      title: CartDetails
      description: The cart details that are necessary like shipping address, billing address and more.
      type: object
      properties:
        name:
          type: string
          description: Name of the cart.
        items:
          type: array


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