Cashfree Payments Payment Links API
Collection of APIs to handle payment links.
Collection of APIs to handle payment links.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/cashfree-payment-links-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.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:
responses:
Response400:
description: Bad request error
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestError'
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'
Response500:
description: API related Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
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'
Response404:
description: Resource Not found
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError404'
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'
Response409:
description: Resource already present
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError409'
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'
Response502:
description: Bank related Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError502'
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'
Response429:
description: Rate Limit Error
content:
application/json:
schema:
$ref: '#/components/schemas/RateLimitError'
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'
Response422:
description: Idempotency error
content:
application/json:
schema:
$ref: '#/components/schemas/IdempotencyError'
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'
Response401:
description: Authentication Error
content:
application/json:
schema:
$ref: '#/components/schemas/AuthenticationError'
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'
headers:
x-api-version:
schema:
type: string
format: YYYY-MM-DD
enum:
- '2022-09-01'
description: This header has the version of the API. The current version is `2022-09-01`.
x-ratelimit-remaining:
schema:
type: integer
example: 2
description: Rate limit remaning for your account for this API in the next minute. Uses sliding window
x-ratelimit-retry:
schema:
type: integer
example: 4
description: 'Contains number of seconds to wait if rate limit is breached
- Is 0 if withing the limit
- Is between 1 and 59 if breached
'
x-idempotency-replayed:
schema:
type: string
format: boolean
example: 'true'
description: 'In conjunction with `x-idempotency-key` this means
- `true` if the response was replayed
- `false` if the response has not been replayed'
x-ratelimit-type:
schema:
type: string
enum:
- app_id
- ip
example: ip
description: 'either ip or app_id
- `ip` if making a call from the browser. True for api where you don''t need `x-client-id` and `x-client-secret`
- `app_id` for authenticated api calls i.e using `x-client-id` and `x-client-secret`
'
x-ratelimit-limit:
schema:
type: integer
example: 200
description: Ratelimit set for your account for this API per minute
x-idempotency-key:
schema:
type: string
example: some-idem-id
description: An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
x-request-id:
schema:
type: string
example: some-req-id
description: Request id for your api call. Is blank or null if no `x-request-id` is sent during the request
schemas:
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'
ApiError409:
title: ApiError409
description: duplicate request
example:
message: order with same id is already present
code: order_already_exists
type: invalid_request_error
type: object
properties:
message:
type: string
help:
type: string
code:
type: string
type:
type: string
enum:
- invalid_request_error
description: invalid_request_error
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
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
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
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
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
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
LinkNotesEntity:
title: link_notes
type: object
description: Key-value pair that can be used to store additional information about the entity. Maximum 5 key-value pairs
example:
key_1: value_1
key_2: value_2
additionalProperties:
type: string
OrderMeta:
title: OrderMeta
description: Optional meta details to control how the customer pays and how payment journey completes
type: object
properties:
return_url:
# --- 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