Closes a user’s sub-wallet, making it inactive for future transactions. The closure process may require approval
depending on the sub-wallet type and business rules:
Any remaining balance is handled according to the configured closure policy.
The following table outlines the possible status values returned in the closure response:
Status
Description
SUCCESS
The wallet closure has been processed successfully and the sub-wallet is now inactive. All remaining balance has been handled according to the closure policy.
PENDING
The closure request has been accepted and is currently being processed.
Unique identifier that you create to identify the closure transaction in your system. Only alphanumeric characters, periods (.), hyphens (-), and underscores (_) are allowed.
Unique identifier for the user, as provided by you during PPI user creation. Only alphanumeric characters, periods (.), hyphens (-), and underscores (_) are allowed.
Unique identifier for the wallet, as provided by you during wallet creation. Only alphanumeric characters, periods (.), hyphens (-), and underscores (_) are allowed.
Optional key-value pairs for any extra information. Keys and values must be strings. The following constraints apply:
Maximum 10 entries.
Keys: maximum 50 characters. Alphanumeric characters, underscores (_), periods (.), commas (,), single quotes ('), ampersands (&), hyphens (-), and spaces are allowed.
Values: maximum 200 characters. Same character set as keys.
Optional key-value pairs for any extra information. Keys and values must be strings. The following constraints apply:
Maximum 10 entries.
Keys: maximum 50 characters. Alphanumeric characters, underscores (_), periods (.), commas (,), single quotes ('), ampersands (&), hyphens (-), and spaces are allowed.
Values: maximum 200 characters. Same character set as keys.
Timestamp when the closure transaction was processed. Null if still pending.
Example:
"2025-07-28T10:30:00Z"
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Cashfree Developer Documentation","colors":{"primary":"#6930ca","light":"#cfb8f5","dark":"#130851"},"logo":{"light":"https://mintcdn.com/cashfreepayments-d00050e9/6mQw7is1us8FhXrb/static/logo/light.svg?fit=max\u0026auto=format\u0026n=6mQw7is1us8FhXrb\u0026q=85\u0026s=8a2837083063d8a01e0be6b454a1baf1","dark":"https://mintcdn.com/cashfreepayments-d00050e9/6mQw7is1us8FhXrb/static/logo/dark.svg?fit=max\u0026auto=format\u0026n=6mQw7is1us8FhXrb\u0026q=85\u0026s=5c7de40784c6f6f9eebdad085ec5a7ef"},"favicon":"https://mintcdn.com/cashfreepayments-d00050e9/NpjCgm3mwC7v6gp-/static/favicon.png?fit=max\u0026auto=format\u0026n=NpjCgm3mwC7v6gp-\u0026q=85\u0026s=ba85dcd024bd70845e38c3f3957514c6","appearance":{"default":"light","strict":false},"background":{"color":{"light":"#fbfbfb","dark":"#000000"}},"navbar":{"links":[{"href":"https://www.cashfree.com/support/","label":"Contact Us"}],"primary":{"type":"button","label":"Get Started","href":"https://merchant.cashfree.com/merchants/signup?source-action=docs%20page\u0026action=Sign%20Up\u0026button-id=StartNow_Navbar"}},"footer":{"socials":{"github":"https://github.com/cashfree","youtube":"https://www.youtube.com/channel/UCxO0W7xVngh7TfkChPa_nwg","website":"https://www.cashfree.com/blog/category/engineering","discord":"https://discord.com/invite/w97HT9RKCF"}},"search":{"prompt":"Search or ask..."},"seo":{"metatags":{"og:title":"Cashfree Developer Documentation","og:description":"Welcome to the Cashfree developer documentation. You will find help about Cashfree products and APIs that will help you start using our products quickly.","og:site_name":"Cashfree Developer Documentation","twitter:site":"@gocashfree","google-site-verification":"T69Ao_T0Ps8pkRbluKzW179qvd_aCsWISCApeSsIhRU"},"indexing":"all"},"fonts":{"heading":{"family":"Inter","weight":600},"body":{"family":"Inter","weight":400}},"styling":{"codeblocks":"dark","latex":true},"integrations":{"ga4":{"measurementId":"G-56SCQ867FW"},"gtm":{"tagId":"GTM-5SRVH4P"}},"contextual":{"options":["chatgpt","claude","copy","view",{"title":"Open in Discord","description":"Join our Discord community","icon":"discord","href":"https://discord.com/invite/w97HT9RKCF"}],"display":"header"},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"cashfreepayments-d00050e9","hasAudioNarration":false,"actualSubdomain":"cashfreepayments-d00050e9","customDomains":["www.cashfree.com"],"gitSource":{"type":"github","owner":"cashfree","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae1f76b8c406dd2ccb32110","collectionId":"a3e0a54c-ab4e-4ae1-8a60-013f5487ca83","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae1f76b8c406dd2ccb32110"},"feedback":{"thumbs":true,"agentFeedback":false},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"DISABLED"},"CONTEXTUAL_FEEDBACK":{"status":"DISABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"DISABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae1f76b8c406dd2ccb32110","clientVersion":"0.0.4005","searchFilterCounts":[{"language":"default","tag":"Payments APIs","count":520},{"language":"default","tag":"Other Versions","count":349},{"language":"default","tag":"Payments","count":304},{"language":"default","tag":"v2026-01-01","count":159},{"language":"default","tag":"Subscription","count":151},{"language":"default","tag":"v2025-01-01","count":150},{"language":"default","tag":"v2023-08-01","count":142},{"language":"default","tag":"Payment Gateway","count":136},{"language":"default","tag":"Secure ID","count":106},{"language":"default","tag":"Payouts","count":105}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":true,"enableContextualStarterQuestions":true,"enableAskAiSearchBar":true,"deflection":{"enabled":false,"email":"documentation@cashfree.com","showHelpButton":true}},"basePath":"/docs","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[],"starterQuestions":[{"_id":"6916d346c181a220cfa37e8d","deploymentId":"66d5827f2de686bc28e7722b","questionText":"How do I accept payments online?","status":"active","generatedBy":"manual","createdAt":"2025-11-14T06:59:18.295Z","updatedAt":"2025-11-14T06:59:18.295Z","__v":0},{"_id":"6916d306c181a220cfa370e8","deploymentId":"66d5827f2de686bc28e7722b","questionText":"What is Cashfree Hosted Checkout?","status":"active","generatedBy":"manual","createdAt":"2025-11-14T06:58:14.574Z","updatedAt":"2025-11-14T06:58:14.574Z","__v":0},{"_id":"6916d2dbc181a220cfa368a4","deploymentId":"66d5827f2de686bc28e7722b","questionText":"How do I create a payment link?","status":"active","generatedBy":"manual","createdAt":"2025-11-14T06:57:31.657Z","updatedAt":"2025-11-14T06:57:31.657Z","__v":0}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","href":"/docs/_mintlify/custom/cashfreepayments-d00050e9/e1e3b3ccb8bef592/style.css"},{"filePath":"grid.css","content":".container,.container-fluid{margin-right:auto;margin-left:auto}.container{padding-top:3rem;padding-bottom:3rem}.container-fluid{padding:3rem 2rem}.col-xs,.row{box-sizing:border-box}.row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-.5rem;margin-left:-.5rem}.col.reverse,.row.reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.col.reverse{-webkit-box-orient:vertical;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.col-xs{-ms-flex:0 0 auto;flex:0 0 auto;padding-right:.5rem;padding-left:.5rem}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-offset-0,.col-xs-offset-1,.col-xs-offset-10,.col-xs-offset-11,.col-xs-offset-12,.col-xs-offset-2,.col-xs-offset-3,.col-xs-offset-4,.col-xs-offset-5,.col-xs-offset-6,.col-xs-offset-7,.col-xs-offset-8,.col-xs-offset-9{box-sizing:border-box;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;padding-right:.5rem;padding-left:.5rem}.col-xs{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-ms-flex-preferred-size:0;flex-basis:0;max-width:100%}.col-xs-1{-ms-flex-preferred-size:8.33333333%;flex-basis:8.33333333%;max-width:8.33333333%}.col-xs-2{-ms-flex-preferred-size:16.66666667%;flex-basis:16.66666667%;max-width:16.66666667%}.col-xs-3{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}.col-xs-4{-ms-flex-preferred-size:33.33333333%;flex-basis:33.33333333%;max-width:33.33333333%}.col-xs-5{-ms-flex-preferred-size:41.66666667%;flex-basis:41.66666667%;max-width:41.66666667%}.col-xs-6{-ms-flex-preferred-size:50%;flex-basis:50%;max-width:50%}.col-xs-7{-ms-flex-preferred-size:58.33333333%;flex-basis:58.33333333%;max-width:58.33333333%}.col-xs-8{-ms-flex-preferred-size:66.66666667%;flex-basis:66.66666667%;max-width:66.66666667%}.col-xs-9{-ms-flex-preferred-size:75%;flex-basis:75%;max-width:75%}.col-xs-10{-ms-flex-preferred-size:83.33333333%;flex-basis:83.33333333%;max-width:83.33333333%}.col-xs-11{-ms-flex-preferred-size:91.66666667%;flex-basis:91.66666667%;max-width:91.66666667%}.col-xs-12{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.col-xs-offset-0{margin-left:0}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-11{margin-left:91.66666667%}.start-xs{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:start}.center-xs{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center}.end-xs{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:end}.top-xs{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.middle-xs{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.bottom-xs{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.around-xs{-ms-flex-pack:distribute;justify-content:space-around}.between-xs{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.first-xs{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.last-xs{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}@media only screen and (min-width:48em){.container{width:49rem}.col-sm{box-sizing:border-box;-ms-flex:0 0 auto;flex:0 0 auto;padding-right:.5rem;padding-left:.5rem}.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-offset-0,.col-sm-offset-1,.col-sm-offset-10,.col-sm-offset-11,.col-sm-offset-12,.col-sm-offset-2,.col-sm-offset-3,.col-sm-offset-4,.col-sm-offset-5,.col-sm-offset-6,.col-sm-offset-7,.col-sm-offset-8,.col-sm-offset-9{box-sizing:border-box;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;padding-right:.5rem;padding-left:.5rem}.col-sm{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-ms-flex-preferred-size:0;flex-basis:0;max-width:100%}.col-sm-1{-ms-flex-preferred-size:8.33333333%;flex-basis:8.33333333%;max-width:8.33333333%}.col-sm-2{-ms-flex-preferred-size:16.66666667%;flex-basis:16.66666667%;max-width:16.66666667%}.col-sm-3{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}.col-sm-4{-ms-flex-preferred-size:33.33333333%;flex-basis:33.33333333%;max-width:33.33333333%}.col-sm-5{-ms-flex-preferred-size:41.66666667%;flex-basis:41.66666667%;max-width:41.66666667%}.col-sm-6{-ms-flex-preferred-size:50%;flex-basis:50%;max-width:50%}.col-sm-7{-ms-flex-preferred-size:58.33333333%;flex-basis:58.33333333%;max-width:58.33333333%}.col-sm-8{-ms-flex-preferred-size:66.66666667%;flex-basis:66.66666667%;max-width:66.66666667%}.col-sm-9{-ms-flex-preferred-size:75%;flex-basis:75%;max-width:75%}.col-sm-10{-ms-flex-preferred-size:83.33333333%;flex-basis:83.33333333%;max-width:83.33333333%}.col-sm-11{-ms-flex-preferred-size:91.66666667%;flex-basis:91.66666667%;max-width:91.66666667%}.col-sm-12{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.col-sm-offset-0{margin-left:0}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-11{margin-left:91.66666667%}.start-sm{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:start}.center-sm{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center}.end-sm{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:end}.top-sm{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.middle-sm{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.bottom-sm{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.around-sm{-ms-flex-pack:distribute;justify-content:space-around}.between-sm{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.first-sm{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.last-sm{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media only screen and (min-width:64em){.container{width:65rem}.col-md{box-sizing:border-box;-ms-flex:0 0 auto;flex:0 0 auto;padding-right:.5rem;padding-left:.5rem}.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-offset-0,.col-md-offset-1,.col-md-offset-10,.col-md-offset-11,.col-md-offset-12,.col-md-offset-2,.col-md-offset-3,.col-md-offset-4,.col-md-offset-5,.col-md-offset-6,.col-md-offset-7,.col-md-offset-8,.col-md-offset-9{box-sizing:border-box;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;padding-right:.5rem;padding-left:.5rem}.col-md{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-ms-flex-preferred-size:0;flex-basis:0;max-width:100%}.col-md-1{-ms-flex-preferred-size:8.33333333%;flex-basis:8.33333333%;max-width:8.33333333%}.col-md-2{-ms-flex-preferred-size:16.66666667%;flex-basis:16.66666667%;max-width:16.66666667%}.col-md-3{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}.col-md-4{-ms-flex-preferred-size:33.33333333%;flex-basis:33.33333333%;max-width:33.33333333%}.col-md-5{-ms-flex-preferred-size:41.66666667%;flex-basis:41.66666667%;max-width:41.66666667%}.col-md-6{-ms-flex-preferred-size:50%;flex-basis:50%;max-width:50%}.col-md-7{-ms-flex-preferred-size:58.33333333%;flex-basis:58.33333333%;max-width:58.33333333%}.col-md-8{-ms-flex-preferred-size:66.66666667%;flex-basis:66.66666667%;max-width:66.66666667%}.col-md-9{-ms-flex-preferred-size:75%;flex-basis:75%;max-width:75%}.col-md-10{-ms-flex-preferred-size:83.33333333%;flex-basis:83.33333333%;max-width:83.33333333%}.col-md-11{-ms-flex-preferred-size:91.66666667%;flex-basis:91.66666667%;max-width:91.66666667%}.col-md-12{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.col-md-offset-0{margin-left:0}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-11{margin-left:91.66666667%}.start-md{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:start}.center-md{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center}.end-md{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:end}.top-md{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.middle-md{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.bottom-md{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.around-md{-ms-flex-pack:distribute;justify-content:space-around}.between-md{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.first-md{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.last-md{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media only screen and (min-width:75em){.container{width:76rem}.col-lg{box-sizing:border-box;-ms-flex:0 0 auto;flex:0 0 auto;padding-right:.5rem;padding-left:.5rem}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-offset-0,.col-lg-offset-1,.col-lg-offset-10,.col-lg-offset-11,.col-lg-offset-12,.col-lg-offset-2,.col-lg-offset-3,.col-lg-offset-4,.col-lg-offset-5,.col-lg-offset-6,.col-lg-offset-7,.col-lg-offset-8,.col-lg-offset-9{box-sizing:border-box;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;padding-right:.5rem;padding-left:.5rem}.col-lg{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-ms-flex-preferred-size:0;flex-basis:0;max-width:100%}.col-lg-1{-ms-flex-preferred-size:8.33333333%;flex-basis:8.33333333%;max-width:8.33333333%}.col-lg-2{-ms-flex-preferred-size:16.66666667%;flex-basis:16.66666667%;max-width:16.66666667%}.col-lg-3{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}.col-lg-4{-ms-flex-preferred-size:33.33333333%;flex-basis:33.33333333%;max-width:33.33333333%}.col-lg-5{-ms-flex-preferred-size:41.66666667%;flex-basis:41.66666667%;max-width:41.66666667%}.col-lg-6{-ms-flex-preferred-size:50%;flex-basis:50%;max-width:50%}.col-lg-7{-ms-flex-preferred-size:58.33333333%;flex-basis:58.33333333%;max-width:58.33333333%}.col-lg-8{-ms-flex-preferred-size:66.66666667%;flex-basis:66.66666667%;max-width:66.66666667%}.col-lg-9{-ms-flex-preferred-size:75%;flex-basis:75%;max-width:75%}.col-lg-10{-ms-flex-preferred-size:83.33333333%;flex-basis:83.33333333%;max-width:83.33333333%}.col-lg-11{-ms-flex-preferred-size:91.66666667%;flex-basis:91.66666667%;max-width:91.66666667%}.col-lg-12{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.col-lg-offset-0{margin-left:0}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-11{margin-left:91.66666667%}.start-lg{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:start}.center-lg{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center}.end-lg{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:end}.top-lg{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.middle-lg{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.bottom-lg{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.around-lg{-ms-flex-pack:distribute;justify-content:space-around}.between-lg{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.first-lg{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.last-lg{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}"},{"filePath":"typography.css","content":".landing-page h1{font-size:2.4rem}.landing-page h2{font-size:2rem}.landing-page h3{font-size:1.6rem}.landing-page h4{font-size:1.2rem}.landing-page h5{font-size:1rem}.landing-page h6{font-size:.8rem}.bold{font-weight:700}.semibold{font-weight:600}.medium{font-weight:500}.regular{font-weight:400}.light{font-weight:300}"}],"page":{"pagePath":"api-reference/prepaid-payment-instruments/wallet-management/close-wallet","slug":"/api-reference/prepaid-payment-instruments/wallet-management/close-wallet","pageMetadata":{"openapi":"openapi/ppi/ppi.yaml post /ppi/wallet/closure","keywords":["wallet management","PPI","API reference","wallet operations","wallet payments"],"og:title":"Close Wallet API | Cashfree","og:description":"Close a Cashfree PPI sub-wallet for a user once any remaining balance is handled, marking the sub-wallet inactive across gift, closed, and small PPI wallets.","title":"Close Wallet","description":"Closes a user's sub-wallet, making it inactive for future transactions. The closure process may require approval \ndepending on the sub-wallet type and business rules:\n- Any remaining balance is handled according to the configured closure policy.\n","href":"/api-reference/prepaid-payment-instruments/wallet-management/close-wallet","hidden":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n li: \"li\",\n p: \"p\",\n ul: \"ul\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Closes a user’s sub-wallet, making it inactive for future transactions. The closure process may require approval\\ndepending on the sub-wallet type and business rules:\"\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsx(_components.li, {\n children: \"Any remaining balance is handled according to the configured closure policy.\"\n }), \"\\n\"]\n })]\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{jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,Table}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsx(AccordionGroup,{children:_jsxs(Accordion,{title:`Closure Status Descriptions`,defaultOpen:true,id:`closure-status-descriptions`,children:[_jsx(_components.p,{children:`The following table outlines the possible status values returned in the closure response:`}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:_jsx(_components.strong,{children:`Status`})}),_jsx(_components.th,{children:_jsx(_components.strong,{children:`Description`})})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`SUCCESS`})}),_jsx(_components.td,{children:`The wallet closure has been processed successfully and the sub-wallet is now inactive. All remaining balance has been handled according to the closure policy.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`PENDING`})}),_jsx(_components.td,{children:`The closure request has been accepted and is currently being processed.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`APPROVAL_PENDING`})}),_jsx(_components.td,{children:`The closure request requires manual approval.`})]})]})]})]})})}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":{"codeStyling":"dark","config":{},"pageMetadata":{"openapi":"openapi/ppi/ppi.yaml post /ppi/wallet/closure","keywords":["wallet management","PPI","API reference","wallet operations","wallet payments"],"og:title":"Close Wallet API | Cashfree","og:description":"Close a Cashfree PPI sub-wallet for a user once any remaining balance is handled, marking the sub-wallet inactive across gift, closed, and small PPI wallets.","title":"Close Wallet","description":"Closes a user's sub-wallet, making it inactive for future transactions. The closure process may require approval \ndepending on the sub-wallet type and business rules:\n- Any remaining balance is handled according to the configured closure policy.\n","href":"/api-reference/prepaid-payment-instruments/wallet-management/close-wallet","hidden":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/docs/_mintlify/custom/cashfreepayments-d00050e9/0a1efd0b138512b4/util/downloadImages.js","/docs/_mintlify/custom/cashfreepayments-d00050e9/7b49b0aba32ccd66/util/checkLinks.js","/docs/_mintlify/custom/cashfreepayments-d00050e9/6520965c686ab08e/util/updateFrontmatter.js","/docs/_mintlify/custom/cashfreepayments-d00050e9/e6313895ea4c2bf0/export-docs/export.js","/docs/_mintlify/custom/cashfreepayments-d00050e9/6459e4b38b43a234/export-docs/sync-kb.js","/docs/_mintlify/custom/cashfreepayments-d00050e9/82d5b75dd1e333d2/snippets/postman-buttons/postman-links.js","/docs/_mintlify/custom/cashfreepayments-d00050e9/e8f71dc9fab8d95d/scripts/ga4-video-tracking.js","/docs/_mintlify/custom/cashfreepayments-d00050e9/e3b0c44298fc1c14/scripts/generate-postman-buttons.js","/docs/_mintlify/custom/cashfreepayments-d00050e9/bc4eac15553663a2/scripts/openapi-rm-desc.js","/docs/_mintlify/custom/cashfreepayments-d00050e9/5748000362acad1e/scripts/quote-openapi.js","/docs/_mintlify/custom/cashfreepayments-d00050e9/0a7365ce97b5cca7/scripts/script.js","/docs/_mintlify/custom/cashfreepayments-d00050e9/d99a96c0c4b010fe/scripts/updateHelpAccordionsWithPostHog.js","/docs/_mintlify/custom/cashfreepayments-d00050e9/bd8561d01634fd2e/scripts/updateIframeSrc.js"],"openApiReferenceData":{"operation":{"summary":"Close Wallet","description":"Closes a user's sub-wallet, making it inactive for future transactions. The closure process may require approval \ndepending on the sub-wallet type and business rules:\n- Any remaining balance is handled according to the configured closure policy.\n","operationId":"closeWallet","tags":["Wallets"],"parameters":["2eff3fdf-a33a-4da3-93ef-86484c27ce91"],"security":["d46ed0b1-6abd-47c4-a27d-023b7248f0f3"],"requestBody":"fc267047-1005-4ba0-9be4-ab4a43006557","responses":{"200":"6d38d802-2992-4218-99a3-bab51ec32bdb","400":"9ebb4677-93dc-460e-a877-6545338a797e","401":"71c193c3-b419-4e86-919f-c0dd705de815","403":"859cceab-0e18-4c4d-aab5-5b9df185d128","404":"efda4063-8e80-448d-878b-9b2446bddfdf","409":"dffb59d3-d94c-41f2-9ae1-72c1911120dc","422":"cf13bbff-dbb6-4332-aa14-53cb88eafd62","429":"941522e2-9377-49d3-87e3-5e5c151c34d3","500":"adee6442-ee96-4be5-a7de-389af19067c7"},"method":"post","type":"path","servers":["8cee66d8-0b87-41ef-ab76-cce054584ced","f7bb6ace-47fa-4bed-99e0-0765bd0613d1"],"path":"/ppi/wallet/closure","baseUrlOptions":["https://api.cashfree.com","https://sandbox.cashfree.com"],"title":"Close Wallet","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"2eff3fdf-a33a-4da3-93ef-86484c27ce91":{"description":"API version to be used. Format is in YYYY-MM-DD.","name":"x-api-version","in":"header","required":true,"schema":{"type":"string","default":"2025-11-01","example":"2025-11-01","isRequired":true,"description":"API version to be used. Format is in YYYY-MM-DD.","uniqueKey":"","typeLabel":"string"},"example":"2025-11-01"}},"requestBody":{"description":"Request parameters to close a user's wallet.","required":true,"content":{"application/json":{"schema":{"type":"object","required":["closure_id","user_id","wallet_id","cf_sub_wallet_id"],"properties":{"closure_id":{"type":"string","description":"Unique identifier that you create to identify the closure transaction in your system. Only alphanumeric characters, periods (.), hyphens (-), and underscores (_) are allowed.","example":"CLOSURE420984","minLength":1,"maxLength":50,"isRequired":true,"uniqueKey":"closure_id","typeLabel":"string"},"user_id":{"type":"string","description":"Unique identifier for the user, as provided by you during PPI user creation. Only alphanumeric characters, periods (.), hyphens (-), and underscores (_) are allowed.","example":"USER827364","minLength":1,"maxLength":50,"isRequired":true,"uniqueKey":"user_id","typeLabel":"string"},"wallet_id":{"type":"string","description":"Unique identifier for the wallet, as provided by you during wallet creation. Only alphanumeric characters, periods (.), hyphens (-), and underscores (_) are allowed.","example":"WALLET936721","minLength":1,"maxLength":50,"isRequired":true,"uniqueKey":"wallet_id","typeLabel":"string"},"cf_sub_wallet_id":{"type":"string","description":"Unique identifier of the sub-wallet to be closed. Only numeric characters are allowed.","example":"35246543210987654321","minLength":1,"maxLength":19,"isRequired":true,"uniqueKey":"cf_sub_wallet_id","typeLabel":"string"},"remarks":{"type":"string","description":"Additional remarks for the closure request. Alphanumeric and whitespaces are allowed. The maximum character limit is 60.","example":"Wallet Closure","maxLength":60,"uniqueKey":"remarks","typeLabel":"string"},"notes":{"type":"object","description":"Optional key-value pairs for any extra information. Keys and values must be strings. The following constraints apply:\n- Maximum 10 entries.\n- Keys: maximum 50 characters. Alphanumeric characters, underscores (_), periods (.), commas (,), single quotes ('), ampersands (\u0026), hyphens (-), and spaces are allowed.\n- Values: maximum 200 characters. Same character set as keys.\n","properties":{"example_key":{"type":"string","description":"A note value. Maximum 200 characters. Alphanumeric characters, underscores (_), periods (.), commas (,), single quotes ('), ampersands (\u0026), hyphens (-), and spaces are allowed.","example":"example_value","uniqueKey":"notes.example_key","typeLabel":"string"}},"uniqueKey":"notes","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"closureTransaction":{"title":"closureTransaction","description":"Example of closing a user's sub-wallet.","value":{"closure_id":"CLOSURE420984","user_id":"USER827364","wallet_id":"WALLET936721","cf_sub_wallet_id":"35246543210987654321","remarks":"Wallet Closure","notes":{"example_key1":"example_value1","example_key2":"example_value2"}}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"6d38d802-2992-4218-99a3-bab51ec32bdb":{"description":"Success response for closing a wallet.","content":{"application/json":{"schema":{"type":"object","properties":{"closure_id":{"type":"string","description":"Unique identifier for the closure transaction, as provided by you during the closure request.","example":"CLOSURE420984","uniqueKey":"closure_id","typeLabel":"string"},"user_id":{"type":"string","description":"Unique identifier for the user, as provided by you during PPI user creation.","example":"USER827364","uniqueKey":"user_id","typeLabel":"string"},"cf_closure_id":{"type":"string","description":"Unique identifier for the closure transaction, generated by Cashfree.","example":"8901234567890123456","uniqueKey":"cf_closure_id","typeLabel":"string"},"wallet_id":{"type":"string","description":"Primary wallet ID from which the sub-wallet is being closed.","example":"WALLET936721","uniqueKey":"wallet_id","typeLabel":"string"},"sub_wallet":{"type":"object","properties":{"cf_sub_wallet_id":{"type":"string","description":"Unique identifier for the sub-wallet provided in response while creating the wallet.","example":"5432109876543210987","uniqueKey":"sub_wallet.cf_sub_wallet_id","typeLabel":"string"},"name":{"type":"string","description":"Name for the sub-wallet.","example":"Gift Wallet","uniqueKey":"sub_wallet.name","typeLabel":"string"},"type":{"type":"string","description":"Type of the sub-wallet.","example":"GIFT_PPI","uniqueKey":"sub_wallet.type","typeLabel":"string"},"status":{"type":"string","description":"Status of the sub-wallet.","example":"ACTIVE","uniqueKey":"sub_wallet.status","typeLabel":"string"},"balance":{"type":"number","format":"double","description":"Current balance of the sub-wallet.","example":1500.75,"uniqueKey":"sub_wallet.balance","typeLabel":"number\u003cdouble>"},"available_balance":{"type":"number","format":"double","description":"Available balance in the sub-wallet.","example":1500.75,"uniqueKey":"sub_wallet.available_balance","typeLabel":"number\u003cdouble>"},"funds_on_hold":{"type":"number","format":"double","description":"Funds on hold in the sub-wallet.","example":0,"uniqueKey":"sub_wallet.funds_on_hold","typeLabel":"number\u003cdouble>"}},"uniqueKey":"sub_wallet","typeLabel":"object"},"status":{"type":"string","description":"Status of the refund operation:\n- `SUCCESS`: Closure has been processed successfully.\n- `PENDING`: Closure is being processed and will be completed shortly\n- `APPROVAL_PENDING` : closure requires manual approval\n","enum":["SUCCESS","PENDING","APPROVAL_PENDING"],"example":"SUCCESS","uniqueKey":"status","typeLabel":"enum\u003cstring>"},"remarks":{"type":"string","description":"Remarks for the closure transaction.","example":"Wallet Closure","uniqueKey":"remarks","typeLabel":"string"},"notes":{"type":"object","description":"Optional key-value pairs for any extra information. Keys and values must be strings. The following constraints apply:\n- Maximum 10 entries.\n- Keys: maximum 50 characters. Alphanumeric characters, underscores (_), periods (.), commas (,), single quotes ('), ampersands (\u0026), hyphens (-), and spaces are allowed.\n- Values: maximum 200 characters. Same character set as keys.\n","properties":{"example_key":{"type":"string","description":"A note value. Maximum 200 characters. Alphanumeric characters, underscores (_), periods (.), commas (,), single quotes ('), ampersands (\u0026), hyphens (-), and spaces are allowed.","example":"example_value","uniqueKey":"notes.example_key","typeLabel":"string"}},"uniqueKey":"notes","typeLabel":"object"},"initiated_at":{"type":"string","format":"date-time","description":"Timestamp when the closure transaction was initiated.","example":"2025-07-28T10:30:00Z","uniqueKey":"initiated_at","typeLabel":"string\u003cdate-time>"},"processed_at":{"oneOf":[{"type":"string","format":"date-time","description":"Timestamp when the closure transaction was processed. Null if still pending.","example":"2025-07-28T10:30:00Z","uniqueKey":"processed_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Timestamp when the closure transaction was processed. Null if still pending.","example":"2025-07-28T10:30:00Z","uniqueKey":"processed_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"processed_at","typeLabel":"string\u003cdate-time> | null"}},"uniqueKey":"","typeLabel":"object"},"examples":{"SUCCESS_GIFT_WALLET":{"title":"SUCCESS_GIFT_WALLET","value":{"closure_id":"CLOSURE420984","user_id":"USER827364","cf_closure_id":"8901234567890123456","wallet_id":"WALLET936721","sub_wallet":{"cf_sub_wallet_id":"35246543210987654321","name":"Gift Wallet","type":"GIFT_PPI","status":"CLOSED","balance":0,"available_balance":0,"funds_on_hold":0},"status":"SUCCESS","remarks":"Wallet Closure","notes":{"example_key1":"example_value1","example_key2":"example_value2"},"initiated_at":"2025-07-28T10:30:00Z","processed_at":"2025-07-28T10:30:00Z"}},"SUCCESS_CLOSED_WALLET":{"title":"SUCCESS_CLOSED_WALLET","value":{"closure_id":"CLOSURE420984","user_id":"USER827364","cf_closure_id":"8901234567890123456","wallet_id":"WALLET936721","sub_wallet":{"cf_sub_wallet_id":"35246543210987654321","name":"Meal Wallet","type":"CLOSED_LOOP_PPI","status":"CLOSED","balance":0,"available_balance":0,"funds_on_hold":0},"status":"SUCCESS","remarks":"Wallet Closure","notes":{"example_key1":"example_value1","example_key2":"example_value2"},"initiated_at":"2025-07-28T10:30:00Z","processed_at":"2025-07-28T10:30:00Z"}},"SUCCESS_SMALL_PPI_WALLET":{"title":"SUCCESS_SMALL_PPI_WALLET","value":{"closure_id":"CLOSURE420984","user_id":"USER827364","cf_closure_id":"8901234567890123456","wallet_id":"WALLET936721","sub_wallet":{"cf_sub_wallet_id":"35246543210987654321","name":"Meal Wallet","type":"SMALL_PPI","status":"CLOSED","balance":0,"available_balance":0,"funds_on_hold":0},"status":"SUCCESS","remarks":"Wallet Closure","notes":{"example_key1":"example_value1","example_key2":"example_value2"},"initiated_at":"2025-07-28T10:30:00Z","processed_at":"2025-07-28T10:30:00Z"}}},"exampleType":"examples"}},"exampleType":"examples"},"9ebb4677-93dc-460e-a877-6545338a797e":{"description":"Bad request - Invalid input parameters.","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","description":"A broad category of the error.","example":"internal_error","uniqueKey":"type","typeLabel":"string"},"code":{"type":"string","description":"A machine-readable error code specific to the issue.","example":"internal_server_error","uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","description":"A message providing more details about the error, dynamic based on the specific issue.","example":"Internal server error","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"closure_id_missing":{"title":"closure_id_missing","value":{"code":"closure_id_missing","type":"validation_error","message":"closure_id is missing in the request"}},"user_id_missing":{"title":"user_id_missing","value":{"code":"user_id_missing","type":"validation_error","message":"user_id is missing in the request"}},"wallet_id_missing":{"title":"wallet_id_missing","value":{"code":"wallet_id_missing","type":"validation_error","message":"wallet_id is missing in the request"}},"cf_sub_wallet_id_missing":{"title":"cf_sub_wallet_id_missing","value":{"code":"cf_sub_wallet_id_missing","type":"validation_error","message":"cf_sub_wallet_id is missing in the request"}},"userWalletMismatch":{"title":"userWalletMismatch","value":{"message":"wallet does not belong to provided user","code":"wallet_id_value_invalid","type":"validation_error"}},"userSubWalletMismatch":{"title":"userSubWalletMismatch","value":{"message":"sub-wallet does not belong to provided user","code":"sub_wallet_id_value_invalid","type":"validation_error"}},"cf_sub_wallet_id_invalid":{"title":"cf_sub_wallet_id_invalid","value":{"code":"cf_sub_wallet_id_invalid","type":"validation_error","message":"cf_sub_wallet_id is invalid in the request"}},"closure_id_value_invalid":{"title":"closure_id_value_invalid","value":{"code":"closure_id_value_invalid","type":"validation_error","message":"closure_id value is invalid in the request"}},"missingClientId":{"title":"missingClientId","value":{"message":"x-client-id is missing in the request","code":"x-client-id_missing","type":"validation_error"}},"missingClientSecret":{"title":"missingClientSecret","value":{"message":"x-client-secret is missing in the request","code":"x-client-secret_missing","type":"validation_error"}}},"exampleType":"examples"}},"exampleType":"examples"},"71c193c3-b419-4e86-919f-c0dd705de815":{"description":"Unauthorised - Invalid or missing authentication.","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","description":"A broad category of the error.","example":"internal_error","uniqueKey":"type","typeLabel":"string"},"code":{"type":"string","description":"A machine-readable error code specific to the issue.","example":"internal_server_error","uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","description":"A message providing more details about the error, dynamic based on the specific issue.","example":"Internal server error","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"invalidCredentials":{"title":"invalidCredentials","value":{"code":"authentication_failed","type":"authentication_error","message":"Invalid client ID and client secret combination"}}},"exampleType":"examples"}},"exampleType":"examples"},"859cceab-0e18-4c4d-aab5-5b9df185d128":{"description":"Forbidden - Access denied.","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","description":"A broad category of the error.","example":"internal_error","uniqueKey":"type","typeLabel":"string"},"code":{"type":"string","description":"A machine-readable error code specific to the issue.","example":"internal_server_error","uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","description":"A message providing more details about the error, dynamic based on the specific issue.","example":"Internal server error","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"ipNotWhitelisted":{"title":"ipNotWhitelisted","value":{"code":"ip_not_whitelisted","type":"authentication_error","message":"Authentication error (IP not whitelisted)"}}},"exampleType":"examples"}},"exampleType":"examples"},"efda4063-8e80-448d-878b-9b2446bddfdf":{"description":"Not found - Wallet or sub-wallet not found.","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","description":"A broad category of the error.","example":"internal_error","uniqueKey":"type","typeLabel":"string"},"code":{"type":"string","description":"A machine-readable error code specific to the issue.","example":"internal_server_error","uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","description":"A message providing more details about the error, dynamic based on the specific issue.","example":"Internal server error","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"walletNotFound":{"title":"walletNotFound","value":{"code":"wallet_id_not_found","type":"invalid_request_error","message":"The specified wallet_id does not exist"}},"subWalletNotFound":{"title":"subWalletNotFound","value":{"code":"sub_wallet_id_not_found","type":"invalid_request_error","message":"The specified cf_sub_wallet_id does not exist"}}},"exampleType":"examples"}},"exampleType":"examples"},"dffb59d3-d94c-41f2-9ae1-72c1911120dc":{"description":"Conflict - Closure already processed or sub-wallet already closed.","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","description":"A broad category of the error.","example":"internal_error","uniqueKey":"type","typeLabel":"string"},"code":{"type":"string","description":"A machine-readable error code specific to the issue.","example":"internal_server_error","uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","description":"A message providing more details about the error, dynamic based on the specific issue.","example":"Internal server error","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"duplicateClosure":{"title":"duplicateClosure","value":{"code":"closure_id_already_exists","type":"validation_error","message":"Closure request with the same closure_id has already been processed"}},"walletAlreadyClosed":{"title":"walletAlreadyClosed","value":{"code":"sub_wallet_already_closed","type":"validation_error","message":"The specified sub-wallet is already closed"}}},"exampleType":"examples"}},"exampleType":"examples"},"cf13bbff-dbb6-4332-aa14-53cb88eafd62":{"description":"Unprocessable Entity - Business rule validation failed.","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","description":"A broad category of the error.","example":"internal_error","uniqueKey":"type","typeLabel":"string"},"code":{"type":"string","description":"A machine-readable error code specific to the issue.","example":"internal_server_error","uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","description":"A message providing more details about the error, dynamic based on the specific issue.","example":"Internal server error","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"activeTransactionsPending":{"title":"activeTransactionsPending","value":{"code":"sub_wallet_transaction_pending","type":"validation_error","message":"Cannot close sub-wallet with pending transactions"}}},"exampleType":"examples"}},"exampleType":"examples"},"941522e2-9377-49d3-87e3-5e5c151c34d3":{"description":"Too Many Requests - Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","description":"A broad category of the error.","example":"internal_error","uniqueKey":"type","typeLabel":"string"},"code":{"type":"string","description":"A machine-readable error code specific to the issue.","example":"internal_server_error","uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","description":"A message providing more details about the error, dynamic based on the specific issue.","example":"Internal server error","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"rateLimitExceeded":{"title":"rateLimitExceeded","value":{"code":"rate_limit_exceeded","type":"rate_limit_error","message":"Rate limit exceeded. Please try again after some time"}}},"exampleType":"examples"}},"exampleType":"examples"},"adee6442-ee96-4be5-a7de-389af19067c7":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","description":"A broad category of the error.","example":"internal_error","uniqueKey":"type","typeLabel":"string"},"code":{"type":"string","description":"A machine-readable error code specific to the issue.","example":"internal_server_error","uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","description":"A message providing more details about the error, dynamic based on the specific issue.","example":"Internal server error","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"internalError":{"title":"internalError","value":{"code":"internal_server_error","type":"internal_error","message":"An internal error occurred while processing the request"}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"d46ed0b1-6abd-47c4-a27d-023b7248f0f3":{"XClientID":{"type":"apiKey","in":"header","name":"x-client-id","description":"Your unique client identifier issued by Cashfree. You can find this in your [Merchant Dashboard](https://merchant.cashfree.com/merchants/landing?env=prod).","scopes":[],"schemeName":"XClientID"},"XClientSecret":{"type":"apiKey","in":"header","name":"x-client-secret","description":"The secret key associated with your client ID. Use this to authenticate your API requests. You can find this in your [Merchant Dashboard](https://merchant.cashfree.com/merchants/landing?env=prod).","scopes":[],"schemeName":"XClientSecret"}}},"servers":{"8cee66d8-0b87-41ef-ab76-cce054584ced":{"url":"https://api.cashfree.com","description":"Production server."},"f7bb6ace-47fa-4bed-99e0-0765bd0613d1":{"url":"https://sandbox.cashfree.com","description":"Sandbox server."}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"x-client-id","description":"Your unique client identifier issued by Cashfree. You can find this in your [Merchant Dashboard](https://merchant.cashfree.com/merchants/landing?env=prod).","scopes":[],"schemeName":"XClientID"},"schema":{"title":"x-client-id","type":"string","description":"Your unique client identifier issued by Cashfree. You can find this in your [Merchant Dashboard](https://merchant.cashfree.com/merchants/landing?env=prod).","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"XClientID","name":"x-client-id"},{"scheme":{"type":"apiKey","in":"header","name":"x-client-secret","description":"The secret key associated with your client ID. Use this to authenticate your API requests. You can find this in your [Merchant Dashboard](https://merchant.cashfree.com/merchants/landing?env=prod).","scopes":[],"schemeName":"XClientSecret"},"schema":{"title":"x-client-secret","type":"string","description":"The secret key associated with your client ID. Use this to authenticate your API requests. You can find this in your [Merchant Dashboard](https://merchant.cashfree.com/merchants/landing?env=prod).","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"XClientSecret","name":"x-client-secret"}],"title":"XClientID \u0026 XClientSecret"}]},"originalFileLocation":"openapi/ppi/ppi.yaml"},"subdomain":"cashfreepayments-d00050e9","siteName":"Cashfree Developer Documentation","title":"Close Wallet API | Cashfree","relatedPagesConfig":{"enabled":true,"limit":5,"mode":"manual"},"contextualStarterQuestions":[{"_id":"6a79b1793629fc88876dffcd","deploymentId":"66d5827f2de686bc28e7722b","questionText":"How long does closure take?","status":"active","generatedBy":"contextual","path":"api-reference/prepaid-payment-instruments/wallet-management/close-wallet","createdAt":"2026-08-10T11:09:45.387Z","updatedAt":"2026-08-10T11:09:45.387Z","__v":0},{"_id":"6a79b1793629fc88876dffcc","deploymentId":"66d5827f2de686bc28e7722b","questionText":"What does APPROVAL_PENDING mean?","status":"active","generatedBy":"contextual","path":"api-reference/prepaid-payment-instruments/wallet-management/close-wallet","createdAt":"2026-08-10T11:09:45.387Z","updatedAt":"2026-08-10T11:09:45.387Z","__v":0},{"_id":"6a79b1793629fc88876dffcb","deploymentId":"66d5827f2de686bc28e7722b","questionText":"What happens to wallet balance?","status":"active","generatedBy":"contextual","path":"api-reference/prepaid-payment-instruments/wallet-management/close-wallet","createdAt":"2026-08-10T11:09:45.387Z","updatedAt":"2026-08-10T11:09:45.387Z","__v":0}],"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-03-24T07:42:41.293Z","originalFileLocation":"api-reference/prepaid-payment-instruments/wallet-management/close-wallet.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=\"light\"}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=\"Closes a user\u0026#x27;s sub-wallet, making it inactive for future transactions. The closure process may require approval depending on the sub-wallet type and business rules: - Any remaining balance is handled according to the configured closure policy.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Cashfree Developer Documentation\">\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/cashfreepayments-d00050e9/MP8bOqKxh3TohVa1/_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/cashfreepayments-d00050e9/MP8bOqKxh3TohVa1/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/cashfreepayments-d00050e9/MP8bOqKxh3TohVa1/_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/cashfreepayments-d00050e9/MP8bOqKxh3TohVa1/_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/cashfreepayments-d00050e9/MP8bOqKxh3TohVa1/_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/cashfreepayments-d00050e9/MP8bOqKxh3TohVa1/_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/cashfreepayments-d00050e9/MP8bOqKxh3TohVa1/_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/cashfreepayments-d00050e9/MP8bOqKxh3TohVa1/_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/cashfreepayments-d00050e9/MP8bOqKxh3TohVa1/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Close Wallet API | Cashfree\">\u003cmeta data-mint-head property=\"og:description\" content=\"Close a Cashfree PPI sub-wallet for a user once any remaining balance is handled, marking the sub-wallet inactive across gift, closed, and small PPI wallets.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Cashfree Developer Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://www.cashfree.com/docs/api-reference/prepaid-payment-instruments/wallet-management/close-wallet\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://cashfreepayments-d00050e9.mintlify.app/_mintlify/api/og/v2?division=Wallets\u0026amp;title=Close+Wallet\u0026amp;description=Closes+a+user%27s+sub-wallet%2C+making+it+inactive+for+future+transactions.+The+closure+process+may+require+approval+%0Adepending+on+the+sub-wallet+type+and+business+\u0026amp;theme=2adde9c6a50d91a75e16dbfe\u0026amp;signature=f9c2a29ea0a5b74fd4112a6471e6f5e07416443e595877b442af1aa94b9e2484\">\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=\"Close Wallet API | Cashfree\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Close a Cashfree PPI sub-wallet for a user once any remaining balance is handled, marking the sub-wallet inactive across gift, closed, and small PPI wallets.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://cashfreepayments-d00050e9.mintlify.app/_mintlify/api/og/v2?division=Wallets\u0026amp;title=Close+Wallet\u0026amp;description=Closes+a+user%27s+sub-wallet%2C+making+it+inactive+for+future+transactions.+The+closure+process+may+require+approval+%0Adepending+on+the+sub-wallet+type+and+business+\u0026amp;theme=2adde9c6a50d91a75e16dbfe\u0026amp;signature=f9c2a29ea0a5b74fd4112a6471e6f5e07416443e595877b442af1aa94b9e2484\">\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/cashfreepayments-d00050e9/MP8bOqKxh3TohVa1/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Cashfree Developer Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#6930ca\">\u003cmeta data-mint-head name=\"google-site-verification\" content=\"T69Ao_T0Ps8pkRbluKzW179qvd_aCsWISCApeSsIhRU\">\u003clink data-mint-head rel=\"canonical\" href=\"https://www.cashfree.com/docs/api-reference/prepaid-payment-instruments/wallet-management/close-wallet\">\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-reference/prepaid-payment-instruments/wallet-management/close-wallet.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://www.cashfree.com/#organization\",\"name\":\"Cashfree Developer Documentation\",\"url\":\"https://www.cashfree.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/cashfreepayments-d00050e9/6mQw7is1us8FhXrb/static/logo/light.svg?fit=max\u0026auto=format\u0026n=6mQw7is1us8FhXrb\u0026q=85\u0026s=8a2837083063d8a01e0be6b454a1baf1\"}},{\"@type\":\"WebSite\",\"@id\":\"https://www.cashfree.com/docs#website\",\"name\":\"Cashfree Developer Documentation\",\"url\":\"https://www.cashfree.com/docs\",\"publisher\":{\"@id\":\"https://www.cashfree.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://www.cashfree.com/docs/api-reference/prepaid-payment-instruments/wallet-management/close-wallet#webpage\",\"url\":\"https://www.cashfree.com/docs/api-reference/prepaid-payment-instruments/wallet-management/close-wallet\",\"name\":\"Close Wallet\",\"description\":\"Closes a user's sub-wallet, making it inactive for future transactions. The closure process may require approval depending on the sub-wallet type and business rules: - Any remaining balance is handled according to the configured closure policy.\",\"dateModified\":\"2026-03-24T07:42:41.293Z\",\"isPartOf\":{\"@id\":\"https://www.cashfree.com/docs#website\"},\"breadcrumb\":{\"@id\":\"https://www.cashfree.com/docs/api-reference/prepaid-payment-instruments/wallet-management/close-wallet#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://www.cashfree.com/docs/api-reference/prepaid-payment-instruments/wallet-management/close-wallet#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Prepaid Payment Instrument APIs\",\"item\":\"https://www.cashfree.com/docs/api-reference/prepaid-payment-instruments/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Wallets\",\"item\":\"https://www.cashfree.com/docs/api-reference/prepaid-payment-instruments/wallet-management/create-wallet\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Close Wallet\",\"item\":\"https://www.cashfree.com/docs/api-reference/prepaid-payment-instruments/wallet-management/close-wallet\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://www.cashfree.com/docs/api-reference/prepaid-payment-instruments/wallet-management/close-wallet#apireference\",\"headline\":\"Close Wallet\",\"name\":\"Close Wallet\",\"description\":\"Closes a user's sub-wallet, making it inactive for future transactions. The closure process may require approval depending on the sub-wallet type and business rules: - Any remaining balance is handled according to the configured closure policy.\",\"url\":\"https://www.cashfree.com/docs/api-reference/prepaid-payment-instruments/wallet-management/close-wallet\",\"mainEntityOfPage\":{\"@id\":\"https://www.cashfree.com/docs/api-reference/prepaid-payment-instruments/wallet-management/close-wallet#webpage\"},\"dateModified\":\"2026-03-24T07:42:41.293Z\",\"keywords\":\"wallet management, PPI, API reference, wallet operations, wallet payments\",\"publisher\":{\"@id\":\"https://www.cashfree.com/#organization\"},\"isPartOf\":{\"@id\":\"https://www.cashfree.com/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Cashfree Developer Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Cashfree Developer Documentation","nav":{"global":null,"tabs":[{"tab":"Payments","pages":[{"title":"Payments","href":"/payments/introduction"}]},{"tab":"Payouts","pages":[{"title":"Payouts","href":"/payouts/payouts/introduction"}]},{"tab":"Secure ID","pages":[{"title":"Secure ID","href":"/secure-id/introduction"}]},{"tab":"Partners and Platforms","pages":[{"title":"Partners and Platforms","href":"/partners/introduction"}]},{"tab":"Payments APIs","hidden":true,"pages":[{"title":"Payments APIs","href":"/api-reference/payments/overview"}]},{"tab":"Payouts APIs","hidden":true,"pages":[{"title":"Payouts APIs","href":"/api-reference/payouts/overview"}]},{"tab":"Secure ID APIs","hidden":true,"pages":[{"title":"Secure ID APIs","href":"/api-reference/vrs/overview"}]},{"tab":"Additional APIs","hidden":true,"groups":[{"group":"Prepaid Payment Instrument APIs","pages":[{"title":"Overview","sidebarTitle":"Overview","description":"Integrate and manage PPI APIs for wallet creation, balance checks, and transaction management in digital payments.","href":"/api-reference/prepaid-payment-instruments/overview"},{"title":"Getting Started","sidebarTitle":"Getting Started","description":"Get started with the Cashfree PPI APIs by reviewing endpoints, generating API keys, configuring webhooks, and contacting Cashfree for production access.","href":"/api-reference/prepaid-payment-instruments/getting-started"},{"title":"PPI Webhooks","sidebarTitle":"Webhooks","icon":"webhook","description":"Index of prepaid instrument (PPI) wallet webhooks, including credit events, wallet notifications, and HMAC verification for JSON payloads.","href":"/api-reference/prepaid-payment-instruments/webhooks-overview"},{"title":"Webhook Signature Verification","sidebarTitle":"Webhook Signature Verification","description":"Verify Cashfree PPI webhook signatures using your client secret and the supplied timestamp header to confirm authenticity before processing wallet events.","icon":"webhook","iconType":"solid","href":"/api-reference/prepaid-payment-instruments/webhook-signature-verification"},{"group":"Users","pages":[{"openapi":"openapi/ppi/ppi.yaml post /ppi/user","title":"Create User","description":"Creates a new user in the PPI system with the provided personal information. This endpoint enables merchants \nto onboard new users who can then be associated with wallets or cards.\n","href":"/api-reference/prepaid-payment-instruments/user-management/create-ppi-user"},{"openapi":"openapi/ppi/ppi.yaml post /ppi/user/details","title":"Get User Details","description":"Retrieves details of an existing user in the PPI system based on the provided user ID.\nReturns the user's personal information and account status.\n","href":"/api-reference/prepaid-payment-instruments/user-management/get-ppi-user-details"},{"openapi":"openapi/ppi/ppi.yaml post /ppi/user/update","title":"Update User","description":"Updates user details in the PPI system. Only the fields provided in the request body will be updated; \nall other user fields remain unchanged.\n","href":"/api-reference/prepaid-payment-instruments/user-management/update-ppi-user"}]},{"group":"User KYC","pages":[{"openapi":"openapi/ppi/ppi.yaml post /ppi/kyc/vkyc","title":"Initiate Video KYC","description":"Initiates Video KYC for a user and generates a VKYC link.\nThis endpoint creates a VKYC verification request and sends the notification across\nthe requested channels.\n","href":"/api-reference/prepaid-payment-instruments/kyc-verification/video-kyc-verification"},{"openapi":"openapi/ppi/ppi.yaml post /ppi/kyc/vkyc/details","title":"Get Video KYC Details","description":"Retrieves the current status and other details of a Video KYC verification request, using the `user_id` and `verification_id` you supplied while initiating the request.\n","href":"/api-reference/prepaid-payment-instruments/kyc-verification/get-video-kyc-status"},{"title":"Video KYC Webhooks","sidebarTitle":"Video KYC Webhooks","description":"Configure Video KYC webhooks to receive real-time notifications when VKYC verification status changes in your PPI integration.","icon":"webhook","href":"/api-reference/prepaid-payment-instruments/kyc-verification/webhook-vkyc"},{"title":"VKYC Status and Status-Code Mapping","sidebarTitle":"VKYC Status Mapping","description":"Reference for PPI Video KYC status and status-code combinations returned by VKYC APIs and webhooks, with recommended actions for each scenario.","icon":"list","href":"/api-reference/prepaid-payment-instruments/kyc-verification/vkyc-status-descriptions"}]},{"group":"Wallets","pages":[{"openapi":"openapi/ppi/ppi.yaml post /ppi/wallet","title":"Create Wallet","description":"Creates a primary wallet and the associated sub-wallets for a user based on the specified program ID. The sub-wallet types, such as meal, fuel, and gift wallets, are determined by the program configuration. If the program is linked to a card program, a card is automatically created and associated with the wallet.\n","href":"/api-reference/prepaid-payment-instruments/wallet-management/create-wallet"},{"openapi":"openapi/ppi/ppi.yaml post /ppi/wallet/credit","title":"Credit Wallet","description":"Credits funds to a specified user sub-wallet, adding money to their available balance. Supports various sub-wallet types with behaviour determined by wallet configuration.\n","href":"/api-reference/prepaid-payment-instruments/wallet-management/credit-wallet"},{"openapi":"openapi/ppi/ppi.yaml post /ppi/wallet/debit","title":"Debit Wallet","description":"Debits funds from a user's sub-wallet for purchases. The behaviour varies based on the sub-wallet type:\n\n- `GIFT_PPI`: Identifies the applicable gift card and debits the amount transactionally from both the gift card and the gift wallet. This debit completes in a single step and does not require OTP verification.\n\n- `CLOSED_LOOP_PPI`: Performs ledger maintenance only. No actual money movement occurs.\n\n- `SMALL_PPI` and `FULL_KYC_PPI`: The debit uses a two-step flow that requires OTP verification.\n 1. In your request, include the `auth` object with `mode` set to `OTP_VERIFICATION` and specify at least one channel in `auth.data.notification_modes`.\n 2. Cashfree records the request, generates an OTP, and returns a response with `status: PENDING` and `status_code: OTP_GENERATED`.\n 3. Call the [Verify Debit Wallet](/api-reference/prepaid-payment-instruments/wallet-management/verify-debit-wallet) API with the `debit_id` and OTP to complete the debit. On successful verification, the status moves to `SUCCESS`.\n","href":"/api-reference/prepaid-payment-instruments/wallet-management/debit-wallet"},{"openapi":"openapi/ppi/ppi.yaml post /ppi/wallet/debit/verify","title":"Verify Debit Wallet","description":"Completes a debit transaction that requires OTP verification for SMALL_PPI or FULL_KYC_PPI sub-wallets. Use this endpoint after the [Debit Wallet API](/api-reference/prepaid-payment-instruments/wallet-management/debit-wallet) returns status_code: OTP_GENERATED. Pass the debit_id from that response along with the OTP received by the customer through the channels configured in auth.data.notification_modes. On successful verification, the API returns status: SUCCESS and status_code: SUCCESS, and the debit transaction is completed. Each debit_id supports a maximum of three OTP verification attempts.\n","href":"/api-reference/prepaid-payment-instruments/wallet-management/verify-debit-wallet"},{"title":"Debit Status and Status-Code Mapping","sidebarTitle":"Debit Status Mapping","description":"Understand debit status and status_code combinations returned by PPI Debit Wallet and Verify Debit Wallet APIs, with recommended actions for each scenario.","icon":"list","href":"/api-reference/prepaid-payment-instruments/wallet-management/debit-status-descriptions"},{"openapi":"openapi/ppi/ppi.yaml post /ppi/wallet/refund","title":"Refund Debit Wallet","description":"Processes a refund for a previously debited transaction from a user's sub-wallet. The refund operation \ncredits the amount back to the user's sub-wallet, effectively reversing a debit transaction:\n- `GIFT_PPI`: Credits amount back to gift wallet.\n- `CLOSED_LOOP_PPI`: Credits amount back to the respective sub-wallet.\n- `STANDARD_PPI`: Credits amount back to the respective sub-wallet.\n- Refund amount cannot exceed the original debit amount.\n","href":"/api-reference/prepaid-payment-instruments/wallet-management/refund-wallet"},{"openapi":"openapi/ppi/ppi.yaml post /ppi/wallet/closure","title":"Close Wallet","href":"/api-reference/prepaid-payment-instruments/wallet-management/close-wallet"},{"openapi":"openapi/ppi/ppi.yaml post /ppi/wallet/eligibility","title":"Check Transaction Eligibility","description":"Validates a user’s eligibility to perform credit or debit transactions on a sub-wallet based on compliance rules.\n","href":"/api-reference/prepaid-payment-instruments/wallet-management/check-wallet-eligibility"},{"openapi":"openapi/ppi/ppi.yaml post /ppi/wallet/details","title":"Get Wallet Details","description":"Use this API to fetch wallet details and associated sub-wallet balances for a specified user. You can query by wallet ID, card ID, or a combination of either with a sub-wallet ID.\n","href":"/api-reference/prepaid-payment-instruments/wallet-management/get-wallet-details"},{"openapi":"openapi/ppi/ppi.yaml post /ppi/wallet/statement","title":"Get Wallet Statement","description":"Retrieves a paginated wallet statement for a user, including both credit and debit transactions for a specific sub-wallet.\n- The statement can be fetched for a specified date range. If no range is provided, the API returns transactions from the last 6 months.\n- The `from` date **cannot** be earlier than 1 year from the current date.\n- Pagination is handled using the `after` and `before` parameters, which define the `cf_statement_id` boundary for retrieving the next or previous set of records.\n- Only **one** of `after` or `before` can be passed at a time.\n","href":"/api-reference/prepaid-payment-instruments/wallet-management/get-wallet-statement"},{"title":"Wallet Webhooks","sidebarTitle":"Wallet Webhooks","description":"Configure Cashfree wallet webhooks to receive credit, debit, and refund event notifications in your prepaid instrument integration.","icon":"webhook","href":"/api-reference/prepaid-payment-instruments/wallet-management/webhook-wallet"},{"title":"Card Webhooks","sidebarTitle":"Card Webhooks","description":"Configure Cashfree Card webhooks to receive event-based notifications whenever card transactions, refunds or card status updates occur in your PPI integration.","icon":"webhook","href":"/api-reference/prepaid-payment-instruments/wallet-management/webhook-card"}]},{"group":"Beneficiaries","pages":[{"openapi":"openapi/ppi/ppi.yaml post /ppi/user/bene","title":"Create Beneficiary","description":"Creates a new beneficiary to user's Full KYC wallet by providing bank account number or VPA and other required details. Ensure the successful creation of the beneficiary before initiating a fund transfer.\n","href":"/api-reference/prepaid-payment-instruments/user-beneficiary/create-user-bene"},{"openapi":"openapi/ppi/ppi.yaml post /ppi/user/bene/details","title":"Get Beneficiary Details","description":"Retrieves details of an existing beneficiary of user in the PPI system.\n- If `bene_instrument_id` is provided, the response includes details for the specified instrument only.\n- If `bene_instrument_id` is not provided, the response includes details for all `bene_instruments` linked to the given `bene_id`.\n","href":"/api-reference/prepaid-payment-instruments/user-beneficiary/get-user-bene"},{"openapi":"openapi/ppi/ppi.yaml delete /ppi/user/bene/remove","title":"Remove Beneficiary","description":"Removes an existing beneficiary of the user in the PPI system.\n- If `bene_instrument_id` is provided, only the specified instrument is removed from the beneficiary.\n- If `bene_instrument_id` is not provided, the entire beneficiary along with all its `bene_instruments` is removed.\n","href":"/api-reference/prepaid-payment-instruments/user-beneficiary/remove-user-bene"}]},{"group":"Transfers","pages":[{"openapi":"openapi/ppi/ppi.yaml post /ppi/wallet/transfer","title":"Initiate Transfer","description":"Initiates a fund transfer from a user's FULL_KYC_PPI sub-wallet to a beneficiary account. Supports multiple transfer modes including RTGS, NEFT, IMPS, and UPI. It is an async request by default.\n\nThe beneficiary can be specified using either:\n- Existing beneficiary ID and instrument ID\n- New instrument details (bank account or UPI)\n","href":"/api-reference/prepaid-payment-instruments/transfers/initiate-transfer"},{"openapi":"openapi/ppi/ppi.yaml post /ppi/wallet/transfer/verify","title":"Verify Transfer","description":"Submits the OTP for a wallet transfer that was initiated with mode `OTP_VERIFICATION`. \nUse **Get Transfer Details** or webhooks for terminal status.\n","href":"/api-reference/prepaid-payment-instruments/transfers/verify-transfer"},{"openapi":"openapi/ppi/ppi.yaml post /ppi/wallet/transfer/details","title":"Get Transfer Details","description":"Retrieves detailed information about a specific transfer transaction, including current status, beneficiary details.\n\nThis endpoint provides comprehensive transfer information including:\n- Current transfer status and bank status\n- Beneficiary and instrument details\n- Transaction timestamps and reference numbers if transaction successfully completed\n- Sub-wallet balance after the transfer\n","href":"/api-reference/prepaid-payment-instruments/transfers/get-transfer-details"},{"title":"Transfer Webhook Events","sidebarTitle":"Transfer Webhooks","description":"Configure Transfer webhooks to receive event-based notifications whenever a wallet transfer changes status in your PPI integration.","icon":"webhook","href":"/api-reference/prepaid-payment-instruments/transfers/webhook-transfer"}]}]}]},{"tab":"Partners APIs","hidden":true,"pages":[{"title":"Partners APIs","href":"/api-reference/platforms/overview"}]},{"tab":"Additional APIs","hidden":true,"pages":[{"title":"Additional APIs","href":"/api-reference/other-apis/bbps/overview"}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/overview"}]},{"tab":"AI Stack","pages":[{"title":"AI Stack","href":"/tools-ai/overview"}]},{"tab":"Help Center","pages":[{"title":"Help Center","href":"/help/overview"}]}]},"title":"Close Wallet API | Cashfree","buildId":"dpl_EARnBX9sYeZdmtDtdMETnj8cZgAL","deploymentId":"dpl_EARnBX9sYeZdmtDtdMETnj8cZgAL","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-Dwo5Zw1g.js","utils-C7ri5h_X.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-NXX1NHuC.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BFzrXK_e.js","snippetPresets-DLhzf4mt.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-BlCO4kMh.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-B9z96fnb.js","shallow-AopVKJh8.js","getApiPlaygroundDisplay-bXnLOTlk.js","CodeSnippet-DmJ3qzrb.js","CodeSnippets-hcFGtmzn.js","Page-ChlUUCY4.js","getPastedJson-ps4MHraj.js","icon-L__7y7ys.js","MethodPill-CLOMdS5n.js","DuplicateIcon-m7x5FI4L.js","createIcon-BiD_Arde.js","DynamicMarkdown-a43r1ghB.js","SectionHeading-4c_bODjK.js","axios-vUo_bRtp.js","Markdown-DWTe9S87.js","clsx-Dhq8D58W.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CVox-mr5.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-yCZrC9EP.js"]}