{ "error": { "code": "BAD_REQUEST_ERROR", "description": "Different request with the same idempotency key has already been processed.", "source": "NA", "step": "NA", "reason": "NA", "metadata": {} }}
Available in🇮🇳 India🇲🇾 Malaysia
Idempotency allows you to safely retry or send the same request multiple times without fear of repeating the normal refund request more than once.
When you try to create a normal refund, in some cases due to network downtimes, you may not get a response from our servers. As a consequence, you will not be aware of the refund id or its state. In such cases, you can safely retry the transaction using the same idempotency key without risk of double-refund or duplication.
To make a normal refund request idempotent, add the header X-Refund-Idempotency to the request and pass an idempotency key against it. The idempotency key must be at least 10 character long and can contain alphabets, numbers, hyphens and underscores only. For example, 550e8400-e29b-41d4-a716-446655440000.
Idempotency is supported for both Normal and Instant Refunds APIs.
Handy Tips
When retrying a request, the request body must be the same as the first request for idempotency to work. A different payload will be rejected as a BAD_REQUEST.
The idempotency key in retries must be the same as the original request.
Use unique idempotency keys for each unique request.
If a request is received while a prior request is still being processed, the system will return a 409 Conflict status code. You may retry the request upon receiving this response.
The amount to be refunded. Amount should be in the smallest unit of the currency in which the payment was made. In the case of three decimal currencies, such as KWD, BHD and OMR, to refund a payment of 295.991, pass the value as 295990. And in the case of zero decimal currencies such as JPY, to refund a payment of 295, pass the value as 295.
For a partial refund, enter a value lesser than the payment amount. For example, if the payment amount is ₹1500 and you want to refund only ₹500, you must pass 50000.
For full refund, enter the entire payment amount. If the amount parameter is not passed, the entire payment amount will be refunded.
Watch Out!As per payment guidelines, you should pass the last decimal number as 0 for three decimal currency payments. For example, if you want to refund a customer 99.991 KD for a transaction, you should pass the value for the amount parameter as 99990 and not 99991.
The speed at which the refund is to be processed. The default value is normal. Refund will be processed via the normal speed, and the customer will receive the refund within 5-7 working days.
A dynamic array consisting of a unique reference number (either RRN, ARN or UTR) that is provided by the banking partner when a refund is processed. This reference number can be used by the customer to track the status of the refund with the bank.
The processing mode of the refund seen in the refund response. This attribute is seen in the refund response only if the speed parameter is set in the refund request. Possible values:
normal: Indicates that the refund will be processed via the normal speed. The refund will take 5-7 working days.
optimum: Indicates that the refund will be processed at an optimal speed based on Razorpay’s internal fund transfer logic.
If the refund can be processed instantly, Razorpay will do so, irrespective of the payment method used to make the payment.
If an instant refund is not possible, Razorpay will initiate a refund that is processed at the normal speed.
This is a parameter in the response which describes the mode used to process a refund. This attribute is seen in the refund response only if the speed parameter is set in the refund request. Possible values:
instant: Indicates that the refund has been processed instantly via fund transfer.
normal: Indicates that the refund has been processed by the payment processing partner. The refund will take 5-7 working days.
Code:4xxThe API credentials passed in the API call differ from the ones generated on the Dashboard.Solution: The API keys must be active and entered correctly with no whitespace before or after.
{Payment_id} is not a valid id.
Code:400The payment_id provided is invalid.Solution: Use a valid payment_id.
The requested URL was not found on the server.
Code:400Possible reasons:
The URL is wrong or is missing something.
A POST API is executed by GET method.
Solution:
Ensure that the URL is correct and complete.
Use the correct method, that is, POST.
{any Extra field} is/are not required and should not be sent.
Code:400An additional or unrequired parameter is passed.Solution: Ensure that you only pass the required parameters in the request body.
The refund amount provided is greater than amount captured.
Code:400The refund amount entered is more than the amount captured.Solution: Enter an amount equal to or less than the amount captured.
The amount must be at least INR 1.00.
Code:400The refund amount entered is less than .Solution: Enter an amount of at least .
The payment has been fully refunded already.
Code:400The payment_id has already been refunded fully.Solution: Use a payment_id that has not been fully refunded.
Different request with the same idempotency key has already been processed.
Code:409Another refund request with different parameters has been processed using the same idempotency key.Solution: Use a unique idempotency key for the new request and retry.
Another request with the same idempotency key is still in progress.
Code:409A refund request with the same idempotency key is currently being processed and has not yet returned a response.Solution: Wait for the previous request to complete or use a different idempotency key.
Internal server error - Failed to fetch idempotency record
Code:500The server encountered an error while retrieving the idempotency record.Solution: Retry the request after some time. If the issue persists, contact Razorpay Support.
Internal server error - Failed to parse request body
Code:500The server failed to parse the request body to generate the request hash.Solution: Ensure the request body is properly formatted as valid JSON. If the issue persists, contact Razorpay Support.
The idempotency key must be at least 10 characters long.
Code:400The idempotency key provided is less than 10 characters in length.Solution: Use an idempotency key that is at least 10 characters long.
The idempotency key must only contain alphanumeric characters, underscores, and hyphens
Code:400The idempotency key contains invalid special characters.Solution: Ensure the idempotency key only contains alphanumeric characters (A-Z, a-z, 0-9), underscores (_), and hyphens (-).
Merchant id not found in authentication
Code:500The request contains an idempotency key but the merchant authentication is invalid or missing.Solution: Ensure you are using valid API credentials (Key ID and Key Secret) for authentication. If the issue persists, contact Razorpay Support.
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Razorpay","colors":{"primary":"#3395FF","light":"#66B2FF","dark":"#0B62C4"},"logo":{"light":"https://mintcdn.com/razorpay-881012b3/puuu1wI-BbW3rsp2/logo/light.svg?fit=max\u0026auto=format\u0026n=puuu1wI-BbW3rsp2\u0026q=85\u0026s=e0750375ee2004193a685f9f211963fe","dark":"https://mintcdn.com/razorpay-881012b3/puuu1wI-BbW3rsp2/logo/dark.svg?fit=max\u0026auto=format\u0026n=puuu1wI-BbW3rsp2\u0026q=85\u0026s=038b180f26d19ddb4eb40ede0cf84821","href":"https://razorpay.com/docs/"},"favicon":"https://mintcdn.com/razorpay-881012b3/puuu1wI-BbW3rsp2/favicon.png?fit=max\u0026auto=format\u0026n=puuu1wI-BbW3rsp2\u0026q=85\u0026s=9bebe786d3a21e9452fd2e31243e5fb3","api":{"playground":{"display":"interactive"},"mdx":{"auth":{"method":"basic"},"server":"https://api.razorpay.com"}},"navbar":{"links":[{"href":"https://razorpay.com/support/","label":"Support"},{"href":"https://razorpay.com/blog/","label":"Blog"}],"primary":{"type":"button","label":"Dashboard","href":"https://dashboard.razorpay.com/"}},"footer":{"socials":{"x":"https://x.com/Razorpay","linkedin":"https://www.linkedin.com/company/razorpay","github":"https://github.com/razorpay","youtube":"https://www.youtube.com/razorpay"},"links":[{"header":"Products","items":[{"label":"Payment Gateway","href":"https://razorpay.com/payment-gateway"},{"label":"Payment Links","href":"https://razorpay.com/payment-links"},{"label":"RazorpayX","href":"https://razorpay.com/x"},{"label":"Payroll","href":"https://razorpay.com/payroll"}]},{"header":"Resources","items":[{"label":"Documentation","href":"https://razorpay.com/docs"},{"label":"API Reference","href":"https://razorpay.com/docs/api"},{"label":"Support","href":"https://razorpay.com/support"},{"label":"Blog","href":"https://razorpay.com/blog"}]},{"header":"Company","items":[{"label":"About Us","href":"https://razorpay.com/about"},{"label":"Careers","href":"https://razorpay.com/jobs"},{"label":"Pricing","href":"https://razorpay.com/pricing"}]}]},"seo":{"metatags":{"canonical":"https://razorpay.com"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"razorpay-881012b3","hasAudioNarration":false,"actualSubdomain":"razorpay-881012b3","customDomains":["razorpay.com"],"gitSource":{"type":"github","owner":"razorpay-vendor-integrations","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6ae2e2f12acb2a9bf04bbd89","collectionId":"1723ddf4-e7d6-4ac5-943e-8cc1bb15c263","liveDeploymentHistoryId":"6ae2e2f12acb2a9bf04bbd89","schemaVersion":"v3"},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae2e2f12acb2a9bf04bbd89","clientVersion":"0.0.4006","searchFilterCounts":[{"language":"default","tag":"Payments","count":1644},{"language":"default","tag":"API Reference","count":774},{"language":"default","tag":"Payment Gateway","count":236},{"language":"default","tag":"Dashboard","count":213},{"language":"default","tag":"Subscriptions","count":190},{"language":"default","tag":"Payouts","count":160},{"language":"default","tag":"Payment Links","count":129},{"language":"default","tag":"Banking Plus","count":123},{"language":"default","tag":"Developer Tools","count":104},{"language":"default","tag":"Ecommerce Plugins","count":104}],"searchSettings":{"maxResults":8}},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"/docs","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"#navbar ul.sidebar-group.mt-6,ul.sidebar-group.mt-6{margin-top:1rem}[data-component-part=callout-content]>[data-as=p]:first-child strong,[data-component-part=callout-content]>[data-as=p]:first-child>strong,[data-component-part=callout-content]>strong:first-child{font-size:1.125rem!important;font-weight:700!important;line-height:1.4!important}.error-code-cards [data-component-part=card-title]{display:inline-block!important;font-family:ui-monospace,\"SF Mono\",SFMono-Regular,Menlo,Consolas,\"Liberation Mono\",monospace!important;font-size:.875rem!important;font-weight:600!important;line-height:1.3!important;padding:.25rem .75rem!important;border-radius:9999px!important;background:rgba(107,114,128,.1)!important;border:1px solid rgba(107,114,128,.25)!important}.dark .error-code-cards [data-component-part=card-title]{background:rgba(255,255,255,.06)!important;border-color:rgba(255,255,255,.15)!important}[data-http-method]{font-weight:700!important;border-color:transparent!important}[data-http-method=get]{color:#15803d!important;background:rgba(74,222,128,.2)!important}[data-http-method=post]{color:#1d4ed8!important;background:rgba(96,165,250,.2)!important}[data-http-method=put]{color:#a16207!important;background:rgba(250,204,21,.2)!important}[data-http-method=patch]{color:#c2410c!important;background:rgba(251,146,60,.2)!important}[data-http-method=delete]{color:#b91c1c!important;background:rgba(248,113,113,.2)!important}.dark [data-http-method=get]{color:#4ade80!important}.dark [data-http-method=post]{color:#60a5fa!important}.dark [data-http-method=put]{color:#facc15!important}.dark [data-http-method=patch]{color:#fb923c!important}.dark [data-http-method=delete]{color:#f87171!important}ul.sidebar-group.mt-6{margin-top:5px}.sticky .panel:has(>.rzp-code-selector){display:grid;grid-auto-rows:minmax(0,1fr);gap:1.5rem;overflow:hidden}.sticky:has(>.panel>.rzp-code-selector)>div:not(.panel){display:none}.rzp-code-selector{position:relative;display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:.125rem;border:1px solid rgba(3,7,18,.1);border-radius:1rem;background:#f4f7fa}.dark .rzp-code-selector{border-color:rgba(255,255,255,.1);background:rgba(255,255,255,.05)}.rzp-code-selector-bar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex:none;flex-wrap:wrap;padding:.25rem 4.25rem .375rem .5rem}.rzp-code-selector-field{position:relative;display:inline-flex;align-items:center;flex:0 0 auto}.rzp-code-selector-select{appearance:none;-webkit-appearance:none;min-width:max-content;padding:.125rem 1.75rem .125rem .375rem;border:0;border-radius:.5rem;background:0 0;color:var(--color-gray-600, #4b5563);font-size:.75rem;font-weight:500;line-height:1.5rem;cursor:pointer}.dark .rzp-code-selector-select{color:var(--color-gray-300, #d1d5db)}.rzp-code-selector-select:hover{background:rgba(3,7,18,.05)}.dark .rzp-code-selector-select:hover{background:rgba(255,255,255,.08)}.rzp-code-selector-chevron{position:absolute;right:.25rem;width:.875rem;height:.875rem;pointer-events:none;opacity:.6}.rzp-code-selector-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.rzp-code-selector-body>.code-block{margin:0!important;min-width:0;border-radius:0 0 .875rem .875rem;position:static!important}.rzp-code-selector-body [data-component-part=code-block-root],.rzp-code-selector::after{border-radius:0 0 .875rem .875rem}.rzp-code-selector-body .code-block-fade-overlay{display:none}.rzp-code-selector::after{content:\"\";position:absolute;inset:auto 0 0;height:2rem;pointer-events:none;background:linear-gradient(to bottom,rgba(255,255,255,0),#fff)}.dark .rzp-code-selector::after{background:linear-gradient(to bottom,rgba(11,12,14,0),#0b0c0e)}.rzp-code-selector>.rzp-code-selector-body>.code-block>.absolute{top:.5rem;right:.75rem}"},{"filePath":"static/docs-home/hide-navbar-on-home.css","content":"html[data-page-mode=custom] header#navbar{display:none!important}html[data-page-mode=custom] .pt-\\[120px\\]{padding-top:0!important}"},{"filePath":"static/docs-home/styles.css","href":"/docs/_mintlify/custom/razorpay-881012b3/f701d0604b2ed263/static/docs-home/styles.css"}],"page":{"pagePath":"api/refunds/normal-refunds-idempotent","slug":"/api/refunds/normal-refunds-idempotent","pageMetadata":{"title":"Create a Normal Refund (Idempotent Request)","description":"Retry or send the same normal refund request multiple times safely using the Razorpay API.","api":"POST /v1/payments/:id/refund","href":"/api/refunds/normal-refunds-idempotent"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Retry or send the same normal refund request multiple times safely using the Razorpay API.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,Heading,Info,ParamField,ResponseField,Warning}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!ResponseField)_missingMdxReference(`ResponseField`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(`div`,{style:{display:`flex`,flexWrap:`wrap`,alignItems:`center`,gap:`0.35rem 0.9rem`,border:`1px solid rgba(128,128,128,0.28)`,borderRadius:`0.5rem`,padding:`0.45rem 0.75rem`,margin:`0 0 1.25rem`,fontSize:`0.875rem`},children:[_jsx(`span`,{style:{fontWeight:600},children:`Available in`}),_jsx(`span`,{children:`🇮🇳 India`}),_jsx(`span`,{children:`🇲🇾 Malaysia`})]}),`\n`,_jsx(_components.p,{children:`Idempotency allows you to safely retry or send the same request multiple times without fear of repeating the normal refund request more than once.`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`When you try to create a normal refund, in some cases due to network downtimes, you may not get a response from our servers. As a consequence, you will not be aware of the refund id or its state. In such cases, you can safely retry the transaction using the same idempotency key without risk of double-refund or duplication.`}),`\n`,_jsxs(_components.li,{children:[`To make a normal refund request idempotent, add the header `,_jsx(_components.code,{children:`X-Refund-Idempotency`}),` to the request and pass an idempotency key against it. The idempotency key must be at least 10 character long and can contain alphabets, numbers, hyphens and underscores only. For example, `,_jsx(_components.code,{children:`550e8400-e29b-41d4-a716-446655440000`}),`.`]}),`\n`,_jsx(_components.li,{children:`Idempotency is supported for both Normal and Instant Refunds APIs.`}),`\n`]}),`\n`,_jsxs(Info,{children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`Handy Tips`})}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`When retrying a request, the request body must be the same as the first request for idempotency to work. A different payload will be rejected as a `,_jsx(_components.code,{children:`BAD_REQUEST`}),`.`]}),`\n`,_jsx(_components.li,{children:`The idempotency key in retries must be the same as the original request.`}),`\n`,_jsx(_components.li,{children:`Use unique idempotency keys for each unique request.`}),`\n`,_jsx(_components.li,{children:`If a request is received while a prior request is still being processed, the system will return a 409 Conflict status code. You may retry the request upon receiving this response.`}),`\n`]})]}),`\n`,`\n`,`\n`,_jsx(Heading,{level:`2`,id:`path-parameters`,children:`Path Parameters`}),`\n`,_jsx(ParamField,{path:`id`,type:`string`,required:true,id:`param-id`,children:_jsx(_components.p,{children:`The unique identifier of the payment which needs to be refunded.`})}),`\n`,_jsx(Heading,{level:`2`,id:`request-parameters`,children:`Request Parameters`}),`\n`,_jsxs(ParamField,{body:`amount`,type:`integer`,id:`param-amount`,children:[_jsxs(_components.p,{children:[`The amount to be refunded. Amount should be in the smallest unit of the currency in which the payment was made. In the case of three decimal currencies, such as KWD, BHD and OMR, to refund a payment of 295.991, pass the value as `,_jsx(_components.code,{children:`295990`}),`. And in the case of zero decimal currencies such as JPY, to refund a payment of 295, pass the value as `,_jsx(_components.code,{children:`295`}),`.`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`For a `,_jsx(_components.strong,{children:`partial refund`}),`, enter a value lesser than the payment amount. For example, if the payment amount is ₹1500 and you want to refund only ₹500, you must pass `,_jsx(_components.code,{children:`50000`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`For `,_jsx(_components.strong,{children:`full refund`}),`, enter the entire payment amount. If the `,_jsx(_components.code,{children:`amount`}),` parameter is not passed, the entire payment amount will be refunded.`]}),`\n`]}),_jsxs(Warning,{children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`Watch Out!`})}),_jsxs(_components.p,{children:[`As per payment guidelines, you should pass the last decimal number as 0 for three decimal currency payments. For example, if you want to refund a customer 99.991 KD for a transaction, you should pass the value for the amount parameter as `,_jsx(_components.code,{children:`99990`}),` and not `,_jsx(_components.code,{children:`99991`}),`.`]})]})]}),`\n`,_jsx(ParamField,{body:`speed`,type:`string`,id:`param-speed`,children:_jsxs(_components.p,{children:[`The speed at which the refund is to be processed. The default value is `,_jsx(_components.code,{children:`normal`}),`. Refund will be processed via the normal speed, and the customer will receive the refund within 5-7 working days.`]})}),`\n`,_jsx(ParamField,{body:`notes`,type:`json object`,id:`param-notes`,children:_jsx(_components.p,{children:`Key-value pairs used to store additional information. A maximum of 15 key-value pairs can be included.`})}),`\n`,_jsx(ParamField,{body:`receipt`,type:`string`,id:`param-receipt`,children:_jsx(_components.p,{children:`A unique identifier provided by you for your internal reference.`})}),`\n`,_jsx(Heading,{level:`2`,id:`response-parameters`,children:`Response Parameters`}),`\n`,_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-1`,children:_jsxs(_components.p,{children:[`The unique identifier of the refund. For example, `,_jsx(_components.code,{children:`rfnd_FgRAHdNOM4ZVbO`}),`.`]})}),`\n`,_jsx(ResponseField,{name:`entity`,type:`string`,id:`param-entity`,children:_jsxs(_components.p,{children:[`Indicates the type of entity. Here, it is `,_jsx(_components.code,{children:`refund`}),`.`]})}),`\n`,_jsx(ResponseField,{name:`amount`,type:`integer`,id:`param-amount-1`,children:_jsxs(_components.p,{children:[`The amount to be refunded (in the smallest unit of currency). `,_jsx(`br`,{}),` For example, if the refund value is ₹30 it will be `,_jsx(_components.code,{children:`3000`}),`.`]})}),`\n`,_jsx(ResponseField,{name:`currency`,type:`string`,id:`param-currency`,children:_jsxs(_components.p,{children:[`The currency of payment amount for which the refund is initiated. Check the list of `,_jsx(_components.a,{href:`/payments/international-payments#supported-currencies`,children:`supported currencies`}),`.`]})}),`\n`,_jsx(ResponseField,{name:`payment_id`,type:`string`,id:`param-payment-id`,children:_jsxs(_components.p,{children:[`The unique identifier of the payment for which a refund is initiated. For example, `,_jsx(_components.code,{children:`pay_FgR9UMzgmKDJRi`}),`.`]})}),`\n`,_jsx(ResponseField,{name:`created_at`,type:`integer`,id:`param-created-at`,children:_jsxs(_components.p,{children:[`Unix timestamp at which the refund was created. For example, `,_jsx(_components.code,{children:`1600856650`}),`.`]})}),`\n`,_jsx(ResponseField,{name:`batch_id`,type:`string`,id:`param-batch-id`,children:_jsxs(_components.p,{children:[`This parameter is populated if the refund was created as part of a batch upload. For example, `,_jsx(_components.code,{children:`batch_00000000000001`}),`.`]})}),`\n`,_jsx(ResponseField,{name:`notes`,type:`json object`,id:`param-notes-1`,children:_jsxs(_components.p,{children:[`Key-value store for storing your reference data. A maximum of 15 key-value pairs can be included. For example, `,_jsx(_components.code,{children:`\"note_key\": \"Beam me up Scotty\"`}),`.`]})}),`\n`,_jsx(ResponseField,{name:`receipt`,type:`string`,id:`param-receipt-1`,children:_jsx(_components.p,{children:`A unique identifier provided by you for your internal reference.`})}),`\n`,_jsx(ResponseField,{name:`acquirer_data`,type:`array`,id:`param-acquirer-data`,children:_jsx(_components.p,{children:`A dynamic array consisting of a unique reference number (either RRN, ARN or UTR) that is provided by the banking partner when a refund is processed. This reference number can be used by the customer to track the status of the refund with the bank.`})}),`\n`,_jsxs(ResponseField,{name:`status`,type:`string`,id:`param-status`,children:[_jsx(_components.p,{children:`Indicates the state of the refund. Possible values:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`pending`}),`: This state indicates that Razorpay is attempting to process the refund.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`processed`}),`: This is the final state of the refund.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`failed`}),`: A refund can attain the failed state in the following scenarios:`,_jsx(`br`,{}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Normal refund is not possible for a payment which is more than 6 months old.`,_jsx(`br`,{})]}),`\n`,_jsx(_components.li,{children:`Instant Refund can sometimes fail because of customer’s account or bank-related issues.`}),`\n`]}),`\n`]}),`\n`]})]}),`\n`,_jsxs(ResponseField,{name:`speed_requested`,type:`string`,id:`param-speed-requested`,children:[_jsxs(_components.p,{children:[`The processing mode of the refund seen in the refund response. `,_jsx(`br`,{}),` This attribute is seen in the refund response only if the `,_jsx(_components.code,{children:`speed`}),` parameter is set in the refund request.`,_jsx(`br`,{}),`Possible values:`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`normal`}),`: Indicates that the refund will be processed via the normal speed. The refund will take 5-7 working days.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`optimum`}),`: Indicates that the refund will be processed at an optimal speed based on Razorpay’s internal fund transfer logic.`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`If the refund can be processed instantly, Razorpay will do so, irrespective of the payment method used to make the payment.`}),`\n`,_jsx(_components.li,{children:`If an instant refund is not possible, Razorpay will initiate a refund that is processed at the normal speed.`}),`\n`]}),`\n`]}),`\n`]})]}),`\n`,_jsxs(ResponseField,{name:`speed_processed`,type:`string`,id:`param-speed-processed`,children:[_jsxs(_components.p,{children:[`This is a parameter in the response which describes the mode used to process a refund. `,_jsx(`br`,{}),` This attribute is seen in the refund response only if the `,_jsx(_components.code,{children:`speed`}),` parameter is set in the refund request. Possible values:`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`instant`}),`: Indicates that the refund has been processed instantly via fund transfer.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`normal`}),`: Indicates that the refund has been processed by the payment processing partner. The refund will take 5-7 working days.`]}),`\n`]})]}),`\n`,_jsx(Heading,{level:`2`,id:`errors`,children:`Errors`}),`\n`,_jsxs(AccordionGroup,{children:[_jsxs(Accordion,{title:`The API {key/secret} provided is invalid.`,id:`the-api-key-secret-provided-is-invalid`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Code:`}),` `,_jsx(_components.code,{children:`4xx`})]}),_jsx(_components.p,{children:`The API credentials passed in the API call differ from the ones generated on the Dashboard.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Solution:`}),` The API keys must be active and entered correctly with no whitespace before or after.`]})]}),_jsxs(Accordion,{title:`{Payment_id} is not a valid id.`,id:`payment-id-is-not-a-valid-id`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Code:`}),` `,_jsx(_components.code,{children:`400`})]}),_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`payment_id`}),` provided is invalid.`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Solution:`}),` Use a valid `,_jsx(_components.code,{children:`payment_id`}),`.`]})]}),_jsxs(Accordion,{title:`The requested URL was not found on the server.`,id:`the-requested-url-was-not-found-on-the-server`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Code:`}),` `,_jsx(_components.code,{children:`400`})]}),_jsx(_components.p,{children:`Possible reasons:`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`The URL is wrong or is missing something.`}),`\n`,_jsx(_components.li,{children:`A POST API is executed by GET method.`}),`\n`]}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Solution:`})}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Ensure that the URL is correct and complete.`}),`\n`,_jsx(_components.li,{children:`Use the correct method, that is, POST.`}),`\n`]})]}),_jsxs(Accordion,{title:`{any Extra field} is/are not required and should not be sent.`,id:`any-extra-field-is-are-not-required-and-should-not-be-sent`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Code:`}),` `,_jsx(_components.code,{children:`400`})]}),_jsx(_components.p,{children:`An additional or unrequired parameter is passed.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Solution:`}),` Ensure that you only pass the required parameters in the request body.`]})]}),_jsxs(Accordion,{title:`The refund amount provided is greater than amount captured.`,id:`the-refund-amount-provided-is-greater-than-amount-captured`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Code:`}),` `,_jsx(_components.code,{children:`400`})]}),_jsx(_components.p,{children:`The refund amount entered is more than the amount captured.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Solution:`}),` Enter an amount equal to or less than the amount captured.`]})]}),_jsxs(Accordion,{title:_jsx(_Fragment,{children:`The amount must be at least INR 1.00.`}),id:`the-amount-must-be-at-least-inr-1-00`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Code:`}),` `,_jsx(_components.code,{children:`400`})]}),_jsx(_components.p,{children:`The refund amount entered is less than .`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Solution:`}),` Enter an amount of at least .`]})]}),_jsxs(Accordion,{title:`The payment has been fully refunded already.`,id:`the-payment-has-been-fully-refunded-already`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Code:`}),` `,_jsx(_components.code,{children:`400`})]}),_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`payment_id`}),` has already been refunded fully.`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Solution:`}),` Use a `,_jsx(_components.code,{children:`payment_id`}),` that has not been fully refunded.`]})]}),_jsxs(Accordion,{title:`Different request with the same idempotency key has already been processed.`,id:`different-request-with-the-same-idempotency-key-has-already-been-processed`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Code:`}),` `,_jsx(_components.code,{children:`409`})]}),_jsx(_components.p,{children:`Another refund request with different parameters has been processed using the same idempotency key.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Solution:`}),` Use a unique idempotency key for the new request and retry.`]})]}),_jsxs(Accordion,{title:`Another request with the same idempotency key is still in progress.`,id:`another-request-with-the-same-idempotency-key-is-still-in-progress`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Code:`}),` `,_jsx(_components.code,{children:`409`})]}),_jsx(_components.p,{children:`A refund request with the same idempotency key is currently being processed and has not yet returned a response.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Solution:`}),` Wait for the previous request to complete or use a different idempotency key.`]})]}),_jsxs(Accordion,{title:`Internal server error - Failed to fetch idempotency record`,id:`internal-server-error-failed-to-fetch-idempotency-record`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Code:`}),` `,_jsx(_components.code,{children:`500`})]}),_jsx(_components.p,{children:`The server encountered an error while retrieving the idempotency record.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Solution:`}),` Retry the request after some time. If the issue persists, contact `,_jsx(_components.a,{href:`https://razorpay.com/support`,children:`Razorpay Support`}),`.`]})]}),_jsxs(Accordion,{title:`Internal server error - Failed to parse request body`,id:`internal-server-error-failed-to-parse-request-body`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Code:`}),` `,_jsx(_components.code,{children:`500`})]}),_jsx(_components.p,{children:`The server failed to parse the request body to generate the request hash.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Solution:`}),` Ensure the request body is properly formatted as valid JSON. If the issue persists, contact `,_jsx(_components.a,{href:`https://razorpay.com/support`,children:`Razorpay Support`}),`.`]})]}),_jsxs(Accordion,{title:`The idempotency key must be at least 10 characters long.`,id:`the-idempotency-key-must-be-at-least-10-characters-long`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Code:`}),` `,_jsx(_components.code,{children:`400`})]}),_jsx(_components.p,{children:`The idempotency key provided is less than 10 characters in length.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Solution:`}),` Use an idempotency key that is at least 10 characters long.`]})]}),_jsxs(Accordion,{title:`The idempotency key must only contain alphanumeric characters, underscores, and hyphens`,id:`the-idempotency-key-must-only-contain-alphanumeric-characters-underscores-and-hyphens`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Code:`}),` `,_jsx(_components.code,{children:`400`})]}),_jsx(_components.p,{children:`The idempotency key contains invalid special characters.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Solution:`}),` Ensure the idempotency key only contains alphanumeric characters (A-Z, a-z, 0-9), underscores (_), and hyphens (-).`]})]}),_jsxs(Accordion,{title:`Merchant id not found in authentication`,id:`merchant-id-not-found-in-authentication`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Code:`}),` `,_jsx(_components.code,{children:`500`})]}),_jsx(_components.p,{children:`The request contains an idempotency key but the merchant authentication is invalid or missing.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Solution:`}),` Ensure you are using valid API credentials (Key ID and Key Secret) for authentication. If the issue persists, contact `,_jsx(_components.a,{href:`https://razorpay.com/support`,children:`Razorpay Support`}),`.`]})]})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Create a Normal Refund (Idempotent Request)","description":"Retry or send the same normal refund request multiple times safely using the Razorpay API.","api":"POST /v1/payments/:id/refund","href":"/api/refunds/normal-refunds-idempotent"}}},"mdxSourceWithNoJs":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,CodeBlock,Heading,Info,ParamField,RequestExample,ResponseExample,ResponseField,Warning}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!RequestExample)_missingMdxReference(`RequestExample`,true);if(!ResponseExample)_missingMdxReference(`ResponseExample`,true);if(!ResponseField)_missingMdxReference(`ResponseField`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(`div`,{style:{display:`flex`,flexWrap:`wrap`,alignItems:`center`,gap:`0.35rem 0.9rem`,border:`1px solid rgba(128,128,128,0.28)`,borderRadius:`0.5rem`,padding:`0.45rem 0.75rem`,margin:`0 0 1.25rem`,fontSize:`0.875rem`},children:[_jsx(`span`,{style:{fontWeight:600},children:`Available in`}),_jsx(`span`,{children:`🇮🇳 India`}),_jsx(`span`,{children:`🇲🇾 Malaysia`})]}),`\n`,_jsx(_components.p,{children:`Idempotency allows you to safely retry or send the same request multiple times without fear of repeating the normal refund request more than once.`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`When you try to create a normal refund, in some cases due to network downtimes, you may not get a response from our servers. As a consequence, you will not be aware of the refund id or its state. In such cases, you can safely retry the transaction using the same idempotency key without risk of double-refund or duplication.`}),`\n`,_jsxs(_components.li,{children:[`To make a normal refund request idempotent, add the header `,_jsx(_components.code,{children:`X-Refund-Idempotency`}),` to the request and pass an idempotency key against it. The idempotency key must be at least 10 character long and can contain alphabets, numbers, hyphens and underscores only. For example, `,_jsx(_components.code,{children:`550e8400-e29b-41d4-a716-446655440000`}),`.`]}),`\n`,_jsx(_components.li,{children:`Idempotency is supported for both Normal and Instant Refunds APIs.`}),`\n`]}),`\n`,_jsxs(Info,{children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`Handy Tips`})}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`When retrying a request, the request body must be the same as the first request for idempotency to work. A different payload will be rejected as a `,_jsx(_components.code,{children:`BAD_REQUEST`}),`.`]}),`\n`,_jsx(_components.li,{children:`The idempotency key in retries must be the same as the original request.`}),`\n`,_jsx(_components.li,{children:`Use unique idempotency keys for each unique request.`}),`\n`,_jsx(_components.li,{children:`If a request is received while a prior request is still being processed, the system will return a 409 Conflict status code. You may retry the request upon receiving this response.`}),`\n`]})]}),`\n`,_jsxs(RequestExample,{children:[_jsx(CodeBlock,{filename:`Curl`,numberOfLines:`7`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`7`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -u`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [YOUR_KEY_ID]:[YOUR_KEY_SECRET] `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:`\\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`-X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.razorpay.com/v1/payments/pay_29QQoUBi66xm2f/refund`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`-H `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'Content-Type: application/json'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`-H `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'X-Refund-Idempotency: 550e8400-e29b-41d4-a716-446655440000'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`-d `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"amount\": 500100`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`}'`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`CLI`,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`razorpay`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` refunds`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` create`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` pay_ABC123`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --amount`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 500100`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --idempotency-key`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 550e8400-e29b-41d4-a716-446655440000`})]}),`\n`]})})})]}),`\n`,_jsxs(ResponseExample,{children:[_jsx(CodeBlock,{filename:`Success`,numberOfLines:`17`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`17`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"rfnd_FP8QHiV938haTz\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"entity\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"refund\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"amount\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`500100`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"receipt\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Receipt No. 31\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"currency\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"INR\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"payment_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"pay_29QQoUBi66xm2f\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"notes\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {},`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"acquirer_data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"arn\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"created_at\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1597078866`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"batch_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"processed\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"speed_processed\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"normal\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"speed_requested\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"normal\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Failure`,numberOfLines:`10`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`10`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"error\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"code\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"BAD_REQUEST_ERROR\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"description\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Different request with the same idempotency key has already been processed.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"source\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"NA\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"step\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"NA\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"reason\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"NA\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"metadata\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {}`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})]}),`\n`,_jsx(Heading,{level:`2`,id:`path-parameters`,children:`Path Parameters`}),`\n`,_jsx(ParamField,{path:`id`,type:`string`,required:true,id:`param-id`,children:_jsx(_components.p,{children:`The unique identifier of the payment which needs to be refunded.`})}),`\n`,_jsx(Heading,{level:`2`,id:`request-parameters`,children:`Request Parameters`}),`\n`,_jsxs(ParamField,{body:`amount`,type:`integer`,id:`param-amount`,children:[_jsxs(_components.p,{children:[`The amount to be refunded. Amount should be in the smallest unit of the currency in which the payment was made. In the case of three decimal currencies, such as KWD, BHD and OMR, to refund a payment of 295.991, pass the value as `,_jsx(_components.code,{children:`295990`}),`. And in the case of zero decimal currencies such as JPY, to refund a payment of 295, pass the value as `,_jsx(_components.code,{children:`295`}),`.`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`For a `,_jsx(_components.strong,{children:`partial refund`}),`, enter a value lesser than the payment amount. For example, if the payment amount is ₹1500 and you want to refund only ₹500, you must pass `,_jsx(_components.code,{children:`50000`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`For `,_jsx(_components.strong,{children:`full refund`}),`, enter the entire payment amount. If the `,_jsx(_components.code,{children:`amount`}),` parameter is not passed, the entire payment amount will be refunded.`]}),`\n`]}),_jsxs(Warning,{children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`Watch Out!`})}),_jsxs(_components.p,{children:[`As per payment guidelines, you should pass the last decimal number as 0 for three decimal currency payments. For example, if you want to refund a customer 99.991 KD for a transaction, you should pass the value for the amount parameter as `,_jsx(_components.code,{children:`99990`}),` and not `,_jsx(_components.code,{children:`99991`}),`.`]})]})]}),`\n`,_jsx(ParamField,{body:`speed`,type:`string`,id:`param-speed`,children:_jsxs(_components.p,{children:[`The speed at which the refund is to be processed. The default value is `,_jsx(_components.code,{children:`normal`}),`. Refund will be processed via the normal speed, and the customer will receive the refund within 5-7 working days.`]})}),`\n`,_jsx(ParamField,{body:`notes`,type:`json object`,id:`param-notes`,children:_jsx(_components.p,{children:`Key-value pairs used to store additional information. A maximum of 15 key-value pairs can be included.`})}),`\n`,_jsx(ParamField,{body:`receipt`,type:`string`,id:`param-receipt`,children:_jsx(_components.p,{children:`A unique identifier provided by you for your internal reference.`})}),`\n`,_jsx(Heading,{level:`2`,id:`response-parameters`,children:`Response Parameters`}),`\n`,_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-1`,children:_jsxs(_components.p,{children:[`The unique identifier of the refund. For example, `,_jsx(_components.code,{children:`rfnd_FgRAHdNOM4ZVbO`}),`.`]})}),`\n`,_jsx(ResponseField,{name:`entity`,type:`string`,id:`param-entity`,children:_jsxs(_components.p,{children:[`Indicates the type of entity. Here, it is `,_jsx(_components.code,{children:`refund`}),`.`]})}),`\n`,_jsx(ResponseField,{name:`amount`,type:`integer`,id:`param-amount-1`,children:_jsxs(_components.p,{children:[`The amount to be refunded (in the smallest unit of currency). `,_jsx(`br`,{}),` For example, if the refund value is ₹30 it will be `,_jsx(_components.code,{children:`3000`}),`.`]})}),`\n`,_jsx(ResponseField,{name:`currency`,type:`string`,id:`param-currency`,children:_jsxs(_components.p,{children:[`The currency of payment amount for which the refund is initiated. Check the list of `,_jsx(_components.a,{href:`/payments/international-payments#supported-currencies`,children:`supported currencies`}),`.`]})}),`\n`,_jsx(ResponseField,{name:`payment_id`,type:`string`,id:`param-payment-id`,children:_jsxs(_components.p,{children:[`The unique identifier of the payment for which a refund is initiated. For example, `,_jsx(_components.code,{children:`pay_FgR9UMzgmKDJRi`}),`.`]})}),`\n`,_jsx(ResponseField,{name:`created_at`,type:`integer`,id:`param-created-at`,children:_jsxs(_components.p,{children:[`Unix timestamp at which the refund was created. For example, `,_jsx(_components.code,{children:`1600856650`}),`.`]})}),`\n`,_jsx(ResponseField,{name:`batch_id`,type:`string`,id:`param-batch-id`,children:_jsxs(_components.p,{children:[`This parameter is populated if the refund was created as part of a batch upload. For example, `,_jsx(_components.code,{children:`batch_00000000000001`}),`.`]})}),`\n`,_jsx(ResponseField,{name:`notes`,type:`json object`,id:`param-notes-1`,children:_jsxs(_components.p,{children:[`Key-value store for storing your reference data. A maximum of 15 key-value pairs can be included. For example, `,_jsx(_components.code,{children:`\"note_key\": \"Beam me up Scotty\"`}),`.`]})}),`\n`,_jsx(ResponseField,{name:`receipt`,type:`string`,id:`param-receipt-1`,children:_jsx(_components.p,{children:`A unique identifier provided by you for your internal reference.`})}),`\n`,_jsx(ResponseField,{name:`acquirer_data`,type:`array`,id:`param-acquirer-data`,children:_jsx(_components.p,{children:`A dynamic array consisting of a unique reference number (either RRN, ARN or UTR) that is provided by the banking partner when a refund is processed. This reference number can be used by the customer to track the status of the refund with the bank.`})}),`\n`,_jsxs(ResponseField,{name:`status`,type:`string`,id:`param-status`,children:[_jsx(_components.p,{children:`Indicates the state of the refund. Possible values:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`pending`}),`: This state indicates that Razorpay is attempting to process the refund.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`processed`}),`: This is the final state of the refund.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`failed`}),`: A refund can attain the failed state in the following scenarios:`,_jsx(`br`,{}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Normal refund is not possible for a payment which is more than 6 months old.`,_jsx(`br`,{})]}),`\n`,_jsx(_components.li,{children:`Instant Refund can sometimes fail because of customer’s account or bank-related issues.`}),`\n`]}),`\n`]}),`\n`]})]}),`\n`,_jsxs(ResponseField,{name:`speed_requested`,type:`string`,id:`param-speed-requested`,children:[_jsxs(_components.p,{children:[`The processing mode of the refund seen in the refund response. `,_jsx(`br`,{}),` This attribute is seen in the refund response only if the `,_jsx(_components.code,{children:`speed`}),` parameter is set in the refund request.`,_jsx(`br`,{}),`Possible values:`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`normal`}),`: Indicates that the refund will be processed via the normal speed. The refund will take 5-7 working days.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`optimum`}),`: Indicates that the refund will be processed at an optimal speed based on Razorpay’s internal fund transfer logic.`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`If the refund can be processed instantly, Razorpay will do so, irrespective of the payment method used to make the payment.`}),`\n`,_jsx(_components.li,{children:`If an instant refund is not possible, Razorpay will initiate a refund that is processed at the normal speed.`}),`\n`]}),`\n`]}),`\n`]})]}),`\n`,_jsxs(ResponseField,{name:`speed_processed`,type:`string`,id:`param-speed-processed`,children:[_jsxs(_components.p,{children:[`This is a parameter in the response which describes the mode used to process a refund. `,_jsx(`br`,{}),` This attribute is seen in the refund response only if the `,_jsx(_components.code,{children:`speed`}),` parameter is set in the refund request. Possible values:`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`instant`}),`: Indicates that the refund has been processed instantly via fund transfer.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`normal`}),`: Indicates that the refund has been processed by the payment processing partner. The refund will take 5-7 working days.`]}),`\n`]})]}),`\n`,_jsx(Heading,{level:`2`,id:`errors`,children:`Errors`}),`\n`,_jsxs(AccordionGroup,{children:[_jsxs(Accordion,{title:`The API {key/secret} provided is invalid.`,id:`the-api-key-secret-provided-is-invalid`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Code:`}),` `,_jsx(_components.code,{children:`4xx`})]}),_jsx(_components.p,{children:`The API credentials passed in the API call differ from the ones generated on the Dashboard.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Solution:`}),` The API keys must be active and entered correctly with no whitespace before or after.`]})]}),_jsxs(Accordion,{title:`{Payment_id} is not a valid id.`,id:`payment-id-is-not-a-valid-id`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Code:`}),` `,_jsx(_components.code,{children:`400`})]}),_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`payment_id`}),` provided is invalid.`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Solution:`}),` Use a valid `,_jsx(_components.code,{children:`payment_id`}),`.`]})]}),_jsxs(Accordion,{title:`The requested URL was not found on the server.`,id:`the-requested-url-was-not-found-on-the-server`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Code:`}),` `,_jsx(_components.code,{children:`400`})]}),_jsx(_components.p,{children:`Possible reasons:`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`The URL is wrong or is missing something.`}),`\n`,_jsx(_components.li,{children:`A POST API is executed by GET method.`}),`\n`]}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Solution:`})}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Ensure that the URL is correct and complete.`}),`\n`,_jsx(_components.li,{children:`Use the correct method, that is, POST.`}),`\n`]})]}),_jsxs(Accordion,{title:`{any Extra field} is/are not required and should not be sent.`,id:`any-extra-field-is-are-not-required-and-should-not-be-sent`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Code:`}),` `,_jsx(_components.code,{children:`400`})]}),_jsx(_components.p,{children:`An additional or unrequired parameter is passed.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Solution:`}),` Ensure that you only pass the required parameters in the request body.`]})]}),_jsxs(Accordion,{title:`The refund amount provided is greater than amount captured.`,id:`the-refund-amount-provided-is-greater-than-amount-captured`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Code:`}),` `,_jsx(_components.code,{children:`400`})]}),_jsx(_components.p,{children:`The refund amount entered is more than the amount captured.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Solution:`}),` Enter an amount equal to or less than the amount captured.`]})]}),_jsxs(Accordion,{title:_jsx(_Fragment,{children:`The amount must be at least INR 1.00.`}),id:`the-amount-must-be-at-least-inr-1-00`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Code:`}),` `,_jsx(_components.code,{children:`400`})]}),_jsx(_components.p,{children:`The refund amount entered is less than .`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Solution:`}),` Enter an amount of at least .`]})]}),_jsxs(Accordion,{title:`The payment has been fully refunded already.`,id:`the-payment-has-been-fully-refunded-already`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Code:`}),` `,_jsx(_components.code,{children:`400`})]}),_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`payment_id`}),` has already been refunded fully.`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Solution:`}),` Use a `,_jsx(_components.code,{children:`payment_id`}),` that has not been fully refunded.`]})]}),_jsxs(Accordion,{title:`Different request with the same idempotency key has already been processed.`,id:`different-request-with-the-same-idempotency-key-has-already-been-processed`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Code:`}),` `,_jsx(_components.code,{children:`409`})]}),_jsx(_components.p,{children:`Another refund request with different parameters has been processed using the same idempotency key.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Solution:`}),` Use a unique idempotency key for the new request and retry.`]})]}),_jsxs(Accordion,{title:`Another request with the same idempotency key is still in progress.`,id:`another-request-with-the-same-idempotency-key-is-still-in-progress`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Code:`}),` `,_jsx(_components.code,{children:`409`})]}),_jsx(_components.p,{children:`A refund request with the same idempotency key is currently being processed and has not yet returned a response.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Solution:`}),` Wait for the previous request to complete or use a different idempotency key.`]})]}),_jsxs(Accordion,{title:`Internal server error - Failed to fetch idempotency record`,id:`internal-server-error-failed-to-fetch-idempotency-record`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Code:`}),` `,_jsx(_components.code,{children:`500`})]}),_jsx(_components.p,{children:`The server encountered an error while retrieving the idempotency record.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Solution:`}),` Retry the request after some time. If the issue persists, contact `,_jsx(_components.a,{href:`https://razorpay.com/support`,children:`Razorpay Support`}),`.`]})]}),_jsxs(Accordion,{title:`Internal server error - Failed to parse request body`,id:`internal-server-error-failed-to-parse-request-body`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Code:`}),` `,_jsx(_components.code,{children:`500`})]}),_jsx(_components.p,{children:`The server failed to parse the request body to generate the request hash.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Solution:`}),` Ensure the request body is properly formatted as valid JSON. If the issue persists, contact `,_jsx(_components.a,{href:`https://razorpay.com/support`,children:`Razorpay Support`}),`.`]})]}),_jsxs(Accordion,{title:`The idempotency key must be at least 10 characters long.`,id:`the-idempotency-key-must-be-at-least-10-characters-long`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Code:`}),` `,_jsx(_components.code,{children:`400`})]}),_jsx(_components.p,{children:`The idempotency key provided is less than 10 characters in length.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Solution:`}),` Use an idempotency key that is at least 10 characters long.`]})]}),_jsxs(Accordion,{title:`The idempotency key must only contain alphanumeric characters, underscores, and hyphens`,id:`the-idempotency-key-must-only-contain-alphanumeric-characters-underscores-and-hyphens`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Code:`}),` `,_jsx(_components.code,{children:`400`})]}),_jsx(_components.p,{children:`The idempotency key contains invalid special characters.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Solution:`}),` Ensure the idempotency key only contains alphanumeric characters (A-Z, a-z, 0-9), underscores (_), and hyphens (-).`]})]}),_jsxs(Accordion,{title:`Merchant id not found in authentication`,id:`merchant-id-not-found-in-authentication`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Code:`}),` `,_jsx(_components.code,{children:`500`})]}),_jsx(_components.p,{children:`The request contains an idempotency key but the merchant authentication is invalid or missing.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Solution:`}),` Ensure you are using valid API credentials (Key ID and Key Secret) for authentication. If the issue persists, contact `,_jsx(_components.a,{href:`https://razorpay.com/support`,children:`Razorpay Support`}),`.`]})]})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Create a Normal Refund (Idempotent Request)","description":"Retry or send the same normal refund request multiple times safely using the Razorpay API.","api":"POST /v1/payments/:id/refund","href":"/api/refunds/normal-refunds-idempotent"}}}},"mdxExtracts":{"tableOfContents":[{"title":"Path Parameters","slug":"path-parameters","depth":2,"children":[]},{"title":"Request Parameters","slug":"request-parameters","depth":2,"children":[]},{"title":"Response Parameters","slug":"response-parameters","depth":2,"children":[]},{"title":"Errors","slug":"errors","depth":2,"children":[]}],"codeExamples":{"request":{"type":"RequestExample","children":[{"filename":"Curl","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"shellscript\">\u003ccode language=\"shellscript\" numberOfLines=\"7\">\u003cspan class=\"line\">\u003cspan style=\"color:#953800;--shiki-dark:#DCDCAA\">curl\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> -u\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> [YOUR_KEY_ID]:[YOUR_KEY_SECRET] \u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D7BA7D\">\\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#953800;--shiki-dark:#DCDCAA\">-X\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> POST\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> https://api.razorpay.com/v1/payments/pay_29QQoUBi66xm2f/refund\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D7BA7D\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">-H \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">'Content-Type: application/json'\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D7BA7D\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">-H \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">'X-Refund-Idempotency: 550e8400-e29b-41d4-a716-446655440000'\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D7BA7D\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">-d \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">'{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"amount\": 500100\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">}'\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"},{"filename":"CLI","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"shellscript\">\u003ccode language=\"shellscript\" numberOfLines=\"1\">\u003cspan class=\"line\">\u003cspan style=\"color:#953800;--shiki-dark:#DCDCAA\">razorpay\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> refunds\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> create\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> pay_ABC123\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> --amount\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\"> 500100\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> --idempotency-key\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> 550e8400-e29b-41d4-a716-446655440000\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]},"response":{"type":"ResponseExample","children":[{"filename":"Success","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"17\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"rfnd_FP8QHiV938haTz\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"entity\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"refund\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"amount\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">500100\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"receipt\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Receipt No. 31\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"currency\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"INR\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"payment_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"pay_29QQoUBi66xm2f\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"notes\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {},\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"acquirer_data\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"arn\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">null\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"created_at\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">1597078866\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"batch_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">null\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"status\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"processed\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"speed_processed\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"normal\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"speed_requested\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"normal\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"},{"filename":"Failure","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"10\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"error\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"code\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"BAD_REQUEST_ERROR\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"description\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Different request with the same idempotency key has already been processed.\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"source\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"NA\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"step\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"NA\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"reason\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"NA\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"metadata\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {}\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]}},"endpoint":{"title":"Create a Normal Refund (Idempotent Request)","path":"/v1/payments/:id/refund","servers":[{"url":"https://api.razorpay.com"}],"method":"post","request":{"security":[{"title":"Basic Auth","parameters":{"header":{"Authorization":{"type":"http","scheme":"basic","description":"Basic authentication header of the form `Basic \u003cencoded-value>`, where `\u003cencoded-value>` is the base64-encoded string `username:password`."}},"query":{},"cookie":{}}}],"parameters":{"query":{},"header":{},"cookie":{},"path":{"id":{"schema":[{"type":"string","description":"The unique identifier of the payment which needs to be refunded.","required":true}]}}},"body":{"application/json":{"schemaArray":[{"type":"object","properties":{"amount":[{"type":"integer","description":"The amount to be refunded. Amount should be in the smallest unit of the currency in which the payment was made. In the case of three decimal currencies, such as KWD, BHD and OMR, to refund a payment of 295.991, pass the value as `295990` . And in the case of zero decimal currencies such as JPY, to refund a payment of 295, pass the value as `295` . For a partial refund , enter a value lesser than the payment amount. For example, if the payment amount is ₹1500 and you want to refund only ₹500, you must pass `50000` . For full refund , enter the entire payment amount. If the `amount` parameter is not passed, the entire payment amount will be refunded."}],"speed":[{"type":"string","description":"The speed at which the refund is to be processed. The default value is `normal` . Refund will be processed via the normal speed, and the customer will receive the refund within 5-7 working days."}],"notes":[{"type":"object","properties":{},"description":"Key-value pairs used to store additional information. A maximum of 15 key-value pairs can be included."}],"receipt":[{"type":"string","description":"A unique identifier provided by you for your internal reference."}]}}],"examples":{"example":{"value":{"amount":123,"speed":"\u003cstring>","notes":{},"receipt":"\u003cstring>"}}}}}},"response":{"200":{"application/json":{"schemaArray":[{"type":"object","properties":{"id":[{"type":"string","description":"The unique identifier of the refund. For example, `rfnd_FgRAHdNOM4ZVbO` ."}],"entity":[{"type":"string","description":"Indicates the type of entity. Here, it is `refund` ."}],"amount":[{"type":"integer","description":"The amount to be refunded (in the smallest unit of currency). For example, if the refund value is ₹30 it will be `3000` ."}],"currency":[{"type":"string","description":"The currency of payment amount for which the refund is initiated. Check the list of supported currencies ."}],"payment_id":[{"type":"string","description":"The unique identifier of the payment for which a refund is initiated. For example, `pay_FgR9UMzgmKDJRi` ."}],"created_at":[{"type":"integer","description":"Unix timestamp at which the refund was created. For example, `1600856650` ."}],"batch_id":[{"type":"string","description":"This parameter is populated if the refund was created as part of a batch upload. For example, `batch_00000000000001` ."}],"notes":[{"type":"object","properties":{},"description":"Key-value store for storing your reference data. A maximum of 15 key-value pairs can be included. For example, `\"note_key\": \"Beam me up Scotty\"` ."}],"receipt":[{"type":"string","description":"A unique identifier provided by you for your internal reference."}],"acquirer_data":[{"type":"array","items":[{"type":"object","properties":{}}],"description":"A dynamic array consisting of a unique reference number (either RRN, ARN or UTR) that is provided by the banking partner when a refund is processed. This reference number can be used by the customer to track the status of the refund with the bank."}],"status":[{"type":"string","description":"Indicates the state of the refund. Possible values: `pending` : This state indicates that Razorpay is attempting to process the refund. `processed` : This is the final state of the refund. `failed` : A refund can attain the failed state in the following scenarios: Normal refund is not possible for a payment which is more than 6 months old. Instant Refund can sometimes fail because of customer’s account or bank-related issues."}],"speed_requested":[{"type":"string","description":"The processing mode of the refund seen in the refund response. This attribute is seen in the refund response only if the `speed` parameter is set in the refund request. Possible values: `normal` : Indicates that the refund will be processed via the normal speed. The refund will take 5-7 working days. `optimum` : Indicates that the refund will be processed at an optimal speed based on Razorpay’s internal fund transfer logic. If the refund can be processed instantly, Razorpay will do so, irrespective of the payment method used to make the payment. If an instant refund is not possible, Razorpay will initiate a refund that is processed at the normal speed."}],"speed_processed":[{"type":"string","description":"This is a parameter in the response which describes the mode used to process a refund. This attribute is seen in the refund response only if the `speed` parameter is set in the refund request. Possible values: `instant` : Indicates that the refund has been processed instantly via fund transfer. `normal` : Indicates that the refund has been processed by the payment processing partner. The refund will take 5-7 working days."}]}}],"examples":{"example":{"value":{"id":"\u003cstring>","entity":"\u003cstring>","amount":123,"currency":"\u003cstring>","payment_id":"\u003cstring>","created_at":123,"batch_id":"\u003cstring>","notes":{},"receipt":"\u003cstring>","acquirer_data":[{}],"status":"\u003cstring>","speed_requested":"\u003cstring>","speed_processed":"\u003cstring>"}}}}}},"deprecated":false}},"jsLinks":["/docs/_mintlify/custom/razorpay-881012b3/ccee8c0e9edccd6b/country-switcher.js","/docs/_mintlify/custom/razorpay-881012b3/ccb1482537a84031/static/docs-home/script.js","/docs/_mintlify/custom/razorpay-881012b3/e78183bdfe89167a/ga4.js"],"subdomain":"razorpay-881012b3","siteName":"Razorpay","title":"Create a Normal Refund (Idempotent Request) - Razorpay","navMaps":{"firstHrefInVersion":{"India":{"href":"/api/refunds/normal-refunds-idempotent","matchLevel":0},"Singapore":{"href":"/sg/home","matchLevel":4},"United States":{"href":"/us/home","matchLevel":4}},"firstHrefInLanguage":{}},"lastModified":"2026-10-08T16:37:53.942Z","originalFileLocation":"api/refunds/normal-refunds-idempotent.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Retry or send the same normal refund request multiple times safely using the Razorpay API.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Razorpay\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create a Normal Refund (Idempotent Request) - Razorpay\">\u003cmeta data-mint-head property=\"og:description\" content=\"Retry or send the same normal refund request multiple times safely using the Razorpay API.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Razorpay\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://razorpay.com/api/refunds/normal-refunds-idempotent\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://razorpay-881012b3.mintlify.app/_mintlify/api/og/v2?division=Refunds\u0026amp;title=Create+a+Normal+Refund+%28Idempotent+Request%29\u0026amp;description=Retry+or+send+the+same+normal+refund+request+multiple+times+safely+using+the+Razorpay+API.\u0026amp;theme=bb58a630b2bbead7dc77be4b\u0026amp;signature=05449ea4b821a1403a1b21c10115ea7997cdabf6a4a2e5955a6093603d34172e\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Create a Normal Refund (Idempotent Request) - Razorpay\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Retry or send the same normal refund request multiple times safely using the Razorpay API.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://razorpay-881012b3.mintlify.app/_mintlify/api/og/v2?division=Refunds\u0026amp;title=Create+a+Normal+Refund+%28Idempotent+Request%29\u0026amp;description=Retry+or+send+the+same+normal+refund+request+multiple+times+safely+using+the+Razorpay+API.\u0026amp;theme=bb58a630b2bbead7dc77be4b\u0026amp;signature=05449ea4b821a1403a1b21c10115ea7997cdabf6a4a2e5955a6093603d34172e\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/razorpay-881012b3/gWy2bjt_zV_OZ2iN/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Razorpay\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3395FF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://razorpay.com/api/refunds/normal-refunds-idempotent\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/api/refunds/normal-refunds-idempotent.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://razorpay.com/#organization\",\"name\":\"Razorpay\",\"url\":\"https://razorpay.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/razorpay-881012b3/puuu1wI-BbW3rsp2/logo/light.svg?fit=max\u0026auto=format\u0026n=puuu1wI-BbW3rsp2\u0026q=85\u0026s=e0750375ee2004193a685f9f211963fe\"}},{\"@type\":\"WebSite\",\"@id\":\"https://razorpay.com#website\",\"name\":\"Razorpay\",\"url\":\"https://razorpay.com\",\"publisher\":{\"@id\":\"https://razorpay.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://razorpay.com/api/refunds/normal-refunds-idempotent#webpage\",\"url\":\"https://razorpay.com/api/refunds/normal-refunds-idempotent\",\"name\":\"Create a Normal Refund (Idempotent Request)\",\"description\":\"Retry or send the same normal refund request multiple times safely using the Razorpay API.\",\"dateModified\":\"2026-10-08T16:37:53.942Z\",\"isPartOf\":{\"@id\":\"https://razorpay.com#website\"},\"breadcrumb\":{\"@id\":\"https://razorpay.com/api/refunds/normal-refunds-idempotent#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://razorpay.com/api/refunds/normal-refunds-idempotent#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Payments\",\"item\":\"https://razorpay.com/api/payments\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Refunds\",\"item\":\"https://razorpay.com/api/refunds\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Create a Normal Refund (Idempotent Request)\",\"item\":\"https://razorpay.com/api/refunds/normal-refunds-idempotent\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://razorpay.com/api/refunds/normal-refunds-idempotent#apireference\",\"headline\":\"Create a Normal Refund (Idempotent Request)\",\"name\":\"Create a Normal Refund (Idempotent Request)\",\"description\":\"Retry or send the same normal refund request multiple times safely using the Razorpay API.\",\"url\":\"https://razorpay.com/api/refunds/normal-refunds-idempotent\",\"mainEntityOfPage\":{\"@id\":\"https://razorpay.com/api/refunds/normal-refunds-idempotent#webpage\"},\"dateModified\":\"2026-10-08T16:37:53.942Z\",\"publisher\":{\"@id\":\"https://razorpay.com/#organization\"},\"isPartOf\":{\"@id\":\"https://razorpay.com#website\"}}]}\u003c/script>","siteName":"Razorpay","nav":{"global":null,"versions":[{"version":"India","default":true,"tabs":[{"tab":"Home","icon":"house","pages":[{"title":"Home","href":"/home"}]},{"tab":"Payments","icon":"credit-card","pages":[{"title":"Payments","href":"/payments"}]},{"tab":"Engage","icon":"bullhorn","pages":[{"title":"Engage","href":"/engage"}]},{"tab":"POS","icon":"cash-register","pages":[{"title":"POS","href":"/pos"}]},{"tab":"Banking Plus","icon":"building-columns","pages":[{"title":"Banking Plus","href":"/x"}]},{"tab":"Payroll","icon":"money-check-dollar","pages":[{"title":"Payroll","href":"/payroll"}]},{"tab":"Partners","icon":"handshake","pages":[{"title":"Partners","href":"/partners"}]},{"tab":"API Reference","icon":"code","pages":[{"group":"Introduction","root":{"title":"API Reference Guide","href":"/api"},"pages":[{"title":"API Changelog","href":"/api/changelog"},{"title":"Understand Razorpay APIs","href":"/api/understand"},{"title":"API Authentication","sidebarTitle":"Authentication","href":"/api/authentication"},{"title":"API Sandbox Setup","sidebarTitle":"Sandbox Setup","href":"/api/sandbox-setup"},{"title":"Install the Razorpay CLI","sidebarTitle":"Install CLI","href":"/api/install-cli"},{"title":"Best Practices","href":"/api/best-practices"},{"title":"Glossary","href":"/api/glossary"}]},{"group":"Payments","root":{"title":"Payments","href":"/api/payments"},"pages":[{"group":"Orders","pages":[{"title":"Orders","href":"/api/orders"},{"title":"Orders Entity","href":"/api/orders/entity"},{"title":"Create an Order","api":"POST /v1/orders","href":"/api/orders/create"},{"title":"Fetch All Orders","api":"GET /v1/orders","href":"/api/orders/fetch-all"},{"title":"Fetch All Orders (With Expanded Payments)","api":"GET /v1/orders?expand[]=payments","href":"/api/orders/fetch-all-expanded-payments"},{"title":"Fetch All Orders (With Expand Card Payments)","api":"GET /v1/orders?expand[]=payments.card","href":"/api/orders/fetch-all-expanded-card-payments"},{"title":"Fetch an Order With ID","api":"GET /v1/orders/:id","href":"/api/orders/fetch-with-id"},{"title":"Fetch Payments for an Order","api":"GET /v1/orders/:id/payments","href":"/api/orders/fetch-payments"},{"title":"Update an Order","api":"PATCH /v1/orders/:id","href":"/api/orders/update"}]},{"group":"Payments","pages":[{"title":"Payments Entity","href":"/api/payments/entity"},{"title":"Capture a Payment","api":"POST /v1/payments/:id/capture","href":"/api/payments/capture"},{"title":"Fetch a Payment With ID","api":"GET /v1/payments/:id","href":"/api/payments/fetch-with-id"},{"title":"Fetch a Payment (With Expanded Card Details)","api":"GET /v1/payments/:id/?expand[]=card","href":"/api/payments/fetch-payment-expanded-card"},{"title":"Fetch a Payment with Expanded EMI Details","api":"GET /v1/payments/:id/?expand[]=emi","href":"/api/payments/fetch-payment-expanded-emi"},{"title":"Fetch a Payment with Expanded Offers Details","api":"GET /v1/payments/:id/?expand[]=offers","href":"/api/payments/fetch-payment-expanded-offers"},{"title":"Fetch All Payments","api":"GET /v1/payments","href":"/api/payments/fetch-all-payments"},{"title":"Fetch All Payments (With Expanded Card Details)","api":"GET /v1/payments?expand[]=card","href":"/api/payments/fetch-all-payments-with-expanded-card-details"},{"title":"Fetch All Payments (With Expanded EMI Details)","api":"GET /v1/payments?expand[]=emi","href":"/api/payments/fetch-all-payments-with-expanded-emi-details"},{"title":"Fetch Payments Based on Orders","api":"GET /v1/orders/:id/payments","href":"/api/payments/fetch-payments-orders"},{"title":"Fetch Card Details of a Payment","api":"GET /v1/payments/:id/card","href":"/api/payments/fetch-card-details-payment"},{"title":"Update a Payment","api":"PATCH /v1/payments/:id/","href":"/api/payments/update"}]},{"group":"Downtime","pages":[{"title":"Payment Downtime","sidebarTitle":"Downtime","href":"/api/payments/downtime"},{"title":"Payment Downtime Entity","href":"/api/payments/downtime/entity"},{"title":"Fetch All Payment Downtime Details","api":"GET /v1/payments/downtimes","href":"/api/payments/downtime/fetch-all"},{"title":"Fetch Payment Downtime Details With ID","api":"GET /v1/payments/downtimes/:id","href":"/api/payments/downtime/fetch-with-id"}]},{"group":"Settlements","pages":[{"title":"Settlements","href":"/api/settlements"},{"title":"Settlements Entity","href":"/api/settlements/entity"},{"title":"Fetch All Settlements","api":"GET /v1/settlements/","href":"/api/settlements/fetch-all"},{"title":"Fetch Settlements With ID","api":"GET /v1/settlements/:id","href":"/api/settlements/fetch-with-id"},{"title":"Fetch Settlement Recon Details","api":"GET /v1/settlements/recon/combined?year=yyyy\u0026month=mm","href":"/api/settlements/fetch-recon"}]},{"group":"Instant Settlements","pages":[{"title":"Instant Settlements","href":"/api/settlements/instant"},{"title":"Instant Settlements Entity","href":"/api/settlements/instant/entity"},{"title":"Create an Instant Settlement","api":"POST /v1/settlements/ondemand","href":"/api/settlements/instant/create"},{"title":"Fetch All Instant Settlements","api":"GET /v1/settlements/ondemand","href":"/api/settlements/instant/fetch-all"},{"title":"Fetch Instant Settlement With ID","api":"GET /v1/settlements/ondemand/:id","href":"/api/settlements/instant/fetch-with-id"},{"title":"Fetch All Instant Settlements With Payout Details","api":"GET /v1/settlements/ondemand/?expand[]=ondemand_payouts","href":"/api/settlements/instant/fetch-all-payout"},{"title":"Fetch Instant Settlement With ID and Payout Details","api":"GET /v1/settlements/ondemand/:id?expand[]=ondemand_payouts","href":"/api/settlements/instant/fetch-with-id-payout"}]},{"group":"Refunds","pages":[{"title":"Refunds","href":"/api/refunds"},{"title":"Refunds Entity","href":"/api/refunds/entity"},{"title":"Create a Normal Refund","description":"Create a Normal Refund using Razorpay Refunds API.","api":"POST /v1/payments/:id/refund","href":"/api/refunds/create-normal"},{"title":"Create a Normal Refund (Idempotent Request)","api":"POST /v1/payments/:id/refund","href":"/api/refunds/normal-refunds-idempotent"},{"title":"Create an Instant Refund","description":"Create an Instant Refund using Razorpay Refunds API.","api":"POST /v1/payments/:id/refund","href":"/api/refunds/create-instant"},{"title":"Create an Instant Refund (Idempotent Request)","api":"POST /v1/payments/:id/refund","href":"/api/refunds/instant-refunds-idempotent"},{"title":"Fetch Multiple Refunds for a Payment","api":"GET /v1/payments/:id/refunds","href":"/api/refunds/fetch-multiple-refund-payment"},{"title":"Fetch a Specific Refund for a Payment","api":"GET /v1/payments/:payment_id/refunds/:refund_id","href":"/api/refunds/fetch-specific-refund-payment"},{"title":"Fetch All Refunds","api":"GET /v1/refunds/","href":"/api/refunds/fetch-all"},{"title":"Fetch Refund With ID","api":"GET /v1/refunds/:id","href":"/api/refunds/fetch-with-id"},{"title":"Update a Refund","api":"PATCH /v1/refunds/:id/","href":"/api/refunds/update"}]},{"group":"Disputes","pages":[{"title":"Disputes","href":"/api/disputes"},{"title":"Disputes Entity","href":"/api/disputes/entity"},{"title":"Fetch All Disputes","api":"GET /v1/disputes","href":"/api/disputes/fetch-all"},{"title":"Fetch a Dispute With ID","api":"GET /v1/disputes/:id","href":"/api/disputes/fetch"},{"title":"Fetch a Dispute With ID (With Expanded Payments Details)","api":"GET /v1/disputes/:id?expand[]=payment","href":"/api/disputes/fetch-dispute-expanded-payment"},{"title":"Fetch a Dispute With ID (With Expanded transaction.settlement Details)","api":"GET /v1/disputes/:id?expand[]=transaction.settlement","href":"/api/disputes/fetch-dispute-expanded-transaction"},{"title":"Accept a Dispute","api":"POST /v1/disputes/:id/accept","href":"/api/disputes/accept"},{"title":"Contest a Dispute","api":"PATCH /v1/disputes/:id/contest","href":"/api/disputes/contest"}]},{"group":"Documents","pages":[{"title":"Documents","href":"/api/documents"},{"title":"Documents Entity","href":"/api/documents/entity"},{"title":"Create a Document","api":"POST /v1/documents","href":"/api/documents/create"},{"title":"Fetch Document Information","api":"GET /v1/documents/:id","href":"/api/documents/fetch-info"},{"title":"Fetch Document Content","api":"GET /v1/documents/:id/content","href":"/api/documents/fetch-content"}]},{"group":"Customers","pages":[{"title":"Customers","href":"/api/customers"},{"title":"Customers Entity","href":"/api/customers/entity"},{"title":"Create a Customer","api":"POST /v1/customers","href":"/api/customers/create"},{"title":"Edit Customer Details","api":"PUT /v1/customers/:id","href":"/api/customers/edit"},{"title":"Fetch All Customers","api":"GET /v1/customers","href":"/api/customers/fetch-all"},{"title":"Fetch Customer With ID","api":"GET /v1/customers/:id","href":"/api/customers/fetch-with-id"}]},{"group":"Payment Links","pages":[{"title":"Payment Links","href":"/api/payments/payment-links"},{"title":"Payment Links Entity","href":"/api/payments/payment-links/entity"},{"title":"Create a Standard Payment Link","api":"POST /v1/payment_links","href":"/api/payments/payment-links/create-standard"},{"title":"Create a UPI Payment Link","api":"POST /v1/payment_links","href":"/api/payments/payment-links/create-upi"},{"title":"Fetch All Standard Payment Links","api":"GET /v1/payment_links/","href":"/api/payments/payment-links/fetch-all-standard"},{"title":"Fetch All UPI Payment Links","api":"GET /v1/payment_links/","href":"/api/payments/payment-links/fetch-all-upi"},{"title":"Fetch Standard Payment Links With ID","api":"GET /v1/payment_links/:id","href":"/api/payments/payment-links/fetch-id-standard"},{"title":"Fetch UPI Payment Links With ID","api":"GET /v1/payment_links/:id","href":"/api/payments/payment-links/fetch-id-upi"},{"title":"Send or Resend Notifications","api":"POST /v1/payment_links/:id/notify_by/:medium","href":"/api/payments/payment-links/resend"},{"title":"Update Standard Payment Link","api":"PATCH /v1/payment_links/:id","href":"/api/payments/payment-links/update-standard"},{"title":"Update UPI Payment Link","api":"PATCH /v1/payment_links/:id","href":"/api/payments/payment-links/update-upi"},{"title":"Cancel a Standard Payment Link","api":"POST /v1/payment_links/:id/cancel","href":"/api/payments/payment-links/cancel-standard"},{"title":"Cancel a UPI Payment Link","api":"POST /v1/payment_links/:id/cancel","href":"/api/payments/payment-links/cancel-upi"},{"title":"Implement Thematic Changes in Payment Links Checkout Section","api":"POST /v1/payment_links","href":"/api/payments/payment-links/checkout-theme"},{"title":"Change Business Name","api":"POST /v1/payment_links","href":"/api/payments/payment-links/change-business-name"},{"title":"Customise Payment Methods - Options and Method Parameters","api":"POST /v1/payment_links","href":"/api/payments/payment-links/customise-payment-methods"},{"title":"Customise Payment Methods - Options and Config Parameters","api":"POST /v1/payment_links","href":"/api/payments/payment-links/customise-options-config"},{"title":"Rename Labels in Checkout Section","api":"POST /v1/payment_links","href":"/api/payments/payment-links/rename-checkout-labels"},{"title":"Rename Labels in Payment Details Section","api":"POST /v1/payment_links","href":"/api/payments/payment-links/rename-payment-details-labels"},{"title":"Offers on Payment Links","api":"POST /v1/payment_links","href":"/api/payments/payment-links/offers"},{"title":"Transfer Payments Received Using Payment Links","api":"POST /v1/payment_links","href":"/api/payments/payment-links/transfer-payments"},{"title":"Perform Third-Party Validation Using Payment Links","api":"POST /v1/payment_links","href":"/api/payments/payment-links/third-party-validation"}]},{"group":"QR Codes","pages":[{"title":"QR Codes","href":"/api/qr-codes"},{"title":"QR Codes Entity","href":"/api/qr-codes/entity"},{"title":"Create a QR Code","api":"POST /v1/payments/qr_codes","href":"/api/qr-codes/create"},{"title":"Close a QR Code","api":"POST /v1/payments/qr_codes/:id/close","href":"/api/qr-codes/close"},{"title":"Fetch All QR Codes","api":"GET /v1/payments/qr_codes?count=2","href":"/api/qr-codes/fetch-all"},{"title":"Fetch a QR Code","api":"GET /v1/payments/qr_codes/:id","href":"/api/qr-codes/fetch-with-id"},{"title":"Fetch QR Codes for a Customer ID","api":"GET /v1/payments/qr_codes?customer_id=\\{customer_id\\}","href":"/api/qr-codes/fetch-customer-id"},{"title":"Fetch QR Codes for a Payment ID","api":"GET /v1/payments/qr_codes?payment_id=\\{payment_id\\}","href":"/api/qr-codes/fetch-payment-id"},{"title":"Fetch Payments for a QR Code","api":"GET /v1/payments/qr_codes/:id/payments","href":"/api/qr-codes/fetch-payments"},{"title":"Update a QR Code","api":"PATCH /v1/payments/qr_codes/:id/","href":"/api/qr-codes/update"}]},{"group":"Invoices","pages":[{"title":"Invoices","href":"/api/payments/invoices"},{"title":"Invoices Entity","href":"/api/payments/invoices/entity"},{"title":"Create an Invoice With Customer ID","api":"POST /v1/invoices","href":"/api/payments/invoices/create-with-customer-id"},{"title":"Create an Invoice With Customer Details","api":"POST /v1/invoices","href":"/api/payments/invoices/create-with-details"},{"title":"Update an Invoice","api":"PATCH /v1/invoices/:id","href":"/api/payments/invoices/update"},{"title":"Issue an Invoice","api":"POST /v1/invoices/:id/issue","href":"/api/payments/invoices/issue"},{"title":"Delete an Invoice","api":"DELETE /v1/invoices/:id","href":"/api/payments/invoices/delete"},{"title":"Cancel an Invoice","api":"POST /v1/invoices/:id/cancel","href":"/api/payments/invoices/cancel"},{"title":"Fetch an Invoice With ID","api":"GET /v1/invoices/:id","href":"/api/payments/invoices/fetch-with-id"},{"title":"Fetch All Invoices","api":"GET /v1/invoices","href":"/api/payments/invoices/fetch-all"},{"title":"Send Notifications","api":"POST /v1/invoices/:id/notify_by/:medium","href":"/api/payments/invoices/resend"},{"title":"Items Entity","href":"/api/payments/invoices/item-entity"},{"title":"Create an Item","api":"POST /v1/items","href":"/api/payments/invoices/create-item"},{"title":"Fetch Item With ID","api":"GET /v1/items/:id","href":"/api/payments/invoices/fetch-with-id-item"},{"title":"Fetch All Items","api":"GET /v1/items","href":"/api/payments/invoices/fetch-all-items"},{"title":"Update an Item","api":"PATCH /v1/items/:id","href":"/api/payments/invoices/update-item"},{"title":"Delete an Item","api":"DELETE /v1/items/:id","href":"/api/payments/invoices/delete-item"}]},{"group":"Subscriptions","pages":[{"title":"Subscriptions","href":"/api/payments/subscriptions"},{"title":"Plans Entity","href":"/api/payments/subscriptions/plans-entity"},{"title":"Create a Plan","api":"POST /v1/plans","href":"/api/payments/subscriptions/create-plan"},{"title":"Fetch All Plans","api":"GET /v1/plans","href":"/api/payments/subscriptions/fetch-all-plans"},{"title":"Fetch a Plan With ID","api":"GET /v1/plans/:id","href":"/api/payments/subscriptions/fetch-a-plan"},{"title":"Subscriptions Entity","href":"/api/payments/subscriptions/entity"},{"title":"Create a Subscription","api":"POST /v1/subscriptions","href":"/api/payments/subscriptions/create-subscription"},{"title":"Create a Subscription Link","api":"POST /v1/subscriptions","href":"/api/payments/subscriptions/create-subscription-link"},{"title":"Fetch All Subscriptions","api":"GET /v1/subscriptions","href":"/api/payments/subscriptions/fetch-subscriptions"},{"title":"Fetch a Subscription With ID","api":"GET /v1/subscriptions/:id","href":"/api/payments/subscriptions/fetch-subscription-id"},{"title":"Cancel a Subscription","api":"POST /v1/subscriptions/:id/cancel","href":"/api/payments/subscriptions/cancel-subscription"},{"title":"Update a Subscription","api":"PATCH /v1/subscriptions/:id","href":"/api/payments/subscriptions/update-subscription"},{"title":"Fetch Details of a Pending Update","api":"GET /v1/subscriptions/:id/retrieve_scheduled_changes","href":"/api/payments/subscriptions/fetch-pending-update-details"},{"title":"Cancel an Update","api":"POST /v1/subscriptions/:id/cancel_scheduled_changes","href":"/api/payments/subscriptions/cancel-update"},{"title":"Pause a Subscription","api":"POST /v1/subscriptions/:id/pause","href":"/api/payments/subscriptions/pause-subscription"},{"title":"Resume a Subscription","api":"POST /v1/subscriptions/:id/resume","href":"/api/payments/subscriptions/resume-subscription"},{"title":"Fetch All Invoices of a Subscription","api":"GET /v1/invoices?subscription_id=:sub_id","href":"/api/payments/subscriptions/fetch-invoices"},{"title":"Link an Offer to a Subscription","api":"POST /v1/subscriptions","href":"/api/payments/subscriptions/link-offer"},{"title":"Delete an Offer Linked to a Subscription","api":"DELETE /v1/subscriptions/:sub_id/:offer_id","href":"/api/payments/subscriptions/delete-offer"}]},{"group":"Recurring Payments","root":{"title":"Recurring Payments API","sidebarTitle":"Recurring Payments","href":"/api/payments/recurring-payments"},"pages":[{"title":"Postman Collection","href":"/api/payments/recurring-payments/postman-collection"},{"group":"Emandate","pages":[{"title":"1. Create the Authorisation Transaction","href":"/api/payments/recurring-payments/emandate/create-authorization-transaction"},{"title":"2. Fetch and Manage Tokens","href":"/api/payments/recurring-payments/emandate/tokens"},{"title":"3. Create Subsequent Payments","href":"/api/payments/recurring-payments/emandate/create-subsequent-payments"}]},{"group":"Cards","pages":[{"title":"1. Create the Authorisation Transaction","href":"/api/payments/recurring-payments/cards/create-authorization-transaction"},{"title":"2. Fetch and Manage Tokens","href":"/api/payments/recurring-payments/cards/tokens"},{"title":"3. Create Subsequent Payments","href":"/api/payments/recurring-payments/cards/create-subsequent-payments"}]},{"group":"Wallets","pages":[{"title":"1. Create the Authorisation Transaction","href":"/api/payments/recurring-payments/wallets/create-authorization-transaction"},{"title":"2. Fetch and Manage Tokens","href":"/api/payments/recurring-payments/wallets/tokens"},{"title":"3. Create Subsequent Payments","href":"/api/payments/recurring-payments/wallets/create-subsequent-payments"}]},{"group":"Paper NACH","pages":[{"title":"1. Create the Authorisation Transaction","href":"/api/payments/recurring-payments/paper-nach/create-authorization-transaction"},{"title":"2. Fetch and Manage Tokens","href":"/api/payments/recurring-payments/paper-nach/tokens"},{"title":"3. Create Subsequent Payments","href":"/api/payments/recurring-payments/paper-nach/create-subsequent-payments"}]},{"group":"UPI Autopay","pages":[{"group":"UPI","pages":[{"title":"1. Create an Authorisation Transaction","href":"/api/payments/recurring-payments/upi/create-authorization-transaction"},{"title":"2. Fetch and Manage Tokens","href":"/api/payments/recurring-payments/upi/tokens"},{"title":"3. Create Subsequent Payments","href":"/api/payments/recurring-payments/upi/create-subsequent-payments"}]},{"group":"UPI with TPV","pages":[{"title":"1. Create the Authorisation Transaction","href":"/api/payments/recurring-payments/upi-tpv/create-authorization-transaction"},{"title":"2. Fetch and Manage Tokens","href":"/api/payments/recurring-payments/upi-tpv/tokens"},{"title":"3. Create Subsequent Payments","href":"/api/payments/recurring-payments/upi-tpv/create-subsequent-payments"}]},{"group":"UPI One Time Mandate","pages":[{"title":"1. Create the Authorisation Transaction","href":"/api/payments/recurring-payments/upi-otm/authorization-transaction"},{"title":"2. Fetch and Manage Tokens","href":"/api/payments/recurring-payments/upi-otm/tokens"},{"title":"3. Create a One Time Payment","href":"/api/payments/recurring-payments/upi-otm/one-time-payment"},{"title":"Frequently Asked Questions (FAQs)","href":"/api/payments/recurring-payments/upi-otm/faqs"}]},{"group":"UPI Reserve Pay (SBMD)","pages":[{"title":"1. Create the Authorisation Transaction","href":"/api/payments/recurring-payments/upi-reserve-pay/authorization-transaction"},{"title":"2. Fetch and Manage Tokens","href":"/api/payments/recurring-payments/upi-reserve-pay/tokens"},{"title":"3. Create a One Time Payment","href":"/api/payments/recurring-payments/upi-reserve-pay/one-time-payment"}]}]},{"group":"Registration and Charge First Payment Together","pages":[{"title":"Charge First Payment Automatically after Emandate Registration","sidebarTitle":"Emandate","href":"/api/payments/recurring-payments/emandate/auto-debit"},{"title":"Charge First Payment Automatically after NACH Registration","sidebarTitle":"Paper NACH","href":"/api/payments/recurring-payments/paper-nach/auto-debit"}]},{"title":"Webhooks","href":"/api/payments/recurring-payments/webhooks"},{"group":"Custom Integration","root":{"title":"Recurring Payments API - Custom Integration","href":"/api/payments/recurring-payments/custom"},"pages":[{"title":"Postman Collection","sidebarTitle":"Postman Collection","href":"/api/payments/recurring-payments/custom/postman-collection"},{"group":"UPI Autopay","pages":[{"group":"UPI","pages":[{"title":"1. Create the Authorisation Transaction","href":"/api/payments/recurring-payments/custom/upi/create-authorization-transaction"},{"title":"2. Fetch and Manage Tokens","href":"/api/payments/recurring-payments/custom/upi/tokens"},{"title":"3. Create Subsequent Payments","href":"/api/payments/recurring-payments/custom/upi/create-subsequent-payments"}]},{"group":"UPI with TPV","pages":[{"title":"1. Create the Authorisation Transaction","href":"/api/payments/recurring-payments/custom/upi-tpv/create-authorization-transaction"},{"title":"2. Fetch and Manage Tokens","href":"/api/payments/recurring-payments/custom/upi-tpv/tokens"},{"title":"3. Create Subsequent Payments","href":"/api/payments/recurring-payments/custom/upi-tpv/create-subsequent-payments"}]},{"group":"UPI One Time Mandate","pages":[{"title":"1. Create the Authorisation Transaction","href":"/api/payments/recurring-payments/custom/upi-otm/create-authorization-transaction"},{"title":"2. Fetch and Manage Tokens","href":"/api/payments/recurring-payments/custom/upi-otm/tokens"},{"title":"3. Create a One Time Payment","href":"/api/payments/recurring-payments/custom/upi-otm/one-time-payment"}]},{"group":"UPI Reserve Pay (SBMD)","pages":[{"title":"1. Create the Authorisation Transaction","href":"/api/payments/recurring-payments/custom/upi-reserve-pay/create-authorization-transaction"},{"title":"2. Fetch and Manage Tokens","href":"/api/payments/recurring-payments/custom/upi-reserve-pay/tokens"},{"title":"3. Create a One Time Payment","href":"/api/payments/recurring-payments/custom/upi-reserve-pay/one-time-payment"}]}]},{"group":"Cards","pages":[{"title":"1. Create the Authorisation Transaction","href":"/api/payments/recurring-payments/custom/cards/create-authorization-transaction"},{"title":"2. Fetch and Manage Tokens","href":"/api/payments/recurring-payments/custom/cards/tokens"},{"title":"3. Create Subsequent Payments","href":"/api/payments/recurring-payments/custom/cards/create-subsequent-payments"}]},{"group":"Emandate","pages":[{"title":"1. Create the Authorisation Transaction","href":"/api/payments/recurring-payments/custom/emandate/create-authorization-transaction"},{"title":"2. Fetch and Manage Tokens","href":"/api/payments/recurring-payments/custom/emandate/tokens"},{"title":"3. Create Subsequent Payments","href":"/api/payments/recurring-payments/custom/emandate/create-subsequent-payments"}]},{"group":"Paper NACH","pages":[{"title":"1. Create the Authorisation Transaction","href":"/api/payments/recurring-payments/custom/paper-nach/create-authorization-transaction"},{"title":"2. Fetch and Manage Tokens","href":"/api/payments/recurring-payments/custom/paper-nach/tokens"},{"title":"3. Create Subsequent Payments","href":"/api/payments/recurring-payments/custom/paper-nach/create-subsequent-payments"}]},{"group":"Registration and Charge First Payment Together","pages":[{"title":"Charge First Payment Automatically after Emandate Registration","sidebarTitle":"Emandate","href":"/api/payments/recurring-payments/custom/emandate/auto-debit"},{"title":"Charge First Payment Automatically after NACH Registration","sidebarTitle":"Paper NACH","href":"/api/payments/recurring-payments/custom/paper-nach/auto-debit"}]},{"title":"Webhooks","href":"/api/payments/recurring-payments/custom/webhooks"}]}]},{"group":"Route","pages":[{"title":"Route","href":"/api/payments/route"},{"title":"Linked Account Entity","href":"/api/payments/route/linked-account-entity"},{"title":"Create a Linked Account","api":"POST /v2/accounts","href":"/api/payments/route/create-linked-account"},{"title":"Create a Linked Account (Composite)","api":"POST /v2/accounts","href":"/api/payments/route/create-linked-account-composite"},{"title":"Update a Linked Account","api":"PATCH /v2/accounts/:account_id","href":"/api/payments/route/update-linked-accounts"},{"title":"Fetch a Linked Account With ID","api":"GET /v2/accounts/:account_id","href":"/api/payments/route/fetch-with-id"},{"title":"Stakeholder Entity","href":"/api/payments/route/stakeholder-entity"},{"title":"Create a Stakeholder Account","api":"POST /v2/accounts/:account_id/stakeholders","href":"/api/payments/route/create-stakeholder"},{"title":"Update a Stakeholder Account","api":"PATCH /v2/accounts/:account_id/stakeholders/:stakeholder_id","href":"/api/payments/route/update-stakeholder"},{"title":"Product Configuration Entity","href":"/api/payments/route/product-configuration-entity"},{"title":"Request a Product Configuration","api":"POST /v2/accounts/:account_id/products","href":"/api/payments/route/request-product-config"},{"title":"Update a Product Configuration","api":"PATCH /v2/accounts/:account_id/products/:product_id","href":"/api/payments/route/update-product-config"},{"title":"Fetch a Product Configuration","api":"GET /v2/accounts/:account_id/products/:product_id","href":"/api/payments/route/fetch-product-config"},{"title":"Transfers Entity","href":"/api/payments/route/transfers-entity"},{"title":"Create Transfers From Orders","api":"POST /v1/orders","href":"/api/payments/route/create-transfers-orders"},{"title":"Create Transfers From Payments","api":"POST /v1/payments/:id/transfers","href":"/api/payments/route/create-transfers-payments"},{"title":"Create a Direct Transfer","api":"POST /v1/transfers","href":"/api/payments/route/direct-transfers"},{"title":"Create a Direct Transfer (Idempotent Request)","api":"POST /v1/transfers","href":"/api/payments/route/direct-transfers-idempotent-request"},{"title":"Fetch Transfers for a Payment","api":"GET /v1/payments/:id/transfers","href":"/api/payments/route/fetch-transfers-payment"},{"title":"Fetch Transfer for an Order","api":"GET /v1/orders/:id/?expand[]=transfers\u0026status=processing","href":"/api/payments/route/fetch-transfer-order"},{"title":"Fetch a Transfer With ID","api":"GET /v1/transfers/:id","href":"/api/payments/route/fetch-a-transfer"},{"title":"Fetch Transfers for a Settlement","api":"GET /v1/transfers?recipient_settlement_id=:id","href":"/api/payments/route/fetch-transfers-for-a-settlement"},{"title":"Fetch Settlement Details","api":"GET /v1/transfers?expand[]=recipient_settlement","href":"/api/payments/route/fetch-settlement-details"},{"title":"Fetch Payments of a Linked Account","api":"GET /v1/payments/","href":"/api/payments/route/fetch-payments-linked-account"},{"title":"Refund Payments and Reverse Transfer from a Linked Account","api":"POST /v1/payments/:id/refund","href":"/api/payments/route/refund-payments-and-reverse-transfer"},{"title":"Reverse a Transfer","api":"POST /v1/transfers/:id/reversals","href":"/api/payments/route/reverse-a-transfer"},{"title":"Fetch Reversals for a Transfer","api":"GET /v1/transfers/:id/reversals","href":"/api/payments/route/fetch-reversals"},{"title":"Modify Settlement Hold for Transfers","api":"PATCH /v1/transfers/:id","href":"/api/payments/route/modify-settlement-hold"}]},{"group":"Smart Collect","pages":[{"title":"Smart Collect","href":"/api/payments/smart-collect"},{"title":"Smart Collect Entity","href":"/api/payments/smart-collect/entity"},{"title":"Create a Customer Identifier With Bank Account Receiver","api":"POST /v1/virtual_accounts","href":"/api/payments/smart-collect/create-cust-id-bank-account"},{"title":"Close a Customer Identifier","api":"POST /v1/virtual_accounts/:id/close","href":"/api/payments/smart-collect/close"},{"title":"Fetch a Customer Identifier Using id","api":"GET /v1/virtual_accounts/:id","href":"/api/payments/smart-collect/fetch-with-id"},{"title":"Fetch All Customer Identifiers","api":"GET /v1/virtual_accounts","href":"/api/payments/smart-collect/fetch-all"},{"title":"Fetch Payments for a Customer Identifier","api":"GET /v1/virtual_accounts/:id/payments","href":"/api/payments/smart-collect/fetch-payments-cust-id"},{"title":"Fetch Payments Made Using Bank Transfer","api":"GET /v1/payments/:id/bank_transfer","href":"/api/payments/smart-collect/fetch-payments-bank-transfer"},{"title":"Fetch Payments Using UTR Number","api":"GET /v1/payments?skip=0\u0026count=25\u0026va_transaction_id=:id\u0026virtual_account=1","href":"/api/payments/smart-collect/fetch-payments-bank-transfer-utr"},{"title":"Update a Customer Identifier","api":"PATCH /v1/virtual_accounts/:id","href":"/api/payments/smart-collect/update"},{"title":"Smart Collect With TPV","sidebarTitle":"Smart Collect TPV","href":"/api/payments/smart-collect-tpv"},{"title":"Smart Collect With TPV Entity","href":"/api/payments/smart-collect-tpv/entity"},{"title":"Create a Customer Identifier With TPV","api":"POST /v1/virtual_accounts","href":"/api/payments/smart-collect-tpv/create"},{"title":"Add an Allowed Payer Account","api":"POST /v1/virtual_accounts/:va_id/allowed_payers","href":"/api/payments/smart-collect-tpv/add-allowed-payer"},{"title":"Fetch a Customer Identifier Using id With TPV","api":"GET /v1/virtual_accounts/:id","href":"/api/payments/smart-collect-tpv/fetch-with-id"},{"title":"Fetch All Customer Identifiers With TPV","api":"GET /v1/virtual_accounts","href":"/api/payments/smart-collect-tpv/fetch-all"},{"title":"Fetch Payments for a Customer Identifier With TPV","api":"GET /v1/virtual_accounts/:id/payments","href":"/api/payments/smart-collect-tpv/fetch-payments"},{"title":"Fetch Payment Details using ID and Transfer Method","api":"GET /v1/payments/:id/bank_transfer","href":"/api/payments/smart-collect-tpv/fetch-payment-id-transfer"},{"title":"Delete an Allowed Payer Account","api":"DELETE /v1/virtual_accounts/:va_id/allowed_payers/:id","href":"/api/payments/smart-collect-tpv/delete-allowed-payer"},{"title":"Smart Collect 2.0 APIs","sidebarTitle":"Smart Collect 2.0","href":"/api/payments/smart-collect-2"},{"title":"Smart Collect 2.0 Entity","href":"/api/payments/smart-collect-2/entity"},{"title":"Create a Customer Identifier With VPA and Bank Account Receivers With Smart Collect 2.0","api":"POST /v1/virtual_accounts","href":"/api/payments/smart-collect-2/create-cust-id-bank-account-vpa"},{"title":"Add VPA Receiver to an Existing Customer Identifier","api":"POST /v1/virtual_accounts/:id/receivers","href":"/api/payments/smart-collect-2/add-receiver-vpa"},{"title":"Fetch Payments Made Using UPI Payment Method","api":"GET /v1/payments/:id/upi_transfer","href":"/api/payments/smart-collect-2/fetch-payments-upi"}]}]},{"group":"Bills","root":{"title":"About Bills","href":"/api/bills"},"pages":[{"title":"Bills Entity","href":"/api/bills/entity"},{"title":"Create a Bill","api":"POST /v1/bills","href":"/api/bills/create"},{"title":"Update a Bill","api":"PATCH /v1/bills/:bill_id","href":"/api/bills/update"},{"title":"Delete a Bill","api":"DELETE /v1/bills/:bill_id","href":"/api/bills/delete"}]},{"group":"Partners","root":{"title":"Partner APIs","href":"/api/partners"},"pages":[{"group":"Account","pages":[{"title":"Account","href":"/api/partners/account-onboarding"},{"title":"Account Entity","href":"/api/partners/account-onboarding/entity"},{"title":"Create an Account","api":"POST /v2/accounts","href":"/api/partners/account-onboarding/create"},{"title":"Fetch an Account","api":"GET /v2/accounts/:account_id","href":"/api/partners/account-onboarding/fetch"},{"title":"Update an Account","api":"PATCH /v2/accounts/:account_id","href":"/api/partners/account-onboarding/update"},{"title":"Delete an Account","api":"DELETE /v2/accounts/:account_id","href":"/api/partners/account-onboarding/delete"}]},{"group":"Product Configuration","pages":[{"title":"Product Configuration APIs","sidebarTitle":"Product Configuration","href":"/api/partners/product-configuration"},{"title":"Product Configuration Entity","href":"/api/partners/product-configuration/entity"},{"title":"Request a Product Configuration","api":"POST /v2/accounts/:account_id/products","href":"/api/partners/product-configuration/request"},{"title":"Fetch a Product Configuration","api":"GET /v2/accounts/:account_id/products/:product_id","href":"/api/partners/product-configuration/fetch"},{"title":"Update Settlement Account Details","api":"PATCH /v2/accounts/:account_id/products/:product_id","href":"/api/partners/product-configuration/update-settlement-account-details"},{"title":"Request Payment Methods","api":"PATCH /v2/accounts/:account_id/products/:product_id","href":"/api/partners/product-configuration/update-request-payment-methods"}]},{"group":"Stakeholder","pages":[{"title":"Stakeholder APIs","sidebarTitle":"Stakeholder","href":"/api/partners/stakeholder"},{"title":"Stakeholder Entity","href":"/api/partners/stakeholder/entity"},{"title":"Create a Stakeholder","api":"POST /v2/accounts/:account_id/stakeholders","href":"/api/partners/stakeholder/create"},{"title":"Fetch a Stakeholder With ID","api":"GET /v2/accounts/:account_id/stakeholders/:stakeholder_id","href":"/api/partners/stakeholder/fetch-with-id"},{"title":"Fetch All Stakeholders","api":"GET /v2/accounts/:account_id/stakeholders","href":"/api/partners/stakeholder/fetch-all"},{"title":"Update a Stakeholder","api":"PATCH /v2/accounts/:account_id/stakeholders/:stakeholder_id","href":"/api/partners/stakeholder/update"}]},{"group":"Documents","pages":[{"title":"Document APIs","sidebarTitle":"Documents","href":"/api/partners/upload-document"},{"title":"Upload Account Documents","api":"POST /v2/accounts/:account_id/documents","href":"/api/partners/upload-document/upload-account-documents"},{"title":"Upload Stakeholder Documents","api":"POST /v2/accounts/:account_id/stakeholders/:stakeholder_id/documents","href":"/api/partners/upload-document/upload-stakeholder-documents"},{"title":"Fetch Account Documents","api":"GET /v2/accounts/:account_id/documents","href":"/api/partners/upload-document/fetch-account-documents"},{"title":"Fetch Stakeholder Documents","api":"GET /v2/accounts/:account_id/stakeholders/:stakeholder_id/documents","href":"/api/partners/upload-document/fetch-stakeholder-documents"}]},{"group":"Webhooks","pages":[{"title":"Webhooks","href":"/api/partners/webhooks"},{"title":"Webhooks Entity","href":"/api/partners/webhooks/entity"},{"title":"Create a Webhook","api":"POST /v2/accounts/:account_id/webhooks","href":"/api/partners/webhooks/create"},{"title":"Fetch a Webhook With ID","api":"GET /v2/accounts/:account_id/webhooks/:webhook_id","href":"/api/partners/webhooks/fetch-with-id"},{"title":"Fetch All Webhooks","api":"GET /v2/accounts/:account_id/webhooks","href":"/api/partners/webhooks/fetch-all"},{"title":"Update a Webhook","api":"PATCH /v2/accounts/:account_id/webhooks/:webhook_id","href":"/api/partners/webhooks/update"},{"title":"Delete a Webhook","api":"DELETE /v2/accounts/:account_id/webhooks/:webhook_id","href":"/api/partners/webhooks/delete"}]}]},{"group":"Payouts","root":{"title":"Get Started","href":"/api/x"},"pages":[{"group":"Account Validation","pages":[{"title":"Account Validation","href":"/api/x/account-validation"},{"title":"Account Validation Entity","href":"/api/x/account-validation/entity"},{"title":"Create a Contact","api":"POST /v1/contacts","href":"/api/x/account-validation/create-contact"},{"title":"Create a Fund Account of Type Bank Account","api":"POST /v1/fund_accounts","href":"/api/x/account-validation/bank-account/create-fund-account"},{"title":"Validate a Bank Account","api":"POST /v1/fund_accounts/validations","href":"/api/x/account-validation/bank-account"},{"title":"Create a Fund Account of Type VPA","api":"POST /v1/fund_accounts","href":"/api/x/account-validation/vpa/create-fund-account"},{"title":"Validate a VPA","api":"POST /v1/fund_accounts/validations","href":"/api/x/account-validation/vpa"},{"title":"Validate Bank Account (VPA) via Reverse Penny Drop","api":"POST /v1/fund_accounts/validations","href":"/api/x/account-validation/reverse-penny-drop"},{"title":"Fetch All Account Validation Transactions","api":"GET /v1/fund_accounts/validations?account_number=:account_number","href":"/api/x/account-validation/fetch-all-transactions"},{"title":"Fetch Account Validation Transaction With ID","api":"GET /v1/fund_accounts/validations/:id","href":"/api/x/account-validation/fetch-transactions-with-id"}]},{"group":"Composite Account Validation","pages":[{"title":"Account Validation Composite","sidebarTitle":"Composite Account Validation","href":"/api/x/composite-account-validation"},{"title":"Validate a Bank Account","api":"POST /v1/fund_accounts/validations","href":"/api/x/composite-account-validation/bank-account"},{"title":"Validate a VPA","api":"POST /v1/fund_accounts/validations","href":"/api/x/composite-account-validation/vpa"},{"title":"Fetch All Account Validation Transactions","api":"GET /v1/fund_accounts/validations?account_number=:account_number","href":"/api/x/composite-account-validation/fetch-all-transactions"},{"title":"Fetch Account Validation Transaction With ID","api":"GET /v1/fund_accounts/validations/:id","href":"/api/x/composite-account-validation/fetch-transactions-with-id"}]},{"group":"Contacts","pages":[{"title":"Contacts","href":"/api/x/contacts"},{"title":"Contacts Entity","href":"/api/x/contacts/entity"},{"title":"Create a Contact","api":"POST /v1/contacts","href":"/api/x/contacts/create"},{"title":"Update a Contact","api":"PATCH /v1/contacts/:id","href":"/api/x/contacts/update"},{"title":"Fetch All Contacts","api":"GET /v1/contacts","href":"/api/x/contacts/fetch-all"},{"title":"Fetch Contact With ID","api":"GET /v1/contacts/:id","href":"/api/x/contacts/fetch-with-id"},{"title":"Activate or Deactivate a Contact","api":"PATCH /v1/contacts/:id","href":"/api/x/contacts/activate-or-deactivate"}]},{"group":"Fund Accounts","pages":[{"title":"Fund Accounts","href":"/api/x/fund-accounts"},{"title":"Fund Accounts Entity","href":"/api/x/fund-accounts/entity"},{"title":"Create a Fund Account of Type Bank Account","api":"POST /v1/fund_accounts","href":"/api/x/fund-accounts/create/bank-account"},{"title":"Create a Fund Account of Type VPA","api":"POST /v1/fund_accounts","href":"/api/x/fund-accounts/create/vpa"},{"title":"Fetch All Fund Accounts","api":"GET /v1/fund_accounts","href":"/api/x/fund-accounts/fetch-all"},{"title":"Fetch a Fund Account With ID","api":"GET /v1/fund_accounts/:id","href":"/api/x/fund-accounts/fetch-with-id"},{"title":"Activate or Deactivate a Fund Account","api":"PATCH /v1/fund_accounts/:id","href":"/api/x/fund-accounts/activate-or-deactivate"}]},{"group":"Create and Manage Payouts","pages":[{"title":"Payouts","href":"/api/x/payouts"},{"title":"Payouts Entity","href":"/api/x/payouts/entity"},{"title":"Create a Payout to a Bank Account","api":"POST /v1/payouts","href":"/api/x/payouts/create/bank-account"},{"title":"Create a Payout to a VPA","api":"POST /v1/payouts","href":"/api/x/payouts/create/vpa"},{"title":"Fetch All Payouts","api":"GET /v1/payouts?account_number=:account_number","href":"/api/x/payouts/fetch-all"},{"title":"Fetch Payout With ID","api":"GET /v1/payouts/:id","href":"/api/x/payouts/fetch-with-id"},{"title":"Cancel a Queued Payout","api":"POST /v1/payouts/:id/cancel","href":"/api/x/payouts/cancel"}]},{"group":"Payouts to Cards","pages":[{"title":"Payouts to Cards","href":"/api/x/payouts-cards"},{"title":"Payouts to Cards Entity","href":"/api/x/payouts-cards/entity"},{"title":"Create a Payout Without Saving Card","api":"POST /v1/payouts","href":"/api/x/payouts-cards/create/without-saving-card"},{"title":"Create a Fund Account for Externally Tokenised Card","api":"POST /v1/fund_accounts","href":"/api/x/payouts-cards/create/save-card/external-token/fund-account"},{"title":"Create a Payout to Externally Tokenised Card","api":"POST /v1/payouts","href":"/api/x/payouts-cards/create/save-card/external-token/payout"},{"title":"Create a Fund Account for Card with Razorpay TokenHQ","api":"POST /v1/fund_accounts","href":"/api/x/payouts-cards/create/save-card/razorpay-tokenhq/fund-account"},{"title":"Create a Payout to Card with Razorpay TokenHQ","api":"POST /v1/payouts","href":"/api/x/payouts-cards/create/save-card/razorpay-tokenhq/payout"}]},{"group":"Payout Composite","pages":[{"title":"Payout Composite","href":"/api/x/payout-composite"},{"title":"Payout Composite Entity","href":"/api/x/payout-composite/entity"},{"title":"Create a Payout to Bank Account Using Composite API","api":"POST /v1/payouts","href":"/api/x/payout-composite/create/bank-account"},{"title":"Create a Payout to VPA Using Composite API","api":"POST /v1/payouts","href":"/api/x/payout-composite/create/vpa"},{"title":"Create a Payout to a Mobile Number Using Composite API","api":"POST /v1/payouts","href":"/api/x/payout-composite/create/phone-number"},{"title":"Create a Payout to Card Using Composite API","api":"POST /v1/payouts","href":"/api/x/payout-composite/create/card"}]},{"group":"Payouts Approval","pages":[{"title":"Payouts Approval","href":"/api/x/payouts-approval"},{"title":"Payouts Approval Entity","href":"/api/x/payouts-approval/entity"},{"title":"Approve Payouts","api":"POST /v1/payouts/:id/approve","href":"/api/x/payouts-approval/approve"},{"title":"Reject Payouts","api":"POST /v1/payouts/:id/reject","href":"/api/x/payouts-approval/reject"}]},{"group":"Payout Idempotency","pages":[{"title":"Payout Idempotency","href":"/api/x/payout-idempotency"},{"title":"Make a Request Idempotent","api":"POST /v1/payouts","href":"/api/x/payout-idempotency/make-request"}]},{"group":"Payout Links","pages":[{"title":"Payout Links","href":"/api/x/payout-links"},{"title":"Payout Links Entity","href":"/api/x/payout-links/entity"},{"title":"Create Payout Links Using Contact Details","api":"POST /v1/payout-links","href":"/api/x/payout-links/create/use-contact-details"},{"title":"Create Payout Links Using Contact ID","api":"POST /v1/payout-links","href":"/api/x/payout-links/create/use-contact-id"},{"title":"Fetch All Payout Links","api":"GET /v1/payout-links","href":"/api/x/payout-links/fetch-all"},{"title":"Fetch a Payout Link With ID","api":"GET v1/payout-links/:id?expand[l=payouts","href":"/api/x/payout-links/fetch-with-id"},{"title":"Cancel a Payout Link","api":"POST /v1/payout-links/:id/cancel","href":"/api/x/payout-links/cancel"}]},{"group":"Payout Wallet - Amazon","pages":[{"title":"Payout Wallet - Amazon","href":"/api/x/payout-wallet"},{"title":"Payout Wallet - Amazon Entity","href":"/api/x/payout-wallet/entity"},{"title":"Create a Contact","api":"POST /v1/contacts/","href":"/api/x/payout-wallet/create/contact"},{"title":"Create a Fund Account of Type Wallet","api":"POST /v1/fund-accounts/","href":"/api/x/payout-wallet/create/fund-account"},{"title":"Create a Payout to Amazon Pay Wallet","api":"POST /v1/payouts","href":"/api/x/payout-wallet/create/payout"},{"title":"Make Payouts to Amazon Pay Wallet Using Composite API","api":"POST /v1/payouts","href":"/api/x/payout-wallet/create/payout-composite"}]},{"group":"Balance","pages":[{"title":"Fetch Balance","api":"GET /v1/banking_balances","href":"/api/x/account-validation/balance-fetch"}]},{"group":"Transactions","pages":[{"title":"Transactions","href":"/api/x/transactions"},{"title":"Transactions Entity","href":"/api/x/transactions/entity"},{"title":"Fetch All Transactions","api":"GET /v1/transactions?account_number=:account_number","href":"/api/x/transactions/fetch-all"},{"title":"Fetch Transactions With ID","api":"GET /v1/transactions/:id","href":"/api/x/transactions/fetch-with-id"}]}]}]},{"tab":"Developer Tools","icon":"screwdriver-wrench","pages":[{"title":"Developer Tools","href":"/developer-tools"}]},{"tab":"RBI Directive on Recurring Card Payments","hidden":true,"pages":[{"title":"RBI Directive on Recurring Card Payments","href":"/announcements/rbi-card-mandate-guidelines/recurring-payments"}]},{"tab":"RBI Directive on Card Payments for Subscriptions","hidden":true,"pages":[{"title":"RBI Directive on Card Payments for Subscriptions","href":"/announcements/rbi-card-mandate-guidelines/subscriptions"}]},{"tab":"Announcement Regarding TLS","hidden":true,"pages":[{"title":"Announcement Regarding TLS","href":"/announcements/tls"}]},{"tab":"Apple Pay S2S Flows","hidden":true,"pages":[{"title":"Apple Pay S2S Flows","href":"/payments/payment-methods/apple-pay/server-to-server/encrypted-token-flow"}]},{"tab":"Apple Pay S2S Integration","hidden":true,"pages":[{"title":"Apple Pay S2S Integration","href":"/payments/payment-methods/apple-pay/s2s-integration"}]},{"tab":"Bill Payments (BBPS)","hidden":true,"pages":[{"title":"Bill Payments (BBPS)","href":"/api/bills/bill-payments"}]},{"tab":"Products","hidden":true,"pages":[{"title":"Products","href":"/api/orders/products"}]},{"tab":"Terms and Conditions APIs","hidden":true,"pages":[{"title":"Terms and Conditions APIs","href":"/api/partners/terms-conditions"}]},{"tab":"Card Fingerprints (or PAR) API","hidden":true,"pages":[{"title":"Card Fingerprints (or PAR) API","href":"/api/payments/cards/fingerprints"}]},{"tab":"Complaints","hidden":true,"pages":[{"title":"Complaints","href":"/api/payments/tpap-pro/complaints-flow"}]},{"tab":"Customer Onboarding","hidden":true,"pages":[{"title":"Customer Onboarding","href":"/api/payments/tpap-pro/customer-onboarding"}]},{"tab":"Accounts Management","hidden":true,"pages":[{"title":"Accounts Management","href":"/api/payments/tpap-pro/funds-account-management"}]},{"tab":"UPI Lite","hidden":true,"pages":[{"title":"UPI Lite","href":"/api/payments/tpap-pro/fundsource-lite"}]},{"tab":"Mandates","hidden":true,"pages":[{"title":"Mandates","href":"/api/payments/tpap-pro/mandate-flow"}]},{"tab":"Payments (API)","hidden":true,"pages":[{"title":"Payments (API)","href":"/api/payments/tpap-pro/payments-flow"}]},{"tab":"UPI Number","hidden":true,"pages":[{"title":"UPI Number","href":"/api/payments/tpap-pro/upi-number"}]},{"tab":"QR Codes GST APIs","hidden":true,"pages":[{"title":"QR Codes GST APIs","href":"/api/qr-codes/gst"}]},{"tab":"QR Codes (Image Content)","hidden":true,"pages":[{"title":"QR Codes (Image Content)","href":"/api/qr-codes/image-content"}]},{"tab":"Razorpay App Store - Discover App Integrations and Extensions","hidden":true,"pages":[{"title":"Razorpay App Store - Discover App Integrations and Extensions","href":"/app-store"}]},{"tab":"Razorpay POS Error Codes and Troubleshooting","hidden":true,"pages":[{"title":"Razorpay POS Error Codes and Troubleshooting","href":"/errors/pos"}]},{"tab":"About Aggregators","hidden":true,"pages":[{"title":"About Aggregators","href":"/partners/aggregators"}]},{"tab":"COD \u0026 Magic Checkout (formerly Checkout360)","hidden":true,"pages":[{"title":"COD \u0026 Magic Checkout (formerly Checkout360)","href":"/payments/cod-magic-checkout"}]},{"tab":"Configuration","hidden":true,"pages":[{"title":"Configuration","href":"/payments/dashboard/account-settings/configuration"}]},{"tab":"Dynamic Convenience Fees","hidden":true,"pages":[{"title":"Dynamic Convenience Fees","href":"/payments/dynamic-convenience-fees"}]},{"tab":"Integrate Razorpay Payment Button with Ghost CMS","hidden":true,"pages":[{"title":"Integrate Razorpay Payment Button with Ghost CMS","href":"/payments/ecommerce-plugins/ghost-integration"}]},{"tab":"About Insights","hidden":true,"pages":[{"title":"About Insights","href":"/payments/insights"}]},{"tab":"Integrate With Razorpay Import Flow - Custom Integration","hidden":true,"pages":[{"title":"Integrate With Razorpay Import Flow - Custom Integration","href":"/payments/international-payments/accept-international-payments-from-indian-customers/custom-integration"}]},{"tab":"About Razorpay Import Flow Web Standard Integration (Payments)","hidden":true,"pages":[{"title":"About Razorpay Import Flow Web Standard Integration (Payments)","href":"/payments/international-payments/accept-international-payments-from-indian-customers/import-flow/standard-integration"}]},{"tab":"Integrate With Razorpay Import Flow - S2S Integration","hidden":true,"pages":[{"title":"Integrate With Razorpay Import Flow - S2S Integration","href":"/payments/international-payments/accept-international-payments-from-indian-customers/s2s-integration"}]},{"tab":"About Razorpay Import Flow Web Standard Integration (International Payments)","hidden":true,"pages":[{"title":"About Razorpay Import Flow Web Standard Integration (International Payments)","href":"/payments/international-payments/accept-international-payments-from-indian-customers/standard-integration"}]},{"tab":"Outward Remittances for Education and Travel Payments","hidden":true,"pages":[{"title":"Outward Remittances for Education and Travel Payments","href":"/payments/international-payments/outward-remittances"}]},{"tab":"Risk Analytics Dashboard","hidden":true,"pages":[{"title":"Risk Analytics Dashboard","href":"/payments/international-payments/risk-visibility-dashboard"}]},{"tab":"Magic Checkout APIs","hidden":true,"pages":[{"title":"Magic Checkout APIs","href":"/payments/magic-checkout/apis"}]},{"tab":"RTO Intelligence","hidden":true,"pages":[{"title":"RTO Intelligence","href":"/payments/magic-checkout/rto-intelligence"}]},{"tab":"Integrate With Android Custom SDK","hidden":true,"pages":[{"title":"Integrate With Android Custom SDK","href":"/payments/payment-gateway/android-integration/custom"}]},{"tab":"Prerequisites (Payments)","hidden":true,"pages":[{"title":"Prerequisites (Payments)","href":"/payments/payment-gateway/ecommerce-plugins/shopify-razorpay-secure"}]},{"tab":"Eligibility Check API","hidden":true,"pages":[{"title":"Eligibility Check API","href":"/payments/payment-gateway/emi²/eligibility-check"}]},{"tab":"Integrate With Flutter Custom SDK","hidden":true,"pages":[{"title":"Integrate With Flutter Custom SDK","href":"/payments/payment-gateway/flutter-integration/custom"}]},{"tab":"Integrate With iOS Custom SDK","hidden":true,"pages":[{"title":"Integrate With iOS Custom SDK","href":"/payments/payment-gateway/ios-integration/custom"}]},{"tab":"Handle Payment Exceptions with Rainy Day Kit","hidden":true,"pages":[{"title":"Handle Payment Exceptions with Rainy Day Kit","href":"/payments/payment-gateway/rainy-day"}]},{"tab":"Integrate With React Native Custom SDK","hidden":true,"pages":[{"title":"Integrate With React Native Custom SDK","href":"/payments/payment-gateway/react-native-integration/custom"}]},{"tab":"Server-to-Server Integration","hidden":true,"pages":[{"title":"Server-to-Server Integration","href":"/payments/payment-gateway/s2s-integration"}]},{"tab":"Web Integration - Razorpay Custom Checkout","hidden":true,"pages":[{"title":"Web Integration - Razorpay Custom Checkout","href":"/payments/payment-gateway/web-integration/custom/build-integration"}]},{"tab":"PhonePe Switch Integration","hidden":true,"pages":[{"title":"PhonePe Switch Integration","href":"/payments/payment-gateway/web-integration/custom/phonepe-switch"}]},{"tab":"UPI Intent on Mobile Web","hidden":true,"pages":[{"title":"UPI Intent on Mobile Web","href":"/payments/payment-gateway/web-integration/custom/payment-methods/upi-intent-mweb"}]},{"tab":"Save customer card details on Custom Checkout","hidden":true,"pages":[{"title":"Save customer card details on Custom Checkout","href":"/payments/payment-gateway/web-integration/custom/features/saved-cards-old"}]},{"tab":"Prerequisites (Payment Gateway)","hidden":true,"pages":[{"title":"Prerequisites (Payment Gateway)","href":"/payments/payment-gateway/web-integration/hosted"}]},{"tab":"Chargeback on Custom Checkout","hidden":true,"pages":[{"title":"Chargeback on Custom Checkout","href":"/payments/payment-gateway/web-integration/custom/chargeback"}]},{"tab":"Web Integration - Razorpay Standard Checkout","hidden":true,"pages":[{"title":"Web Integration - Razorpay Standard Checkout","href":"/payments/payment-gateway/web-integration/standard/chargeback"}]},{"tab":"Standard Web Integration - Configurability of Payment Methods","hidden":true,"pages":[{"title":"Standard Web Integration - Configurability of Payment Methods","href":"/payments/payment-gateway/web-integration/standard/configure-restrict-payment-methods"}]},{"tab":"About Webview for Mobile Apps","hidden":true,"pages":[{"title":"About Webview for Mobile Apps","href":"/payments/payment-gateway/web-integration/standard/webview"}]},{"tab":"Alipay","hidden":true,"pages":[{"title":"Alipay","href":"/payments/payment-methods/alipay"}]},{"tab":"Pay with Reward Points","hidden":true,"pages":[{"title":"Pay with Reward Points","href":"/payments/payment-methods/apps/reward-points"}]},{"tab":"BharatQR","hidden":true,"pages":[{"title":"BharatQR","href":"/payments/payment-methods/bharatqr"}]},{"tab":"Authentication Type for Cards - Native OTP","hidden":true,"pages":[{"title":"Authentication Type for Cards - Native OTP","href":"/payments/payment-methods/cards/authentication/native-otp"}]},{"tab":"Dynamic Currency Conversion","hidden":true,"pages":[{"title":"Dynamic Currency Conversion","href":"/payments/payment-methods/cards/dynamic-currency-conversion"}]},{"tab":"Google Pay Card Payments","hidden":true,"pages":[{"title":"Google Pay Card Payments","href":"/payments/payment-methods/cards/google-pay"}]},{"tab":"Tokenisation FAQs","hidden":true,"pages":[{"title":"Tokenisation FAQs","href":"/payments/payment-methods/cards/token-hq"}]},{"tab":"DOKU, OVO, and LinkAja","hidden":true,"pages":[{"title":"DOKU, OVO, and LinkAja","href":"/payments/payment-methods/doku-ovo-linkaja"}]},{"tab":"eCOD","hidden":true,"pages":[{"title":"eCOD","href":"/payments/payment-methods/ecod"}]},{"tab":"About Instant EMI Cardless","hidden":true,"pages":[{"title":"About Instant EMI Cardless","href":"/payments/payment-methods/emi/cardless-emi/instant-emi"}]},{"tab":"International Payments - Giropay","hidden":true,"pages":[{"title":"International Payments - Giropay","href":"/payments/payment-methods/giropay"}]},{"tab":"GoPay","hidden":true,"pages":[{"title":"GoPay","href":"/payments/payment-methods/gopay"}]},{"tab":"GrabPay (Malaysia)","hidden":true,"pages":[{"title":"GrabPay (Malaysia)","href":"/payments/payment-methods/grabpay-my"}]},{"tab":"GrabPay (Singapore)","hidden":true,"pages":[{"title":"GrabPay (Singapore)","href":"/payments/payment-methods/grabpay-sg"}]},{"tab":"Klarna","hidden":true,"pages":[{"title":"Klarna","href":"/payments/payment-methods/klarna"}]},{"tab":"International Payments - POLi","hidden":true,"pages":[{"title":"International Payments - POLi","href":"/payments/payment-methods/poli"}]},{"tab":"International Payments - Sofort","hidden":true,"pages":[{"title":"International Payments - Sofort","href":"/payments/payment-methods/sofort"}]},{"tab":"International Payments - Trustly","hidden":true,"pages":[{"title":"International Payments - Trustly","href":"/payments/payment-methods/trustly"}]},{"tab":"UPI QR Code","hidden":true,"pages":[{"title":"UPI QR Code","href":"/payments/payment-methods/upi-qr"}]},{"tab":"Google Spot Platform Integration","hidden":true,"pages":[{"title":"Google Spot Platform Integration","href":"/payments/payment-methods/upi/google-pay/spot-platform-integration"}]},{"tab":"Send GST information in UPI transaction flows","hidden":true,"pages":[{"title":"Send GST information in UPI transaction flows","href":"/payments/payment-methods/upi/gst-on-upi"}]},{"tab":"Zip","hidden":true,"pages":[{"title":"Zip","href":"/payments/payment-methods/zip"}]},{"tab":"Track Payments Using Google Tracking ID and Facebook Pixel","hidden":true,"pages":[{"title":"Track Payments Using Google Tracking ID and Facebook Pixel","href":"/payments/payment-pages/plugins-add-ons"}]},{"tab":"Recurring Payments","hidden":true,"pages":[{"title":"Recurring Payments","href":"/payments/recurring-payments"}]},{"tab":"Account Code","hidden":true,"pages":[{"title":"Account Code","href":"/payments/route/account-code"}]},{"tab":"Direct Settlements","hidden":true,"pages":[{"title":"Direct Settlements","href":"/payments/settlements/direct"}]},{"tab":"Update Expiry Date for an Individual Customer Identifier","hidden":true,"pages":[{"title":"Update Expiry Date for an Individual Customer Identifier","href":"/payments/smart-collect/update-expiry"}]},{"tab":"Razorpay Smart Collect","hidden":true,"pages":[{"title":"Razorpay Smart Collect","href":"/payments/smart-collect/va-vpa-qr"}]},{"tab":"Third-Party Validation (TPV) - Custom Integration","hidden":true,"pages":[{"title":"Third-Party Validation (TPV) - Custom Integration","href":"/payments/third-party-validation/custom-integration"}]},{"tab":"Third-Party Validation (TPV) - S2S Integration","hidden":true,"pages":[{"title":"Third-Party Validation (TPV) - S2S Integration","href":"/payments/third-party-validation/s2s-integration"}]},{"tab":"About TPAP Pro","hidden":true,"pages":[{"title":"About TPAP Pro","href":"/payments/tpap-pro"}]},{"tab":"Razorpay White Label Wallet","hidden":true,"pages":[{"title":"Razorpay White Label Wallet","href":"/payments/wallet"}]},{"tab":"Integrate with HRMS Software","hidden":true,"pages":[{"title":"Integrate with HRMS Software","href":"/payroll/integrations/hrms"}]},{"tab":"Custom Payroll \u0026 Attendance Cycle","hidden":true,"pages":[{"title":"Custom Payroll \u0026 Attendance Cycle","href":"/payroll/quickstart/custom-cycle"}]},{"tab":"FnF Hold Salary Pay Compliance","hidden":true,"pages":[{"title":"FnF Hold Salary Pay Compliance","href":"/payroll/run-payroll/fnf"}]},{"tab":"Testing SSR","hidden":true,"pages":[{"title":"Testing SSR","href":"/test-ssr"}]},{"tab":"Sub-Merchant Onboarding Webhooks - Sample Payload","hidden":true,"pages":[{"title":"Sub-Merchant Onboarding Webhooks - Sample Payload","href":"/webhooks/partners"}]},{"tab":"Integrate Tally","hidden":true,"pages":[{"title":"Integrate Tally","href":"/x/accounting/tally"}]},{"tab":"About Razorpay Capital","hidden":true,"pages":[{"title":"About Razorpay Capital","href":"/x/capital/cards-kyc"}]}]},{"version":"Singapore","pages":[{"title":"Singapore","href":"/sg/home"}]},{"version":"United States","pages":[{"title":"United States","href":"/us/home"}]},{"version":"Malaysia","href":"https://curlec.np.razorpay.in/docs"}]},"title":"Create a Normal Refund (Idempotent Request) - Razorpay","buildId":"dpl_AUojGTPodKNPTVaxVPcxnNvkSVqo","deploymentId":"dpl_AUojGTPodKNPTVaxVPcxnNvkSVqo","dynamics":["c2aa737661","2b790eda92","b0f84f53ff"],"chunks":["OpenApiReferenceProvider-D2GYGXhJ.js","utils-BFd71lo2.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-i162M7Za.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-oUw0la6W.js","snippetPresets-DtIWL37f.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-BCMBbEQM.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-DC4RgS91.js","shallow-CgVeLRFv.js","getApiPlaygroundDisplay-D5biMY5x.js","CodeSnippet-BFsbT-Fu.js","CodeSnippets-zLLOIece.js","Page-Ddn8iQDL.js","getPastedJson-BrHW4jRt.js","icon-CkMCp-Tk.js","MethodPill-CCcSM-Ep.js","DuplicateIcon-4tBrFI-V.js","createIcon-YbZxtfvX.js","DynamicMarkdown-BQC1aHST.js","SectionHeading-Dyh8yRs0.js","axios-vUo_bRtp.js"]}